吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8780|回复: 24
收起左侧

[原创] Enterprise Edition rlpack unpack by cqr2287

[复制链接]
KaQqi 发表于 2017-1-19 10:13
本帖最后由 cqr2287 于 2017-1-21 10:08 编辑

Rlpac is a famous packers in Windows.

最近我研究了rl壳。所以来发个脱壳教程。
对于rlpack,比较简单。然而Enterprise Edition增加了保护措施。我们必须从新研究。。。
好了,载入od。直接运行,我们发现,他没有反调试。那么我们可以放心跟踪。
先看区段。
QQ图片20170119104155.png
从40c0000一直属于rlpack。
00401000 > $  57            push edi
00401001   .  C7C7 72AFB4DF mov edi,0xDFB4AF72
00401007   .  8D3D 5FBA581A lea edi,dword ptr ds:[0x1A58BA5F]
0040100D   .  FFCF          dec edi
0040100F   .  0facf7 f2     shrd edi,esi,0xf2
00401013   .  0FBDFE        bsr edi,esi
00401016   .  F7C7 5CDC3027 test edi,0x2730DC5C
0040101C   .  0FBAF7 33     btr edi,0x33
00401020   .  0FBBF7        btc edi,esi
00401023   .  0FCF          bswap edi
00401025   .  BF 64A909DB   mov edi,0xDB09A964
0040102A   .  85F6          test esi,esi
0040102C   .  81DF AC194648 sbb edi,0x484619AC
00401032   .  F7DF          neg edi
载入od我们就发现了许多异常。
QQ图片20170119104305.png
我打算采用单步法。f8单步跟踪。
004011D0   .  C7C7 F89C2006 mov edi,0x6209CF8
004011D6   .  64:8bfe       mov edi,esi
004011D9   .  0FA3F7        bt edi,esi
004011DC   .  D1C7          rol edi,1
004011DE   .  85F6          test esi,esi
004011E0   .  0fa4f7 e4     shld edi,esi,0xe4
004011E4   .  0FCF          bswap edi
004011E6   .  0FBDFE        bsr edi,esi
004011E9   .  5F            pop edi
004011EA   .- E9 6BEF0000   jmp 13.0041015A
在区段底部,我们发现一个jmp直接调走了。我们跟踪。
QQ图片20170119104354.png
0041015A    60              pushad
0041015B    E8 00000000     call 13.00410160
00410160    83C4 04         add esp,0x4
00410163    8B6C24 FC       mov ebp,dword ptr ss:[esp-0x4]           ; 13.00410171
00410167    E8 80020000     call 13.004103EC
0041016C    E8 69240000     call 13.004125DA
00410171    837C24 28 01    cmp dword ptr ss:[esp+0x28],0x1
00410176    75 0C           jnz short 13.00410184
00410178    8B4424 24       mov eax,dword ptr ss:[esp+0x24]
0041017C    8985 95450000   mov dword ptr ss:[ebp+0x4595],eax        ; kernel32.BaseThreadInitThunk
00410182    EB 0C           jmp short 13.00410190
00410184    8B85 91450000   mov eax,dword ptr ss:[ebp+0x4591]        ; 13.00400000
0041018A    8985 95450000   mov dword ptr ss:[ebp+0x4595],eax        ; kernel32.BaseThreadInitThunk
00410190    E8 0A0D0000     call 13.00410E9F
00410195    EB 03           jmp short 13.0041019A
00410197    24 00           and al,0x0
这里很像oep了。我们先下个断点做个标记。
QQ图片20170119104437.png
继续f8.
我们在call ebx处发现了程序错误。
问题签名:
  问题事件名称: APPCRASH
  应用程序名: 13.exe
  应用程序版本: 1.0.0.0
  应用程序时间戳: 37d23b4a
  故障模块名称: 13.exe
  故障模块版本: 1.0.0.0
  故障模块时间戳: 37d23b4a
  异常代码: c0000005
