吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3259|回复: 15

[原创逆向图文] 手脱MoleBox打包壳

  [复制链接]
千羽huilai 发表于 2018-9-29 02:54 | 显示全部楼层 |阅读模式

前言:看到本论坛没有这类的脱文   我就发一个吧    (留个纪念) 为以后忘了或者学习手脱的朋友
我这里已windows 64位操作系统手脱  (大家可以在32位或xp下脱吧)  懒得点可以直接用脚本或脱壳机脱
查客:MoleBox V2.3X -> MoleStudio.com [Overlay] *
拖进od:点否
004E3BD3 >  E8 00000000     call 多记忆桌.004E3BD8        //入口点
004E3BD8    60              pushad
004E3BD9    E8 4F000000     call 多记忆桌.004E3C2D         //这里用ESP定律
004E3BDE  ^ 74 A9           je short 多记忆桌.004E3B89
004E3BE0    44              inc esp
004E3BE1    27              daa
004E3BE2    815A A1 70BAB37>sbb dword ptr ds:[edx-0x5F],0x7EB3BA70
004E3BE9    1E              push ds
004E3BEA    50              push eax
004E3BEB    4C              dec esp
004E3BEC    FFEE            jmp far esi                              ; 非法使用寄存器
004E3BEE    6F              outs dx,dword ptr es:[edi]
004E3BEF  ^ 72 CF           jb short 多记忆桌.004E3BC0
=======================万恶的分割线=============================================

跟随到数据窗口 下断点:硬件访问---word    在下一个bp VirtualProtect
运行几次来到图1所示
图1:
01.png
最佳返回时机  取消断点  注意(不要取消硬件断点  取消的是bp VirtualProtect这个断点) 64位好像不支持 ATL+F9
不过还是习惯了ATL+F9返回  64位下在是SHIFT+F9返回到用户代码  在F8单步一下
004EB645    51              push ecx
004EB646    8B0D 5CC14F00   mov ecx,dword ptr ds:[0x4FC15C]
004EB64C    E8 13650000     call 多记忆桌.004F1B64
004EB651    8945 F8         mov dword ptr ss:[ebp-0x8],eax
004EB654    837D F8 00      cmp dword ptr ss:[ebp-0x8],0x0
004EB658    74 45           je short 多记忆桌.004EB69F                      ///这里就是前辈所说的魔术跳  JUMP   该JMP
004EB65A    8D55 F0         lea edx,dword ptr ss:[ebp-0x10]
004EB65D    52              push edx
004EB65E    6A 04           push 0x4
004EB660    6A 04           push 0x4
004EB662    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
004EB665    50              push eax
004EB666    FF15 40784F00   call dword ptr ds:[0x4F7840]             ; kernel32.VirtualProtect    这个断点怎么来的  等下就告诉你
004EB66C    85C0            test eax,eax
004EB66E    75 0A           jnz short 多记忆桌.004EB67A
004EB670    B9 0B0000EF     mov ecx,0xEF00000B
004EB675    E8 9D2F0000     call 多记忆桌.004EE617
004EB67A    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
004EB67D    8B55 F8         mov edx,dword ptr ss:[ebp-0x8]
004EB680    8B02            mov eax,dword ptr ds:[edx]
004EB682    8901            mov dword ptr ds:[ecx],eax                           //这里改NOP
004EB684    8D4D F4         lea ecx,dword ptr ss:[ebp-0xC]
004EB687    51              push ecx
004EB688    8B55 F0         mov edx,dword ptr ss:[ebp-0x10]
004EB68B    52              push edx

这两者  二选一
=======================万恶的分割线=============================================

004EB67D    8B55 F8         mov edx,dword ptr ss:[ebp-0x8]
004EB680    8B02            mov eax,dword ptr ds:[edx]
004EB682    90              nop                                                           //这里NOP掉  F9运行
004EB683    90              nop
004EB684    8D4D F4         lea ecx,dword ptr ss:[ebp-0xC]
004EB687    51              push ecx
=======================万恶的分割线=============================================

004E37B1    58              pop eax                                  ; 多记忆桌.004E3BD8
004E37B2    58              pop eax
004E37B3    FFD0            call eax                          //F7进CALL  到达OEP
004E37B5    E8 F5CB0000     call 多记忆桌.004F03AF
004E37BA    CC              int3
004E37BB    CC              int3
004E37BC    CC              int3
004E37BD    CC              int3
004E37BE    CC              int3
004E37BF    CC              int3
图2:

02.png
此时用LordPE修正大小--完整转存,再用ImpREC FINAL 1.7汉化版 修复一下
图3:
图3.png
无效函数  剪切  转存   程序成功运行
=======================万恶的分割线=============================================
VirtualProtect 这个断点怎么来的进行深入追踪
重载程序:

004E3BD3 >  E8 00000000     call 多记忆桌.004E3BD8
004E3BD8    60              pushad
004E3BD9    E8 4F000000     call 多记忆桌.004E3C2D       //ESP定律
004E3BDE  ^ 74 A9           je short 多记忆桌.004E3B89
004E3BE0    44              inc esp
004E3BE1    27              daa
004E3BE2    815A A1 70BAB37>sbb dword ptr ds:[edx-0x5F],0x7EB3BA70
F9运行

