标题:手动脱壳入门第十六篇 MoleBox 2.x

-------------------------------------------------------------------------------------------------------------------------------

时间:2006/8/28 17:23:55

-------------------------------------------------------------------------------------------------------------------------------

内容:

cotine

cotine
 手动脱壳入门第十六篇 MoleBox 2.x  
手动脱壳入门第十六篇 MoleBox 2.x
【脱文标题】 手动脱壳入门第十六篇 MoleBox 2.x
【脱文作者】 weiyi75[Dfcg] 
【作者邮箱】 weiyi75@sohu.com 
【作者主页】 Dfcg官方大本营 
【使用工具】 Peid,Ollydbg,ImportREC1.6f,Loadpe
【脱壳平台】 Win2K/XP
【软件名称】 IMCaster ICQ E-Marketer
【软件简介】 IMCaster ICQ E-Marketer是一个强大的ICQ即时信息查找工具。你可以根据不同的条件(如:性别、年龄、国家或者职业等等)搜索在线ICQ用户,向他们发送信息以提高你网站或企业的知名度。
【软件大小】 2.61M
【下载地址】 http://www.imcaster.com/Downloads/IMCastSetupEnt.exe
【加壳方式】 MoleBox 2.x.x -> Mole Studio [Overlay]
【保护方式】 MoleBox压缩壳
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

