Cita de: Sagrini en 31 Enero 2011, 20:19 PM
Y... de donde sacas esos bytes nulos?Código (asm) [Seleccionar]
.386
.model flat, stdcall
option casemap:none
.code
start:
push word 0x9999
mov eax, 0x77b6ef66 ;sleep
call eax
mov eax, 0x77b72aef ;exit process
call eax
end start
Ehh, asi deberia ir...
pues los bytes nulos me aparecen en el olydbg si en lugar de empujar el valor en en decimal 99999999 pongo 9999, y en los opcodes ese número aparece como 0f270000.
Al principio no le encontraba mucho sentido, pero me di cuenta de que 9999 en hexadecimal es 270f en lugar de 0f27, con lo cual los ceros que pone a la derecha en realidad serían ceros a la izquierda, resultado de pasar los argumentos en la forma little endian.
Y no sé cómo deshacerme de los dichosos ceros, he visto algo sobre utilizar xor, pero en este caso no se me ocurre el cómo utilizarlo.