宇你同行 發表於 2008-10-8 19:03:59

UPX程序破解过程

入门级的破解,用ollydbg<br />

我用UPX将NOTEPAD.EXE加壳,选择OllyDbg 1.09d来脱壳。首先加载被加壳的程序,<br />

程序直接定位到01014110 $60 PUSHAD处,选择CTRL F 输入查找内容&quot;POPAD&quot;,<br />

OD定位到0101425E&gt; 61 POPAD 处,光标点到1425E, F4运行到该行,F8单步<br />

到0101425F.-E9 7C28FFFF    JMP NOTEPAD.01006AE0,此处即为OEP<br />

F7单步跟入,定位到程序真正入口:01006AE0   6A 70 PUSH 70,呵呵,<br />

此时选择OD 的 OllyDump / Dump Debug Process. 去掉复选框&quot;Rebuild Import&quot;<br />

,(我需要ImpRec对其输入表重建)。选择Dump,生成新的文件,此时不能直接运行,<br />

(会提示:应用程序正常初始化(0xc0000005)失败。请单击&quot;确定&quot;,终止应用<br />

程序)。因为没有Rebuild Import table。 运行Import REConstructor 1.6<br />

Final, 同时运行加壳程序, 在ImpRec中找到加壳程序所在进程,可以看到<br />

IAT Infos: OEP 00014110是被做过手脚了:)<br />

输入真正的OEP 0006AE0(注意是RVA,需要减掉Image Base 01000000), 选择<br />

IAT AutoSearch , ImpRec 提示 Fond address ,点击确定后选择&quot;Get Imports&quot;<br />

看到Imported Functions Found下面的输入表函数都是valid, 点击Fix Dump<br />

选择刚刚Dump出来的那个文件,确定即可。<br />

运行程序,发现已经可以运行了,脱壳成功!!!<br />



<br />
頁: [1]
查看完整版本: UPX程序破解过程