手动脱壳入门第七篇EZIP 1.0
【脱文标题】 手动脱壳入门第七篇EZIP 1.0
【脱文作者】 weiyi75[Dfcg]
【作者邮箱】 weiyi75@sohu.com
【作者主页】 Dfcg官方大本营
【使用工具】 Peid,Ollydbg,Loadpe,ImportREC
【脱壳平台】 Win2K/XP
【软件名称】 Notepad.exe
【软件简介】 EZIP 1.0 加壳的一个Win98的记事本
【软件大小】 33.8KB
【加壳方式】 EZIP 1.0 -> Jonathan Clark [Overlay]
【保护方式】 EZIP
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:
软件截图

好现在我们来手动脱一个EZIP1.0加壳的记事本看看它的特性。
我们看到加壳后文件大小79.3k,原Win98下的记事本52K,看来这个程序不是已压缩文件大小为目的,只是个简单保护程序不被反汇编的简单加壳程序。
首先必须的工具要准备好
附件中壳为Peid测壳为EZIP 1.0 -> Jonathan Clark [重叠]
手动脱壳建议大家用Ollydbg,工作平台Win2000,WinXp,Win9x不推荐。
手动脱壳时,用Olldbg载入程序,脱壳程序里面会有有好多循环。对付循环时,只能让程序往前运行,基本不能让它往回跳,要想法跳出循环圈。不要用Peid查入口,单步跟踪,提高手动找入口能力。
用OD载入程序后。
这次没有任何提示,应为这个壳是增肥壳,所以Od无压缩提示。
停在这里
0040D0BE N> $ /E9 19320000 jmp Notepad.004102DC 开始地点,和我们平时看到的Pushad等不同。怎样找Oep呢,只能在程序跨段跳跃时,地址变化很大时寻找Oep,一般通过Jmp,Ret等语句跨段。
0040D0C3 . |E9 7C2A0000 jmp Notepad.0040FB44
0040D0C8 $ |E9 19240000 jmp Notepad.0040F4E6
0040D0CD $ |E9 FF230000 jmp Notepad.0040F4D1
0040D0D2 . |E9 1E2E0000 jmp Notepad.0040FEF5
0040D0D7 $ |E9 882E0000 jmp Notepad.0040FF64
0040D0DC $ |E9 2C250000 jmp Notepad.0040F60D
0040D0E1 $ |E9 AE150000 jmp Notepad.0040E694
0040D0E6 $ |E9 772B0000 jmp Notepad.0040FC62
0040D0EB $ |E9 87020000 jmp Notepad.0040D377
0040D0F0 $ |E9 702E0000 jmp Notepad.0040FF65
如无特别提示,单步跟踪脱壳均用F8键步过。
004102DC /> \55 push ebp 跳到这里。
004102DD |. 8BEC mov ebp, esp
004102DF |. 81EC 28040000 sub esp, 428
004102E5 |. 53 push ebx
004102E6 |. 56 push esi
004102E7 |. 57 push edi
004102E8 |. 8D85 94FCFFFF lea eax, dword ptr ss:[ebp-36C]
004102EE |. 50 push eax
004102EF |. E8 FCCDFFFF call Notepad.0040D0F0 远程Call用F8过。
004102F4 |. 59 pop ecx
004102F5 |. 85C0 test eax, eax
004102F7 |. 75 05 jnz short Notepad.004102FE 跳
004102F9 |. E9 8C030000 jmp Notepad.0041068A
004102FE |> \68 00800000 push 8000 到这里。
00410303 |. 6A 00 push 0
00410305 |. FF95 DCFCFFFF call dword ptr ss:[ebp-324] ; kernel32.GlobalAlloc
0041030B |. 8985 3CFCFFFF mov dword ptr ss:[ebp-3C4], eax
...................................................
0041033A |. 68 00304100 push Notepad.00413000 ; ASCII "1.1.3"
0041033F |. 8D85 44FCFFFF lea eax, dword ptr ss:[ebp-3BC]
00410345 |. 50 push eax
00410346 |. E8 E7CCFFFF call Notepad.0040D032 远程Call用F8过。