-------------------------------------------------------------------------------- 
【脱壳内容】 
首先Peid查壳,为MoleBox 2.x.x -> Mole Studio [Overlay],OD载入运行,无任何异常,判断其为压缩壳。
004CD61C > 60 pushad //外壳入口,和Upx等查不多。当我们脱壳上一个台阶后,普通壳就不用慢慢跟踪了。 
004CD61D E8 4F000000 call imcast.004CD671 //F8单步到这里,看Esp=0012FFA4
004CD622 2120 and dword ptr ds:[eax], esp
004CD624 76 41 jbe short imcast.004CD667
004CD626 B4 13 mov ah, 13
004CD628 3B63 51 cmp esp, dword ptr ds:[ebx+51]
004CD62B 38CA cmp dl, cl
004CD62D D8ACD0 BBB52910 fsubr dword ptr ds:[eax+edx*8+1029B5BB]
004CD634 9F lahf
004CD635 A7 cmps dword ptr ds:[esi], dword ptr es:[e>
004CD636 9B wait
004CD637 BD B2BB61F4 mov ebp, F461BBB2
004CD63C B4 C9 mov ah, 0C9
004CD63E 17 pop ss
004CD63F BB 652286EE mov ebx, EE862265
004CD644 97 xchg eax, edi
004CD645 2AED sub ch, ch
004CD647 30DD xor ch, bl
004CD649 BB A64DED09 mov ebx, 9ED4DA6
004CD64E 5D pop ebp
004CD64F FC cld
004CD650 B7 01 mov bh, 1
004CD652 C01A AD rcr byte ptr ds:[edx], 0AD
004CD655 DFEF fucomip st, st(7)
004CD657 FD std
004CD658 ED in eax, dx
004CD659 A7 cmps dword ptr ds:[esi], dword ptr es:[e>
004CD65A 6A 38 push 38
004CD65C CE into
............................................................................
启用Esp定律。 
dd 12ffa4
下硬件访问-Dword断点。
F9运行
硬件中断。
004CD5D0 61 popad // 关键字 
004CD5D1 - FFE0 jmp eax // 断在这里,往上看到Popad关键字
0048636F 55 push ebp //F8到达Oep,Loadpe直接脱壳。
00486370 8BEC mov ebp, esp
00486372 6A FF push -1
00486374 68 E0144900 push imcast.004914E0
00486379 68 2C654800 push imcast.0048652C ; jmp to MSVCRT._except_handler3
0048637E 64:A1 00000000 mov eax, dword ptr fs:[0]
00486384 50 push eax
00486385 64:8925 0000000>mov dword ptr fs:[0], esp
0048638C 83EC 68 sub esp, 68
0048638F 53 push ebx
00486390 56 push esi
00486391 57 push edi
00486392 8965 E8 mov dword ptr ss:[ebp-18], esp
00486395 33DB xor ebx, ebx
00486397 895D FC mov dword ptr ss:[ebp-4], ebx
0048639A 6A 02 push 2
0048639C FF15 C4984800 call dword ptr ds:[4898C4] ; MSVCRT.__set_app_type
004863A2 59 pop ecx
004863A3 830D B42C4A00 F>or dword ptr ds:[4A2CB4], FFFFFFFF
004863AA 830D B82C4A00 F>or dword ptr ds:[4A2CB8], FFFFFFFF
004863B1 FF15 C8984800 call dword ptr ds:[4898C8] ; MSVCRT.__p__fmode
............................................................................
脱壳后发现程序不能运行,这时需要用Imprec修复引入函数表(Import Table)
在Oep处填8636F,点IT自动搜索,然后点获输入信息,有9个指针没有修复。
千万别用等级1修复,看看如图,等级修复的些什么,这些假东西保存程序肯定无法运行的。


呵呵,用跟踪等级3为我们修复3个,剩下6个就靠我们自己了。
我以 00089100 处 004D48A8 处的指针修复举个例子。
右键-反汇编/16进制显示
004D48BF call [4D80F0] // = kernel32.dll/001F/CloseHandle //这里最先看到CloseHandle就是我们要修复的指针。
其余的方法一样,注意并不是所有的脱壳程序都可以用这个方法,如Asprotect 1.23rc4无法修复的指针就可以用这个办法修复,切勿过于依赖,每个加密壳处理方法都不相同。
于是我们手动填入 CloseHandle
同理修复。
00089120 004D4793 

CreateFileA
0008912C 004D498A

GetFileAttributesA
00089148 004D4BC9

UnmapViewOfFile
0008914C 004D4B8A

MapViewOfFile
0008915C 004D49B0

CreateFileMappingA

全部指针修复,修复抓取文件,正常运行。

破解 龙岱客已经分析的很清楚。
相关页面
http://www.chinadfcg.com/viewthread.php?tid=1737
【破解小结】
我很忙,没时间总结了,谢谢大家耐心看完!
"手动脱壳入门第十六篇"脱壳动画! 
  
 
<<<上一篇   下一篇>>> 
  

cotine
cotine
 手动脱壳入门第十六篇 MoleBox 2.x  
手动脱壳入门第十六篇 MoleBox 2.x
【脱文标题】 手动脱壳入门第十六篇 MoleBox 2.x
【脱文作者】 weiyi75[Dfcg] 
【作者邮箱】 weiyi75@sohu.com 
【作者主页】 Dfcg官方大本营 
【使用工具】 Peid,Ollydbg,ImportREC1.6f,Loadpe
【脱壳平台】 Win2K/XP
【软件名称】 IMCaster ICQ E-Marketer
【软件简介】 IMCaster ICQ E-Marketer是一个强大的ICQ即时信息查找工具。你可以根据不同的条件(如:性别、年龄、国家或者职业等等)搜索在线ICQ用户,向他们发送信息以提高你网站或企业的知名度。
【软件大小】 2.61M
【下载地址】 http://www.imcaster.com/Downloads/IMCastSetupEnt.exe
【加壳方式】 MoleBox 2.x.x -> Mole Studio [Overlay]
【保护方式】 MoleBox压缩壳
【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

-------------------------------------------------------------------------------- 
【脱壳内容】 
首先Peid查壳,为MoleBox 2.x.x -> Mole Studio [Overlay],OD载入运行,无任何异常,判断其为压缩壳。
004CD61C > 60 pushad //外壳入口,和Upx等查不多。当我们脱壳上一个台阶后,普通壳就不用慢慢跟踪了。 
004CD61D E8 4F000000 call imcast.004CD671 //F8单步到这里,看Esp=0012FFA4
004CD622 2120 and dword ptr ds:[eax], esp
004CD624 76 41 jbe short imcast.004CD667
004CD626 B4 13 mov ah, 13
004CD628 3B63 51 cmp esp, dword ptr ds:[ebx+51]
004CD62B 38CA cmp dl, cl
004CD62D D8ACD0 BBB52910 fsubr dword ptr ds:[eax+edx*8+1029B5BB]
004CD634 9F lahf
004CD635 A7 cmps dword ptr ds:[esi], dword ptr es:[e>
004CD636 9B wait
004CD637 BD B2BB61F4 mov ebp, F461BBB2
004CD63C B4 C9 mov ah, 0C9
004CD63E 17 pop ss
004CD63F BB 652286EE mov ebx, EE862265
004CD644 97 xchg eax, edi
004CD645 2AED sub ch, ch
004CD647 30DD xor ch, bl
004CD649 BB A64DED09 mov ebx, 9ED4DA6
004CD64E 5D pop ebp
004CD64F FC cld
004CD650 B7 01 mov bh, 1
004CD652 C01A AD rcr byte ptr ds:[edx], 0AD
004CD655 DFEF fucomip st, st(7)
004CD657 FD std
004CD658 ED in eax, dx
004CD659 A7 cmps dword ptr ds:[esi], dword ptr es:[e>
004CD65A 6A 38 push 38
004CD65C CE into
............................................................................
启用Esp定律。 
dd 12ffa4
下硬件访问-Dword断点。
F9运行
硬件中断。
004CD5D0 61 popad // 关键字 
004CD5D1 - FFE0 jmp eax // 断在这里,往上看到Popad关键字
0048636F 55 push ebp //F8到达Oep,Loadpe直接脱壳。
00486370 8BEC mov ebp, esp
00486372 6A FF push -1
00486374 68 E0144900 push imcast.004914E0
00486379 68 2C654800 push imcast.0048652C ; jmp to MSVCRT._except_handler3
0048637E 64:A1 00000000 mov eax, dword ptr fs:[0]
00486384 50 push eax
00486385 64:8925 0000000>mov dword ptr fs:[0], esp
0048638C 83EC 68 sub esp, 68
0048638F 53 push ebx
00486390 56 push esi
00486391 57 push edi
00486392 8965 E8 mov dword ptr ss:[ebp-18], esp
00486395 33DB xor ebx, ebx
00486397 895D FC mov dword ptr ss:[ebp-4], ebx
0048639A 6A 02 push 2
0048639C FF15 C4984800 call dword ptr ds:[4898C4] ; MSVCRT.__set_app_type
004863A2 59 pop ecx
004863A3 830D B42C4A00 F>or dword ptr ds:[4A2CB4], FFFFFFFF
004863AA 830D B82C4A00 F>or dword ptr ds:[4A2CB8], FFFFFFFF
004863B1 FF15 C8984800 call dword ptr ds:[4898C8] ; MSVCRT.__p__fmode
............................................................................
脱壳后发现程序不能运行,这时需要用Imprec修复引入函数表(Import Table)
在Oep处填8636F,点IT自动搜索,然后点获输入信息,有9个指针没有修复。
千万别用等级1修复,看看如图,等级修复的些什么,这些假东西保存程序肯定无法运行的。


呵呵,用跟踪等级3为我们修复3个,剩下6个就靠我们自己了。
我以 00089100 处 004D48A8 处的指针修复举个例子。
右键-反汇编/16进制显示
004D48BF call [4D80F0] // = kernel32.dll/001F/CloseHandle //这里最先看到CloseHandle就是我们要修复的指针。
其余的方法一样,注意并不是所有的脱壳程序都可以用这个方法,如Asprotect 1.23rc4无法修复的指针就可以用这个办法修复,切勿过于依赖,每个加密壳处理方法都不相同。
于是我们手动填入 CloseHandle
同理修复。
00089120 004D4793 

CreateFileA
0008912C 004D498A

GetFileAttributesA
00089148 004D4BC9

UnmapViewOfFile
0008914C 004D4B8A

MapViewOfFile
0008915C 004D49B0

CreateFileMappingA

全部指针修复,修复抓取文件,正常运行。

破解 龙岱客已经分析的很清楚。
相关页面
http://www.chinadfcg.com/viewthread.php?tid=1737
【破解小结】
我很忙,没时间总结了,谢谢大家耐心看完!
"手动脱壳入门第十六篇"脱壳动画! 
  
 
<<<上一篇   下一篇>>>