004E37B1    58              pop eax                                 
004E37B2    58              pop eax
004E37B3    FFD0            call eax                                         //F7进call   到达OEP
004E37B5    E8 F5CB0000     call 多记忆桌.004F03AF
004E37BA    CC              int3
004E37BB    CC              int3
004E37BC    CC              int3
004E37BD    CC              int3
=======================万恶的分割线=============================================
到达OEP  此时用LordPE修正大小--完整转存,再用ImpREC FINAL 1.7汉化版 修复一下   发现有19个无效指针


图4:
图4.png

此时发现有很多无效指针   点中第一个 反汇编-十进制查看
000711E4+基址00400000=004711E4
重载程序 内存转到crtl+G   004F1A70下断  硬件执行  shift+F9运行
图5:
图5.png
运行9次来到这里  此时的IAP还未加密  F8单步走下去
=======================万恶的分割线=============================================
004EB645    51              push ecx                                 ; kernel32.UnlockFile    //来到这里    多么熟悉的界面
004EB646    8B0D 5CC14F00   mov ecx,dword ptr ds:[0x4FC15C]
004EB64C    E8 13650000     call 多记忆桌.004F1B64
004EB651    8945 F8         mov dword ptr ss:[ebp-0x8],eax
004EB654    837D F8 00      cmp dword ptr ss:[ebp-0x8],0x0
004EB658    74 45           je short 多记忆桌.004EB69F                       //这里修改JMP   前辈们大牛们俗称的魔术跳
004EB65A    8D55 F0         lea edx,dword ptr ss:[ebp-0x10]
004EB65D    52              push edx
004EB65E    6A 04           push 0x4
004EB660    6A 04           push 0x4
004EB662    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
004EB665    50              push eax
004EB666    FF15 40784F00   call dword ptr ds:[0x4F7840]             ; kernel32.VirtualProtect  就是这个断点   由来的
004EB66C    85C0            test eax,eax
004EB66E    75 0A           jnz short 多记忆桌.004EB67A
004EB670    B9 0B0000EF     mov ecx,0xEF00000B
004EB675    E8 9D2F0000     call 多记忆桌.004EE617
004EB67A    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
004EB67D    8B55 F8         mov edx,dword ptr ss:[ebp-0x8]
004EB680    8B02            mov eax,dword ptr ds:[edx]
004EB682    8901            mov dword ptr ds:[ecx],eax                          //这里NOP  
004EB684    8D4D F4         lea ecx,dword ptr ss:[ebp-0xC]
004EB687    51              push ecx
004EB688    8B55 F0         mov edx,dword ptr ss:[ebp-0x10]
004EB68B    52              push edx
004EB68C    6A 04           push 0x4
004EB68E    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
004EB691    50              push eax
004EB692    FF15 40784F00   call dword ptr ds:[0x4F7840]             ; kernel32.VirtualProtect
004EB698    C745 FC 0100000>mov dword ptr ss:[ebp-0x4],0x1
004EB69F    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
004EB6A2    8BE5            mov esp,ebp
004EB6A4    5D              pop ebp
004EB6A5    C3              retn
二选一  

=======================万恶的分割线=============================================
取消硬件断点
ctrl+S  命令序列
pop eax
pop eax
call eax


004E37B1    58              pop eax    //F2下断   SHIft+F9运行
004E37B2    58              pop eax
004E37B3    FFD0            call eax     //F7进CALL  到达OEP
004E37B5    E8 F5CB0000     call 多记忆桌.004F03AF
004E37BA    CC              int3
=======================万恶的分割线=============================================

第一:ESP定律
第二:下bp VirtualProtect断点
第三:查找命令序列:
          mov ecx,dword ptr ss:[ebp+0x8]
          mov edx,dword ptr ss:[ebp-0x8]
          mov eax,dword ptr ds:[edx]
          mov dword ptr ds:[ecx],eax
  或    二进制查找:8B 4D 08 8B 55 F8 8B 02 89 01
处理  magic jump

然后就可以脱壳了!!呵呵,对这个壳最快速的方法了





评分

参与人数 15威望 +1 HB +48 THX +8 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
temp + 1
李卓吾 + 1
龙华强 + 1
DeeDarrick + 1
liugu0hai + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
lies + 1
crosssss + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
PDWORD + 1
消逝的过去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
小可 + 1
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
李沉舟 + 6 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
Shark恒 + 1 + 30 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
zxjzzh + 5 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
海伦泽 发表于 2018-10-11 17:51 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ghostxu 发表于 2022-1-21 08:01 | 显示全部楼层

这么厉害!必须给个红包鼓励下~
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ghostxu 发表于 2022-1-23 21:01 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
消逝的过去 发表于 2022-2-1 13:33 | 显示全部楼层

[快捷回复]-学破解防逆向,知进攻懂防守!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
PDWORD 发表于 2022-2-6 23:05 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-2-11 20:49 | 显示全部楼层

感谢大佬分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
帅呆鹏 发表于 2022-2-11 22:04 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
军工强国 发表于 2022-2-13 23:09 | 显示全部楼层

感谢分享,看看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-5-4 02:39 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表