没关系。我们直接f9,运行到刚才断下位置。
f8单步一次,我们可以发现符合esp定律。
我们刚才走出了区段。而在刚才rlpack区段,我们只发现了一些数学运算指令。
那么我们大胆推断,这里就是真正的数据区段
在这里下硬件执行没用。我们就f8跟踪。
慢点,注意堆栈。
0041025D    FFB5 7A530000   push dword ptr ss:[ebp+0x537A]
00410263    56              push esi
00410264    FFD3            call ebx
此处丢失,做个断点记录。直接f9到这。
f7进call。
0041046C    60              pushad
0041046D    8B7424 24       mov esi,dword ptr ss:[esp+0x24]
00410471    8B7C24 28       mov edi,dword ptr ss:[esp+0x28]          ; kernel32.BaseThreadInitThunk
00410475    FC              cld
00410476    B2 80           mov dl,0x80
00410478    33DB            xor ebx,ebx                              ; 13.0041046C
0041047A    A4              movs byte ptr es:[edi],byte ptr ds:[esi]
0041047B    B3 02           mov bl,0x2
0041047D    E8 6D000000     call 13.004104EF
00410482  ^ 73 F6           jnb short 13.0041047A
f8跟踪。
004104E0    95              xchg eax,ebp
004104E1    8BC5            mov eax,ebp
004104E3    B3 01           mov bl,0x1
004104E5    56              push esi
004104E6    8BF7            mov esi,edi
004104E8    2BF0            sub esi,eax
004104EA    F3:A4           rep movs byte ptr es:[edi],byte ptr ds:[>
我们在跟踪的过程中,就发现了错误。
我们不下断点,直接运行。
QQ图片20170119104055.png
通过刚才在跟踪过程中的硬件执行,找到oep。
00401060   .  68 0C354000   push 13.0040350C
00401065   ?  E8 F0FFFFFF   call 13.0040105A                         ;  jmp 到 msvbvm50.ThunRTMain
0040106A   ?  0000          add byte ptr ds:[eax],al
0040106C   ?  0000          add byte ptr ds:[eax],al
0040106E   ?  0000          add byte ptr ds:[eax],al
00401070   ?  3000          xor byte ptr ds:[eax],al
00401072   ?  0000          add byte ptr ds:[eax],al
00401074   ?  3800          cmp byte ptr ds:[eax],al
00401076   ?  0000          add byte ptr ds:[eax],al
00401078   ?  0000          add byte ptr ds:[eax],al
0040107A   ?  0000          add byte ptr ds:[eax],al
0040107C   .  7B 91         jpo short 13.0040100F
0040107E   ?  F9            stc
0040107F   .  4c            dec esp
00401080   ?  B9 63D31192   mov ecx,0x9211D363
00401085   .^ 79 E1         jns short 13.00401068
00401087   ?  1A19          sbb bl,byte ptr ds:[ecx]
00401089   ?  e4 72         in al,0x72
0040108B   .  3F            aas
下一步就是修复iat了。
我们先不管,做个标记。。。。。。。。。
这里我们使用lordpe和importrec结合修复。
因为在od中dump会提示不是有效的win32程序。
怎么修复还用我说么? 不会可以看我第17课。
QQ图片20170119100718.png
错误还挺多。。
修复后即可搞定。。
楼下点评是正确的,但注意,我对图的解释是放在图下面的。这张图是没修复的。。。@xjun


最后说下,脱壳很考验逻辑能力的。我们要懂asm,并找到适当方法去寻找oep。论坛里好多人不善用od以外的工具,这样不好。要多方面去借住力量。
这也算我的感受吧。
谢谢大家。
QQ图片20170119104055.png

点评

sorry 我是看到Size为0x1000,才冒昧点评问了下。你觉得我不看下面文字,当我没点评过吧。  发表于 2017-1-21 11:27
看到Import REC的截图 ,IAT都修错了吧,能运行成功么?  发表于 2017-1-19 16:39

免费评分

参与人数 13吾爱币 +14 热心值 +13 收起 理由
初亦泽 + 3 + 1 谢谢@Thanks!
keiwen27 + 1 鼓励转贴优秀软件安全工具和文档!
yufan1123 + 1 + 1 用心讨论,共获提升!
浪荡七月哥 + 1 + 1 谢谢@Thanks!
霖零~ + 1 + 1 谢谢@Thanks!
平淡最真 + 2 + 1 用心讨论,共获提升!
yAYa + 3 + 1 谢谢@Thanks!
午夜惊魂1982 + 1 + 1 支持技术贴
某中二绅士 + 1 + 1 用心讨论,共获提升!
sk520kj + 1 + 1 用心讨论,共获提升!
丶小明 + 1 用心讨论,共获提升!
mi0070 + 1 今天CB用光了,支持一下
610100 + 1 谢谢!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hao1196561270 发表于 2017-1-19 10:21
感谢分享
丶小明 发表于 2017-1-19 10:30
大神叫我来顶帖~好吧,我啥也看不懂,过来支持支持~
@某中二绅士 召唤术!中二!!!

点评

我也看不懂啊~~~~~  发表于 2017-1-19 11:11
头像被屏蔽
zhaogang5807 发表于 2017-1-19 10:31
ekanshao 发表于 2017-1-19 10:59
高深莫测之感
某中二绅士 发表于 2017-1-19 11:10
前来支持一个~
懒男, 发表于 2017-1-19 11:26
全是英文 看不懂
tzxinqing 发表于 2017-1-19 11:36
全是英文 看不懂
感情 发表于 2017-1-19 11:42 来自手机
看不懂啊。。
萌牛工厂 发表于 2017-1-19 12:32
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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