本文详细介绍脱壳基础知识入门之寻找OEP
一般的压缩壳,如Aspack等都有专用的脱壳机 。而加密壳(如ASProtect,Armadillo)一般很少有脱壳机,必须手工脱壳。手工脱壳一般情况是分三步:一是查找程序的真正入口点(OEP);二是抓取内存映像文件;三是输入表重建。(当然现在的加密壳复杂些,要考虑更多的东西)
OEP是OriginalEntryPoint缩写,即程序加壳前的真正的入口点。
外壳初始化的现场环境(各寄存器值)与原程序的现场环境是相同的。加壳程序初始化时保存各寄存器的值,外壳执行完毕,会恢复各寄存器内容。其代码形式一般如下:
PUSHFD ;将标志寄存器入栈保存
PUSHAD ;pusheax,ecx,edx,ebx,esp,ebp,esi,edi
…… ;外壳代码部分
POPAD ;popedi,esi,ebp,esp,ebx,edx,ecx,eax
POPFD ;恢复标志寄存器
JMPOEP ;
OEP:…… ;解压后的程序原代码为了讲述方便,本节用UPX加壳的Win98记事本来演示。首先用PEid查看加壳前的记事本:

PEid显示Notepad.exe程序是用MicrosoftVisualC++6.0编译的,接下来用UPX来加壳,方法是开个DOS窗口,用命令upxnotepad.exe。如下图所示:

这时再用PEid查看加壳的文件,PEid会给出如下信息:UPX0.89.6-1.02/1.05-1.24->Markus&Laszlo

责编:豆豆技术应用
点击搜索更多"OEP"相关信息
正在加载评论...
- 使用Photoshop鼠绘逼真的胡萝卜
- Photoshop绘制可爱玻璃效果圣诞帽
- 使用 Word 2007 制作描红字帖
- 使用 Word 2007 计算器算算式
- 在Word 2007中快速剔除答案卷中的答案内容
- 江民12.20病毒:“魔兽”变种asu和“键盘终结者”变种om
- 金山12.19病毒:傀儡虫供黑客远程控制严重威胁安全
- 诺顿网络安全特警2008新功能完全体验
- 诺顿杀毒软件正式版用户找回密码的方法
- 专家解析“小瓢虫”病毒 危害可比熊猫烧香