【文章标题】: UPX手动脱壳
【文章作者】: fonge
【作者邮箱】: fonge520@163.com
【作者QQ号】: 170247260
【软件名称】: 周公解梦6.85 作者RICHIE
【软件大小】: 443K
【下载地址】: 自己搜索下载
【保护方式】: UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi)
【编写语言】: Borland Delphi 4.0 - 5.0
【使用工具】: ollydbg1.10 peid0.94 recimport v1.4.2+ procdump
【操作平台】: 我的是winxp
【软件介绍】: procdump内建脱壳器直接脱脱不了
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
OD载入zhougongJM.exe
00549E80 > 60 pushad ///停在了这里
00549E81 BE 00E04D00 mov esi, 004DE000
00549E86 8DBE 0030F2FF lea edi, [esi+FFF23000]
00549E8C C787 D4F41000 9>mov dword ptr [edi+10F4D4], C7C7AF90
00549E96 57 push edi
00549E97 83CD FF or ebp, FFFFFFFF
00549E9A EB 0E jmp short 00549EAA
00549E9C 90 nop
00549E9D 90 nop
00549E9E 90 nop
00549E9F 90 nop
00549EA0 8A06 mov al, [esi]
F8一次,停在00549E81处,看寄存器(FPU)窗口ESP呈红色,显示为0012FFA4
好,我们下hr 0012FFA4
00549FFC 66:8B07 mov ax, [edi]
00549FFF 83C7 02 add edi, 2
0054A002 ^ EB E2 jmp short 00549FE6
0054A004 61 popad
0054A005 ^ E9 D21CFCFF jmp 0050BCDC \\\停在这里,0050BCDC就是OEP,F8直接跟进
0054A00A 0000 add [eax], al
0054A00C 0000 add [eax], al
0054A00E 0000 add [eax], al
0054A010 0000 add [eax], al
0054A012 0000 add [eax], al
0054A014 0000 add [eax], al
来到
0050BCDC 55 push ebp ////OEP处
0050BCDD 8BEC mov ebp, esp
0050BCDF B9 21000000 mov ecx, 21
0050BCE4 6A 00 push 0
0050BCE6 6A 00 push 0
0050BCE8 49 dec ecx
0050BCE9 ^ 75 F9 jnz short 0050BCE4
0050BCEB 51 push ecx
0050BCEC 53 push ebx
0050BCED B8 3CBA5000 mov eax, 0050BA3C
这个时候用procdump或loadpep完全DUMP这个进程
运行ImportREC 1.6,选择这个进程,把OEP改为 0050BCDC-0040000=0010BCDC ,点IT AutoSearch,指针全部有效。
FixDump!修复成功!!
--------------------------------------------------------------------------------
【经验总结】
脱这个壳没什么挑战性!
一载入时就往下看,直接就到了
00549FFC 66:8B07 mov ax, [edi]
00549FFF 83C7 02 add edi, 2
0054A002 ^ EB E2 jmp short 00549FE6
0054A004 61 popad
0054A005 ^ E9 D21CFCFF jmp 0050BCDC \\\F2下断,F9断下,F8直接跟进\\\或者将光标移到这,按F4执
行到这行
0054A00A 0000 add [eax], al
0054A00C 0000 add [eax], al
0054A00E 0000 add [eax], al
0054A010 0000 add [eax], al
0054A012 0000 add [eax], al
0054A014 0000 add [eax], al
很轻松!入门的可以拿这个来玩玩!
--------------------------------------------------------------------------------
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课