gracias cpu pero no funciono
el tutorial del que me guio esta hecho para fasm y ahi si funciona con sus respectivos cambios pero en masm no.(empezare con fasm pero igual me gustaria saber que esta pasando)
@.:UND3R:. tenias razon era masm no nasm en todo caso
ya se cual es el error pero no como solucionarloel delta offsetno esta sirviendo cuando le digo:
lib db "User32.dll",0
add ecx,offset lib
push ecx
al parecer no esta tomando la direccion que indica la ubicacion de la cadena "user32.dll" por eso cuando lo compilo funciona correctamente pero cuando lo convierto en shellcode no.
para llegar a esa Conclusión probe lo siguiente:
en el codigo en c carge User32.dll necesaria para MessageBoxA
char code[] = "mi shellcode";
int main()
{
LoadLibrary("User32.dll");
int (*func)();
func = (int (*)()) code;
(int)(*func)();
}
y le quite el delta offset a el codigo en asm
.386
.model flat,stdcall
option casemap:none
.code
lib db 'User32.dll',0
inicio:
mov ecx,offset lib
mov eax,75a62864h ;direccion de loadlibraryA
push ecx
call eax
push 0
push 0
push 0
push 0
mov eax,76d3ea71h ;//direccion de MessageBoxA
call eax
mov eax,75a62acfh // exitprocess
call eax
end inicio
en ese caso si sale la ventanita e_e