| 
注册时间2005-12-14
阅读权限10
最后登录1970-1-1UID5199 周游历练 
 
 该用户从未签到 | 
 
| 利用ESP定律快速脱壳(PECompact 2.x)教程 
 【破文作者】伤风
 【作者邮箱】[email protected]
 【个人主页】www.66h6.com
 【使用工具】od lordPE importREC(工具在主页有下的)
 【操作系统】Windows 2000
 
 【下载地址】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.....
 脱壳到此结束,谢谢大家看完
 | 
 |