利用ESP定律快速脱壳(PECompact 2.x)教程
【破文作者】云枫
【作者邮箱】jfsc2004@163.com
【个人主页】jfsc2004.ys168.com
【使用工具】od lordPE importREC
【操作系统】Windows XP
【下载地址】http://www.skycn.com/soft/15760.html
--------------------------------------------------------------------------------
【破解声明】初次写脱文,大家多多关照!
【软件名称】MP3压缩大师 V4.0
【保护方式】PECompact 2.x -> Jeremy Collake
--------------------------------------------------------------------------------
【脱壳过程】
第一次写脱文,请大家多多关照。本文只限于脱壳,不涉及破解。当然还希望能够得到作者的谅解。
先载入主程序
来到
00404BB8 B8 B0905F00 mov eax,MP3Exper.005F90B0
00404BBD 50 push eax
00404BBE 64:FF35 00000000 push dword ptr fs:[0]
00404BC5 64:8925 00000000 mov dword ptr fs:[0],esp ---------------->看这个
00404BCC 33C0 xor eax,eax
00404BCE 8908 mov dword ptr ds:[eax],ecx
00404BD0 50 push eax
00404BD1 45 inc ebp
00404BD2 43 inc ebx
一。运用esp定律
1.f8单步运行到00404BC5
看右边窗口的esp值,我这里是0012ffbc
2.好下命令 d 0012ffbc
我们发现下方的转存窗口有所变化出现:
0012FFBC E0 FF 12 00 B0 90 5F 00 ?.?_.
0012FFC4 4F 6D 81 7C 38 07 93 7C Om?8?
在0012FFBC的4个字节下下硬件写入->DWord 断点(也就是在E0 FF 12 00上下)
f9运行程序
二.找oep
运行后断在
005F90E4 51 push ecx
005F90E5 57 push edi
005F90E6 56 push esi
005F90E7 52 push edx
观察一下,不是oep阿,奇怪(这里不懂,望高手指点)
向下翻
005F915D 8985 D0120010 mov dword ptr ss:[ebp+100012D0],eax
005F9163 8BF0 mov esi,eax
005F9165 59 pop ecx
005F9166 5A pop edx
005F9167 EB 0C jmp short MP3Exper.005F9175
005F9169 03CA add ecx,edx
005F916B 68 00800000 push 8000
005F9170 6A 00 push 0
005F9172 57 push edi
005F9173 FF11 call dword ptr ds:[ecx]
005F9175 8BC6 mov eax,esi
005F9177 5A pop edx
005F9178 5E pop esi
005F9179 5F pop edi
005F917A 59 pop ecx
005F917B 5B pop ebx
005F917C 5D pop ebp
005F917D FFE0 jmp eax--------------->关键代码
005F917F 0000 add byte ptr ds:[eax],al
005F9181 0000 add byte ptr ds:[eax],al
在005F917D FFE0 jmp eax--------------->关键代码上下断点
f9运行,断下,在f8单步运行一下,到了---oep
00404BB8 M> 68 682A4700 push MP3Exper.00472A68 ; ASCII "VB5!6&vb6chs.dll"
00404BBD E8 F0FFFFFF call MP3Exper.00404BB2 ; jmp to MSVBVM60.ThunRTMain
00404BC2 0000 add byte ptr ds:[eax],al
00404BC4 98 cwde
00404BC5 0000 add byte ptr ds:[eax],al
三.dump and修复
拿出lordPE选择文件,full dump
此时不要关闭od,拿出importREC,选取进程,oep填 00404bb8-400000= 4bb8填4bb8
点自动搜索ita,再点获取输入表,发现函数都有效,最后点修复抓取文件,save.....
脱壳到此结束,谢谢大家看完。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课