📄 chap8-4-3.htm.primary
字号:
000000FF <br>
004145AF A1B4F14000 MOV
EAX,[0040F1B4] <br>
004145B4 897D10 MOV
[EBP+10],EDI <br>
004145B7 C7450C01000000 MOV DWORD
PTR [EBP+0C],00000001 <br>
004145BE 50
PUSH EAX <br>
004145BF 56
PUSH ESI <br>
004145C0 FF15F4214100 CALL
[KERNEL32!GetModuleFileNameA] <br>
004145C6 EB03 JMP
004145CB
(JUMP) <br>
004145CB E830EAFFFF CALL
00413000 <br>
004145D0 FF7510 PUSH
DWORD PTR [EBP+10] <br>
004145D3 FF750C PUSH
DWORD PTR [EBP+0C] <br>
004145D6 56
PUSH ESI <br>
004145D7 E806000000 CALL
004145E2 <br>
<br>
**当你走过这个位于004145D7的CALL, 压缩过的notepad.exe就自由运行了. 再次用 <br>
symbol loader装入. 再次来到这个CALL时, 按F8追进去. 你将看到以下代码. 不 <br>
过记着先BPX 004145D7. <br>
<br>
004145E2 64A100000000 MOV
EAX,FS:[00000000] <br>
004145E8 55
PUSH EBP <br>
004145E9 8BEC MOV
EBP,ESP <br>
004145EB 6AFF PUSH
FF <br>
004145ED 6810E04000 PUSH
0040E010 <br>
004145F2 68EC5D4100 PUSH
00415DEC <br>
004145F7 50
PUSH EAX <br>
004145F8 64892500000000 MOV FS:[00000000],ESP
<br>
004145FF 83EC14 SUB
ESP,14 <br>
00414602 C745E401000000 MOV DWORD
PTR [EBP-1C],00000001 <br>
00414609 53
PUSH EBX <br>
0041460A 56
PUSH ESI <br>
0041460B 57
PUSH EDI <br>
0041460C 8965E8 MOV
[EBP-18],ESP <br>
0041460F C745FC00000000 MOV DWORD
PTR [EBP-04],00000000 <br>
00414616 8B450C MOV
EAX,[EBP+0C] <br>
00414619 83F801 CMP
EAX,01 <br>
0041461C 7510 JNZ
0041462E
(NO JUMP) <br>
0041461E E886030000 CALL
004149A9 <br>
00414623 FF05C0F14000 INC
DWORD PTR [0040F1C0] <br>
00414629 E882F6FFFF CALL
00413CB0 <br>
0041462E 8B35C0F14000 MOV
ESI,[0040F1C0] <br>
00414634 85F6 TEST
ESI,ESI <br>
00414636 0F848D000000 JZ
004146C9 (NO JUMP)
<br>
0041463C 833DC4F1400000 CMP DWORD
PTR [0040F1C4],00 <br>
00414643 7526 JNZ
0041466B
(NO JUMP) <br>
00414645 833D6417410000 CMP DWORD
PTR [00411764],00 <br>
0041464C 741D JZ
0041466B
(NO JUMP) <br>
0041464E A164174100 MOV
EAX,[00411764] <br>
<br>
**EAX现在的值是000010CC <br>
<br>
00414653 030588184100 ADD
EAX,[00411888] <br>
<br>
**EAX现在的值是004010CC <br>
<br>
00414659 8945DC MOV
[EBP-24],EAX <br>
<br>
**[EBP-24]现在含的是004010CC <br>
<br>
0041465C FF7510 PUSH
DWORD PTR [EBP+10] <br>
0041465F FF750C PUSH
DWORD PTR [EBP+0C] <br>
00414662 FF7508 PUSH
DWORD PTR [EBP+08] <br>
00414665 FF55DC CALL
[EBP-24] <br>
<br>
**假如你追过最后这个CALL,notepad.exe将再次自由运行. <br>
由上得知, 既然[EBP-24] = 004010CC, 最后这句代码就意味着压缩过的程序在 <br>
CALL 004010CC. 如果你追进这个CALL, 你会发现notepad.exe很快就会运行了. <br>
<br>
假如你曾经追过更多shrinker v3.4压缩的程序, 你总会见到这个"CALL [EBP-24]". <br>
所以, 程序实际上正在进入已脱壳的程序的真正入口. <br>
<br>
再次装入压缩过的notepad.exe,中断之后,按F5,你将中断于004145D7行(这里你原来 <br>
设过断点). 追进去直到你到达00414665行,这里程序正要进入已脱壳程序的真正入口. <br>
<br>
现在,键入以下命令: <br>
a eip (然后按回车) <br>
jmp eip (然后按回车) <br>
按下F5 <br>
<br>
这样将改变00414665行的代码. 你会注意到在键入"jmp eip"并按下回车后,00414665的 <br>
指令现在是一个jmp.这将有效地使程序"暂停". 按下F5使你回到window,你就可以dump <br>
已经脱壳的程序到你的硬盘了. <br>
<br>
现在又要用ProcDump了,在Task的列表中的第一个list上点击鼠标右键,然后选择"Refresh <br>
list". 在Task列表中找到notepad.exe,在它的上面点击鼠标右键. <br>
然后,选中"Dump (Full)",给脱壳的程序起名存盘. <br>
再在notepad.exe上点击鼠标右键,然后选中"Kill Task". <br>
<br>
_________________________________________________________________________ <br>
<br>
改动程序入口值 <br>
<br>
如果你记得的话, 脱壳的notepad.exe程序入口是004010CC. <br>
再次使用ProcDump的PE Editor功能, 打开已脱壳的notepad.exe. <br>
<br>
在"Header Infos"一项, 你会看见程序入口值是0001454F,这当然是错误的. 如果你试着 <br>
不改动这个入口值而运行脱壳后的notepad.exe,程序将无法运行. <br>
<br>
改变入口值为Entry Poin=004010CC-基址(ImageBase ),点击"OK". <br>
<br>
现在, 运行脱壳后的notepad.exe吧,它应该正常运行了. 8) <br>
<br>
__________________________________________________________________________ <br>
<br>
<br>
最后的说明 <br>
<br>
这篇教程是为所有和我一样的newbies而作. <br>
<br>
我感谢和感激: <br>
<br>
MiZ. 从他那里我学会了脱壳的基本技巧. <br>
<br>
所有破解教程和CrackMe的作者,以及所有一直支持我的网站和论坛的Cracker们.</p>
<p align="center"><a href="../Catalog.htm"><img src="../image/navtoc.gif" width="84" height="23" border="0"></a><a href="Chap8-4-2.htm"><img src="../image/Navprev.gif" width="80" height="23" border="0"></a><a href="Chap8-4-4.htm"><img src="../image/navnext.gif" width="83" height="23" border="0"></a></p>
<hr width=735>
<div align="center"><span class="p9"><font size="2"><span class="p9"><font size="2"><span class="p9">Copyright
© 2000-2001 <a href="http://www.pediy.com/">KanXue Studio</a> All Rights
Reserved.</span></font></span></font></span></div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -