汇编网首页登录博客注册
240420643的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏

[2010-06-29 15:20] 程序入口stolen bytes处理

图片载入中
引用老外 LaBBa 的话。

===================== 
关于stolen bytes 
===================== 

稍微说明一下: 

每一种编译工具例如 : VC++ , Delphi , Borland , etc.. 

在OEP有一个唯一的/相同的PE头 

其中的一些是这样的: 

Push EBP 
MOV Ebp,Esp 
Add ESP , -xxxxx
Mov EAX, xxxxx

(共11bytes) 

或者: 

Push EBP 
MOV Ebp,Esp 
Add ESP , -xxxxx
Push EBX 
Push ESi 
Push EDi 
Mov EAX, xxxxxx

(共14 bytes) 

这个程序我们不知道

Add ESP ,-xxxxx

Mov EAX, yyyyy

xxxxx是多少?

当前 ESP=0012FEA8,EBP=0012FFC0

那么

Push EBP 
MOV Ebp,Esp 
Add ESP,xxxxx 执行到这里ESP=EBP=12ffc0
Mov EAX,yyyyy 执行到这里后 xxxxx=0012FFC0-12FEA8=118 Add Esp,-118, 12ffc0+(-118)=12fea8
CALL 004079B8 //当前位置EAX=0056EAB0=yyyyy Mov EAX,0056EAB0
评论次数(2)  |  浏览次数(1341)  |  类型(加密与解密) |  收藏此文  | 

[  mywiil   发表于  2010-06-29 17:59  ]

stolen bytes ??

上面的结构应该是程序在局部变量开辟内存时的处理方式。看着眼熟的很哟。呵呵

[  gsyangchao   发表于  2011-10-09 10:43  ]

非常不错!

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码