|
891
|
Programación / ASM / Re: Problema con Función..
|
en: 21 Mayo 2013, 01:51 am
|
Gracias MCKSys, pero no quiere andar.. no es el sizeof, funciona bien...
EDITADO:
Creo que me esta tomando la dirección de memoria, no el contenido.. pues si pongo la misma cadena a comparar si funciona.. pero.. por que ? y como debería aclarar que quiero el contenido y no la dirección de memoria ?
|
|
|
893
|
Programación / ASM / Re: Problema con Función..
|
en: 21 Mayo 2013, 01:09 am
|
Jajaja sii,, ese de ahi es error de mi mano al escribir en el foro :p
Podria ser posible que sizeof no funcione dentro de la funcion ? ( En este caso )
|
|
|
895
|
Programación / ASM / Problema con Función..
|
en: 20 Mayo 2013, 23:58 pm
|
Hola amigos! Alguien me puede aclarar por que pasa esto ? Tengo una rutina asi: mov ecx, sizeof String1 lea esi, [String1] lea edi, [String2] cld repe cmpsb je Igual jmp NoIgual
Esto seria un strcmp, bien.. eso funciona.. ahora si yo quiero meter eso dentro de una funcion, para luego llamarla pasandole string1 y string2 no funca.. digamos asi: invoke strcmp, addr String1, addr String2
strcmp proto str1:DWORD, str2:DWORD
mov ecx, sizeof str1 lea esi, [str1] lea edi, [str2] cld repe cmpsb je Igual jmp NoIgual
Igual: mov eax, 0 jmp Exit NoIgual: mov eax, 1 Exit: ret strcmp endp
Bueno, eso es todo... ¿Por que no funca?
|
|
|
897
|
Programación / ASM / Re: Solucionar WSAEWOULDBLOCK
|
en: 16 Mayo 2013, 22:04 pm
|
Ok! Solucionado... ...
.ELSEIF uMsg==WM_SOCK mov edx, lParam .IF dx==FD_CONNECT shr edx, 16 .IF dx==NULL ;Conexion establecida invoke send, sock, addr szSockStr, sizeof szSockStr, 0 .ELSE ;Error mov eax, OFFSET ThreadProc invoke CreateThread, NULL, NULL, eax, NULL, NORMAL_PRIORITY_CLASS, ADDR ThreadID invoke CloseHandle, eax .ENDIF
Listo.. he ahi la solucion.. vale aclarar que la conexion la hace un hilo.. asi no me tranca la ventana.. Y esta bueno comentar que si uso esto: invoke CreateThread, NULL, NULL, eax, NULL, CREATE_SUSPENDED, ADDR ThreadID O sea, le pongo la flag CREATE_SUSPENDED, y luego resumethread, el antivirus salta como pelota de goma jajaja Conste que mis .IF y .ELSEIF estaban bien ubicados
|
|
|
898
|
Programación / ASM / Re: Principio de Troyano ASM
|
en: 16 Mayo 2013, 21:57 pm
|
Bueno, me estoy perdiendo un poco, tendré que averiguar que es el Posix... Yo calcule abrir el olly, ver que ponía la función inet_addr y copy-pase... despues de todo, la direccion ip va a ser siempre la mia, como una constante.. asi que deberia ser siempre lo mismo... no ? msdn: The inet_addr function converts a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure. Luego de averiguar con el olly el resultado de la funcion, le pongo el valor directo dentro de sa.sin_addr y gol!
|
|
|
899
|
Programación / ASM / Re: Solucionar WSAEWOULDBLOCK
|
en: 16 Mayo 2013, 19:43 pm
|
Nuu, es verdad.. como me olvide del select.. Muchas gracias MCKSys! Voy a intentarlo, si no lo logro sigo este hilo.. EDITADO: Bueno, había escrito un montón de cosas y se me expiro la sesión, así que voy a ser breve... La msdn dice que no puedo usar o que no seria lo correcto ( entiendo yo ) usar select porque estoy usando WSAAsyncSelect, y cuando conecta me envía FD_CONNECT como un mensaje a la ventana,, eso todo bien... el problema es que al parecer, connect se pisa el palito comparado con: Conn: invoke connect.... cmp eax, 0 jne Conn o sea, me fijo si me conecte demasiado rápido y no le doy tiempo a connect... parece que volví al principio... timer quizás ?
|
|
|
|
|
|
|