中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 看雪学院专区 > 加壳与脱壳
轻松解被MoleBox打包了的程序
作者:佚名 时间:2006-12-13 18:41 出处:pediy.com 责编:月夜寒箫
              摘要:轻松解被MoleBox打包了的程序
【文章标题】: 轻松解被MoleBox打包了的程序
【文章作者】: wynney
【软件名称】: flashfxp 3.3.7(bulid 1129) RC1
【下载地址】: 可以问LOVE[BCG][DFCG]兄要 ^_^
【保护方式】: 由MoleBox打包
【软件介绍】: LOVE[BCG][DFCG]干的好事 哈哈
【作者声明】: 今天很无聊,看雪论坛也似乎没以前热闹了,于是,在电脑里找了下,发现先前做的这么个记录,便重新整理下,大虾飘过
--------------------------------------------------------------------------------
【详细过程】
  不记得什么时候了,在一蓑烟雨论坛上看到烈火兄的脱壳申请,觉得有点意思,就拿来玩了下,一点经验仅供大家参考了
  
  忽略所有异常
  一、先去OEP溜达下吧
  
  程序入口
  
引用:
  0072FB53 >  E8 00000000        call flashfxp.0072FB58   ;EP,F8
  0072FB58    60                 pushad               
  0072FB59    E8 4F000000        call flashfxp.0072FBAD   ;ESP=0012FFA0,hr 0012FFA0,Shift+F9 4次
  

  这里为什么Shift+F9 4次?
  自己跟下就知道了,easy
  
  
引用:
  00715B57    83C7 08            add edi,8                ;第4次中断在这里,删除硬件断点,向下拉下看看。。
  00715B5A    FF96 1CCB3200      call dword ptr ds:[esi+32CB1C]
  00715B60    95                 xchg eax,ebp
  00715B61    8A07               mov al,byte ptr ds:[edi]
  00715B63    47                 inc edi
  00715B64    08C0               or al,al
  00715B66  ^ 74 DC              je short flashfxp.00715B44
  00715B68    89F9               mov ecx,edi
  00715B6A    57                 push edi
  00715B6B    48                 dec eax
  00715B6C    F2:AE              repne scas byte ptr es:[edi]
  00715B6E    55                 push ebp
  00715B6F    FF96 20CB3200      call dword ptr ds:[esi+32CB20]
  00715B75    09C0               or eax,eax
  00715B77    74 07              je short flashfxp.00715B80
  00715B79    8903               mov dword ptr ds:[ebx],eax
  00715B7B    83C3 04            add ebx,4
  00715B7E  ^ EB E1              jmp short flashfxp.00715B61
  00715B80    FF96 28CB3200      call dword ptr ds:[esi+32CB28]
  00715B86    8BAE 24CB3200      mov ebp,dword ptr ds:[esi+32CB24]
  00715B8C    8DBE 00F0FFFF      lea edi,dword ptr ds:[esi-1000]
  00715B92    BB 00100000        mov ebx,1000
  00715B97    50                 push eax
  00715B98    54                 push esp
  00715B99    6A 04              push 4
  00715B9B    53                 push ebx
  00715B9C    57                 push edi
  00715B9D    FFD5               call ebp
  00715B9F    8D87 1F020000      lea eax,dword ptr ds:[edi+21F]
  00715BA5    8020 7F            and byte ptr ds:[eax],7F
  00715BA8    8060 28 7F         and byte ptr ds:[eax+28],7F
  00715BAC    58                 pop eax
  00715BAD    50                 push eax
  00715BAE    54                 push esp
  00715BAF    50                 push eax
  00715BB0    53                 push ebx
  00715BB1    57                 push edi
  00715BB2    FFD5               call ebp
  00715BB4    58                 pop eax
  00715BB5    61                 popad
  00715BB6    8D4424 80          lea eax,dword ptr ss:[esp-80]
  00715BBA    6A 00              push 0
  00715BBC    39C4               cmp esp,eax
  00715BBE  ^ 75 FA              jnz short flashfxp.00715BBA
  00715BC0    83EC 80            sub esp,-80
  00715BC3  ^ E9 8890F0FF        jmp flashfxp.0061EC50       ;跳向OEP,直接F4下来,F8下到OEP
  

  
  
引用:
  0061EC50    55                 push ebp                    ;OEP,Delphi程序的入口
  0061EC51    8BEC               mov ebp,esp
  0061EC53    83C4 E0            add esp,-20
  0061EC56    53                 push ebx
  

  到了OEP呢,大家先不要着急脱壳,还是先打开ImportREC。。看看,你会发现有35个无效(在你那有多少个我就不知了)
  
  
  二、IAT加密处理
  
  重新加载程序
  依旧像第一步那样,单步到0072FB59,hr 0012FFA0(这样做是方便我们到达OEP)
  命令行bp VirtualProtect,Shift+F9
  中断2次后返回,断点不要取消哦,看看。。。
  
