- 注册时间
- 2010-7-27
- 最后登录
- 2017-5-27
- 在线时间
- 6 小时
编程入门
- 魔鬼币
- 581
|
- mov eax,[ebp+8];可以省略,因为此时EAX正是参数1
- pop ebp ;恢复EBP,改造CALL
- mov eax,[eax];取字节集地址
- mov ecx,[eax+4];字节集长度
- add ecx,4 ;预留三个字节放入 retn 4 nop 指令
- push esi
- push edi
- push ebx
- mov edi,esp
- lea esi,[eax+8];字节集数据地址
- sub edi,ecx;申请空间
- mov ebx,edi;执行地址
- sub ecx,4 ;去掉retn 4 nop 指令长度
- @@: ;将字集数据放到堆栈
- lodsb
- stosb
- loop @B
- mov DWORD ptr[edi],900004C2H ;放入retn 4 nop 指令
- mov eax,ebx
- pop ebx
- pop edi
- pop esi
- jmp eax
复制代码 |
|