- 注册时间
 - 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
 
 
  复制代码 |   
 
 
 
 |