首页
社区
课程
招聘
MSLRHv0.31加壳记事本脱壳(又一脱壳实例,高手莫入)
发表于: 2005-2-23 23:24 7912

MSLRHv0.31加壳记事本脱壳(又一脱壳实例,高手莫入)

2005-2-23 23:24
7912

【破解作者】 clide2000[DFCG][OCN]
【作者邮箱】 54arma@sina.com
【使用工具】 OD;LoadPe;ImportREC
【破解平台】 Win9x/NT/2000/XP
【软件名称】 MSLRHv0.31加壳记事本脱壳
【下载地址】 见附件附件:unpackme.rar
【软件简介】 MSLRHv0.31加壳英文版记事本(中文的加壳后运行不了)
【加壳方式】 MSLRHv0.31
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】

方法是参照peaceclub兄的[真正快速脱壳方法],个人认为此种方法很好,特别适合我们这些小菜.在此也表示对pecaceclub兄的感谢
为广大和我一样的小菜,能真正对付MSLRHv0.31加壳的软件,特以记事本来演示一下。高手莫笑。
1 用OD载入加壳后的启事本unpackme.exe停在:
00411000 > $  60              pushad
00411001   .  D1CB            ror ebx, 1
00411003   .  0FCA            bswap edx
00411005   .  C1CA E0         ror edx, 0E0                       ;  Shift constant out of range 1..31
00411008   .  D1CA            ror edx, 1
0041100A   .  0FC8            bswap eax
0041100C   .  EB 01           jmp short unpackme.0041100F
0041100E   .  F1              int1
0041100F   >  0FC0C9          xadd cl, cl
00411012   .  D2D1            rcl cl, cl

Ctrl+B,在HEX+00框中输入: 68????????c3,点OK后来到:
0041D0A0  |.  68 8ECB9A00     push 9ACB8E
0041D0A5  \.  C3              retn ;就是要把这里改成cc啊
0041D0A6      33              db 33                              ;  CHAR '3'
0041D0A7      C9              db C9
0041D0A8      E8              db E8

将0041D0A5  \.  C3              retn改成 CC ,即int 3

下面,右击0041D0A5这一行,选择"Copy to executable"->"Selection",
接着在新弹出的窗口中,右击,在快捷菜单中选择"Save file",最后启个文件名(我这里的新文件名为up.exe),按保存(即完成了修改保存)
现在关闭OD。

2 双击运行之前保存的up.exe文件,发生异常,ollydbg调试 (注意,到这里之前,与脱MSLRHv0.31主程序一致)

这时会停在0041D0A5  
注意,这里已经是被加壳开头的程序,即Stolen Code的处理位置

0041D087    83C4 08           add esp, 8
0041D08A    892C24            mov dword ptr ss:[esp], ebp
0041D08D    54                push esp
0041D08E    55                push ebp
0041D08F   /EB 01             jmp short un.0041D092
0041D091   |E8 83C4045D       call 5D469519
0041D096    83EC 44           sub esp, 44
0041D099    56                push esi
0041D09A    FF15 E0634000     call dword ptr ds:[4063E0]         ; kernel32.GetCommandLineA
0041D0A0    68 D9104000       push un.004010D9
0041D0A5    CC                int3

下面我们做如下修改
  1)恢复0041D0A5处数据为C3
  2)去除 0041D091的花指令

修改后结果如下
0041D087    83C4 08           add esp, 8  ;#
0041D08A    892C24            mov dword ptr ss:[esp], ebp ;#
0041D08D    54                push esp ;#
0041D08E    55                push ebp        ;#
0041D08F    EB 01             jmp short un.0041D092
0041D091    90                nop                 ;花指令,nop掉
0041D092    83C4 04           add esp, 4  ;#
0041D095    5D                pop ebp  ;#
0041D096    83EC 44           sub esp, 44  ;*
0041D099    56                push esi   ;*
0041D09A    FF15 E0634000     call dword ptr ds:[4063E0]         ; kernel32.GetCommandLineA  ;*
0041D0A0    68 D9104000       push un.004010D9   ;伪OEP
0041D0A5    C3                retn           ;从这里返回到伪OEP处

注意上面加了*号的地方,是被Stolen Code的字节
根据经验OEP前两句应该是push ebp, mov ebp,esp, 上面加#号的完成的就是这两句的功能。
加上带*号的一共有13字节,即完整的Stolen Code内容为:
      push ebp
      mov ebp, esp
      sub esp, 44
      push esi
      call dword ptr ds:[4063E0]

现在Ctrl+G,输入4010cc,并将EIP改为4010cc,补全被Stolen Code的字节。
最后close up.exe file handle  用一些进程管理器:http://www.sysinternals.com/files/procexpnt.zip这个选择up进程,然后查看handle,把up.exe的handle给关闭掉。

现在即可用OD的脱壳插件直接脱壳,方式1或方式2脱壳均可正常运行

--------------------------------------------------------------------------------
【破解总结】

此文章算是peaceclub兄的[真正快速脱壳方法]的又一实例,文中有多处基本引用了原文的内容。在此向peaceclub兄还有fly,csjwaman等人表示感谢。谢谢一直以来对我的指点和帮助。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 97697
活跃值: (200734)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习发法好,值得推荐学习.
2005-2-23 23:29
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
0.3版的错误实在是多,试试最老的一版,没什么麻烦的,但思路简单、清楚。这个系列的被多个杀毒软件报病毒,为了不引发歧义只好又用了一位老大的压缩壳,CTRL+S,LODS DWORD PTR DS:[ESI] TEST EAX,EAX即可.不过实在是太不幸了,现在的启发式杀毒简直是令人震惊,震惊的简直无法形容. 附件:1.rar
2005-2-24 10:05
0
雪    币: 319
活跃值: (2439)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
4
支持一下!!!
2005-2-24 19:21
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
学习.支持一下!!!
2005-2-24 20:09
0
雪    币: 154
活跃值: (216)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
好贴正如美女,我顶
2005-2-24 20:35
0
雪    币: 538
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
进来学习的说..
2005-2-25 20:57
0
雪    币: 244
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习!学习!
2005-2-26 16:27
0
游客
登录 | 注册 方可回帖
返回
//