Les doy una pista para hacerlo correr en Olly, en esta direccion:
00401122 FF15 A4324300 CALL DWORD PTR DS:[<&KERNEL32.VirtualAll>; kernel32.VirtualAlloc
00401128 8BC8 MOV ECX,EAX
0040112A 894D E8 MOV DWORD PTR SS:[EBP-18],ECX
0040112D C601 C3 MOV BYTE PTR DS:[ECX],0C3 ; <-- Cambiar el 0C3 por 90
00401130 C641 01 EB MOV BYTE PTR DS:[ECX+1],0EB
hay qeu cambiar el MOV BYTE PTR DS:[ECX],0C3
por:
MOV BYTE PTR DS:[ECX],90
de esta forma evitamos pasar por el ret que nos tira afuera
luego damos RUN y en lugar de parar en el RET parara en el NOP, luego SHIFT+F9 y sale corriendo sin problemas
ese truco lo uso mi amigo YODA en NTKrnl PROTECTOR
suerte.
solid.