引用:
  00736952    8B15 04267400      mov edx,dword ptr ds:[742604]      ;返回到这里
  00736958    8B45 E8            mov eax,dword ptr ss:[ebp-18]
  0073695B    0342 08            add eax,dword ptr ds:[edx+8]
  0073695E    8945 F4            mov dword ptr ss:[ebp-C],eax
  00736961    C705 94287400 0000>mov dword ptr ds:[742894],0
  0073696B    6A 00              push 0
  0073696D    68 C41B7400        push flashfxp.00741BC4             ; ASCII "EXECUTABLE"
  00736972    8B0D 90287400      mov ecx,dword ptr ds:[742890]      ; flashfxp.00400100
  

  
  补习下英语EXECUTABLE,呵呵
  继续Shift+F9中断一次,返回
  
  
引用:
  00736F9C    85C0               test eax,eax                       ;返回到这里,Ctrl+B:89 01
  00736F9E    75 0A              jnz short flashfxp.00736FAA
  00736FA0    B9 0B0000EF        mov ecx,EF00000B
  00736FA5    E8 642B0000        call flashfxp.00739B0E
  00736FAA    8B4D 08            mov ecx,dword ptr ss:[ebp+8]
  00736FAD    8B55 F8            mov edx,dword ptr ss:[ebp-8]
  00736FB0    8B02               mov eax,dword ptr ds:[edx]
  00736FB2    8901               mov dword ptr ds:[ecx],eax         ;就是这里对IAT加密处理了,nop掉
  00736FB4    8D4D F4            lea ecx,dword ptr ss:[ebp-C]
  00736FB7    51                 push ecx
  00736FB8    8B55 F0            mov edx,dword ptr ss:[ebp-10]
  00736FBB    52                 push edx
  00736FBC    6A 04              push 4
  00736FBE    8B45 08            mov eax,dword ptr ss:[ebp+8]
  00736FC1    50                 push eax
  00736FC2    FF15 2C277400      call dword ptr ds:[74272C]         ; kernel32.VirtualProtect
  

  取消先前下的VirtualProtect断点,看看我们开始下的hr断点,还在。。呵呵
  准备到OEP了,Shift+F9,4次。。。
  
  
  和第一步骤一样。。。
  
引用:
  00715B57    83C7 08            add edi,8                          ;中断在这里,取消硬件断点
  00715B5A    FF96 1CCB3200      call dword ptr ds:[esi+32CB1C]
  00715B60    95                 xchg eax,ebp
  00715B61    8A07               mov al,byte ptr ds:[edi]
  00715B63    47                 inc edi
  00715B64    08C0               or al,al
  00715B66  ^ 74 DC              je short flashfxp.00715B44
  00715B68    89F9               mov ecx,edi
  00715B6A    57                 push edi
  00715B6B    48                 dec eax
  00715B6C    F2:AE              repne scas byte ptr es:[edi]
  00715B6E    55                 push ebp
  00715B6F    FF96 20CB3200      call dword ptr ds:[esi+32CB20]
  00715B75    09C0               or eax,eax
  00715B77    74 07              je short flashfxp.00715B80
  00715B79    8903               mov dword ptr ds:[ebx],eax
  00715B7B    83C3 04            add ebx,4
  00715B7E  ^ EB E1              jmp short flashfxp.00715B61
  00715B80    FF96 28CB3200      call dword ptr ds:[esi+32CB28]
  00715B86    8BAE 24CB3200      mov ebp,dword ptr ds:[esi+32CB24]
  00715B8C    8DBE 00F0FFFF      lea edi,dword ptr ds:[esi-1000]
  00715B92    BB 00100000        mov ebx,1000
  00715B97    50                 push eax
  00715B98    54                 push esp
  00715B99    6A 04              push 4
  00715B9B    53                 push ebx
  00715B9C    57                 push edi
  00715B9D    FFD5               call ebp
  00715B9F    8D87 1F020000      lea eax,dword ptr ds:[edi+21F]
  00715BA5    8020 7F            and byte ptr ds:[eax],7F
  00715BA8    8060 28 7F         and byte ptr ds:[eax+28],7F
  00715BAC    58                 pop eax
  00715BAD    50                 push eax
  00715BAE    54                 push esp
  00715BAF    50                 push eax
  00715BB0    53                 push ebx
  00715BB1    57                 push edi
  00715BB2    FFD5               call ebp
  00715BB4    58                 pop eax
  00715BB5    61                 popad
  00715BB6    8D4424 80          lea eax,dword ptr ss:[esp-80]
  00715BBA    6A 00              push 0
  00715BBC    39C4               cmp esp,eax
  00715BBE  ^ 75 FA              jnz short flashfxp.00715BBA
  00715BC0    83EC 80            sub esp,-80
  00715BC3  ^ E9 8890F0FF        jmp flashfxp.0061EC50                 ;直接F4下来,跳向OEP
  

  LordPE脱壳,ImportREC修复,全部有效
  
  Btw:你如果慢慢跟踪你会发现里面一层是UPX的壳,所以,脱壳文件使用PEID查得显示
  UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
  fi查得是Delphi的,为了方便汉化使用FixRes修复下资源,Done!
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年06月15日 14:32:46
所上传文件
flashfxp.part1.rar (上传时间2006-06-15,18:01,1000 KB,96 次点击)
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有