用Ollydbg手脱UPX加壳的ImportREC英文版
ImportREC.exe 脱壳
【目 标】:ImportREC英文版
【工 具】:Olydbg1.10、eXeScope
【任 务】:简单的脱壳
【操作平台】:Windows XP sp2
【软件简介】:UPX加壳的ImportREC
【加壳方式】:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
【保护方式】:UPX普通壳
【作 者】:神话灵芝
【相关链接】:自己搜索下
【脱壳声明】:新手啦!脱来玩玩,练练手,自己汉化啊~~~:)
―――――――――――――――――――――――――――――――――
【脱壳过程】:
用Od载入程序.
代码:
--------------------------------------------------------------------------------
0047AD90 60 pushad //进入OD后停在这
0047AD91 BE 00104500 mov esi,ImportRE.00451000
0047AD96 8DBE 0000FBFF lea edi,dword ptr ds:[esi+FFFB0000]
0047AD9C 57 push edi
0047AD9D 83CD FF or ebp,FFFFFFFF
0047ADA0 EB 10 jmp short ImportRE.0047ADB2
0047ADA2 90 nop
0047ADA3 90 nop
0047ADA4 90 nop
0047ADA5 90 nop
0047ADA6 90 nop
0047ADA7 90 nop
0047ADA8 8A06 mov al,byte ptr ds:[esi]
0047ADAA 46 inc esi
0047ADAB 8807 mov byte ptr ds:[edi],al
0047ADAD 47 inc edi
0047ADAE 01DB add ebx,ebx
0047ADB0 75 07 jnz short ImportRE.0047ADB9
--------------------------------------------------------------------------------
按Crtl+F向下找POPAD,
在文本框内输入POPAD,回车.
代码:
--------------------------------------------------------------------------------
0047AF0B 61 popad
//关键字. F2下断点,F9运行到这里,清除断点.
0047AF0C - E9 449FFBFF jmp ImportRE.00434E55
// 入口点.
0047AF11 0000 add byte ptr ds:[eax],al
0047AF13 0000 add byte ptr ds:[eax],al
0047AF15 0000 add byte ptr ds:[eax],al
0047AF17 0000 add byte ptr ds:[eax],al
0047AF19 0000 add byte ptr ds:[eax],al
0047AF1B 0000 add byte ptr ds:[eax],al
0047AF1D 0000 add byte ptr ds:[eax],al
0047AF1F 0000 add byte ptr ds:[eax],al
0047AF21 0000 add byte ptr ds:[eax],al
0047AF23 0000 add byte ptr ds:[eax],al
...................................................
00434E55 55 push ebp
//用Od的Dump插件直接脱壳。保存为1.exe(随便取个名字)
00434E56 8BEC mov ebp,esp
00434E58 6A FF push -1
00434E5A 68 302E4500 push ImportRE.00452E30
00434E5F 68 A83F4300 push ImportRE.00433FA8
00434E64 64:A1 00000000 mov eax,dword ptr fs:[0]
00434E6A 50 push eax
00434E6B 64:8925 0000000>mov dword ptr fs:[0],esp
00434E72 83EC 58 sub esp,58
00434E75 53 push ebx
00434E76 56 push esi
00434E77 57 push edi
00434E78 8965 E8 mov dword ptr ss:[ebp-18],esp
00434E7B FF15 44D24400 call dword ptr ds:[44D244];kernel32.GetVersion
--------------------------------------------------------------------------------
这个程序的输入表没有破坏,可以直接运行.
用eXeScope.exe打开刚保存的1.exe.什么都可以改了~~~
[课程]Android-CTF解题方法汇总!