Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - x64core

#881
Cita de: Eternal Idol en 19 Junio 2012, 22:20 PM
Si, hace años, incluso mi primer modulo de modo Kernel lo escribi en assembly pero para APRENDER y la mejor manera de aprender es probando y leyendo hasta dar con la solucion.

No encuentra el simbolo, tenes que hacer que coincidan exactamente (podes verlos con DUMPBIN).

si, MI ERROR! mie**! estab ocupando el notepad para escribir asm! y era PROTO no proto!!!!
gracias Eternal , por cierto eso hice tambien mire el .obj
#882
Cita de: Eternal Idol en 19 Junio 2012, 13:15 PM
¿Y cual era el problema sin "C"? El "C" es para C++ y tu archivo es .c ... pone la convencion de llamada:

extern unsigned long __stdcall MyTest (unsigned long Param1, unsigned long Param2);

Tendras que exportar el simbolo como _MyTest@8 ... segui probando ya que esto practicamente solo es util para hacer pruebas.
crei que lo habias hecho :P
ahora solo tengo un error:
drvmain.obj : error LNK2019: unresolved external symbol _MyTest@0 referenced in function _DriverEntry@8

creo que hay algo malo en el asm :P
modifique el asm como loco, por ahora lo tengo así:
.386
.model flat, C

public MyTest

MyTest PROTO

.code

MyTest proc public
push eax
push edx
mov eax,50
mov edx,100
add eax,edx
ret
MyTest endp
end


PD. por cierto desinclui el .h creo que es lo mismo si pongo la declaracion extern en el .c ...
de todos modos me daba error en el .h cuando
escribia:

extern {
   unsigned long __stdcall MyTest();
}

error:
hd1.h(2) : error C2059: syntax error : '{'

quite los {, }
y me da el primer error que muestro
#883
Buenas a todos, me gustaria saber como enlazar funciones creadas en asm ( con masm32 ) para un driver hecho en C, intente hacerlo así:

extern "C"{
unsigned long MyTest (  unsigned long Param1, unsigned long Param2);
}


intente primero sin "C" luego se lo agrege, pero me da error para a la hora de compilarlo :P


1>C:\header1.h(3) : error C2059: syntax error : 'string'
1>C:\drvmain.c(16) : error C4013: 'MyTest' undefined; assuming extern returning int



ED:

mi .asm:


.386
.model flat, c

DbgPrint PROTO stdcall, :DWORD, :VARARG
MyTest PROTO stdcall, :DWORD, :DWORD

.data
string1 db "ASM",0
.code
MyTest proc Param1:DWORD , Param2:DWORD
invoke DbgPrint, offset string1
mov eax, 0
ret
MyTest endp
end


en el .c solo hago una llamada a la funcion

Bueno ya intente incluir el .asm en el SOURCES y hacer build /Z pero me da error
#884
Buenas vengo a pedir os vuestra ayuda, veran estoy leyendo unos PDFs de una web que estan por capitulos , mi problema es que
la direccion de la web tiene la direccion asi:

downloads/products/92832878/462846384-cap10.pdf
entonces quiero buscar los demas capitulos pero no puedo ir comprobando cada numero o letra, de hecho hice lo más logico pero
no funciono, y CREO que se llama FTP para acceder a la parte donde puedo ver todos los archivos que se encuentran en ese
directorio o como puedo hacer? gracias :)
#885
Programación C/C++ / Re: Error en IOCTL ???
17 Junio 2012, 00:02 AM
Cita de: Ferno en 16 Junio 2012, 23:58 PM
¿El casteo no debería ser a (PacketToSend*), el cual es el tipo de mData?

Ahora bien, es un error de sintaxis. Postea un poco más de código alrededor, hay algo que no estás cerrando.
Prueba también haciendo:

mData = (mData*) (Irp->AssociatedIrp.SystemBuffer);

gracias Ferno , ultimamente no me estoy fijando en errores sencillos :S
#886
Ingeniería Inversa / Re: Recurso comprimido
16 Junio 2012, 23:58 PM
gracias a todos, apuromafo me ayudo :) enjoy por los unpackers, como hacen la vida más facil   :xD
#887
Programación C/C++ / Error en IOCTL ???
16 Junio 2012, 23:55 PM
Buenas estoy tratando de terminar un IOCTL, y no puedo terminar de compilarlo por un misero error, todo lo tengo bien,
el error es este:

drv.c(129) : error C2059: syntax error : ')'


la linea de codigo :

mData = (mData*) Irp->AssociatedIrp.SystemBuffer;


mData la declaro así:

PacketToSend* mData;

es un puntero a una estructura nada más. mi codigo deberia compilarse!  :huh:

cualquier ayuda, gracias
#888
gracias a todos, los agradece
#889
Foro Libre / Re: Sus escritorios
16 Junio 2012, 12:49 PM
@songoku:

muy buenos songoku, seguramente tu maquina i7 la tienes con el kubuntu  :xD no creo que con windows...
por cierto... firefox? :| a mi firefox en mi doble core me anda lento mil veces más rapido el chrome :P incluso la nueva version de ff
#890
Buenas a todos vengo con este codigo curioso, estaba codeando y tenia problemas para acceder a los campos, mi logica me decia
una cosa XD, vean:


#include <Windows.h>
struct hola
{
DWORD a;
DWORD b;
DWORD* c;
};
hola jh;
int main()
{

jh.a = 10;
jh.b = 20;

DWORD* temp =  &jh.b;

temp = (DWORD*) temp + 4;

return 0;
}


pero por ejemplo si el puntero temp lo quiero incrementar +2 como seria? ojo no quiero incremntar 2 posiciones sino simplemente sumarle 2...
intente hacerle un casting de char* pero no funciono :|

alguien sabe?


ED: ( 5 min despues XD ) si funciono con el casting de unsigned char* haha, siempre en la madrugada me salen estos pequeños errores, quiza e sueño XD