首页
社区
课程
招聘
[原创]不同思路脱UPX加密壳及修复IAT表
发表于: 2008-11-3 10:27 23130

[原创]不同思路脱UPX加密壳及修复IAT表

2008-11-3 10:27
23130

目标软件:见附件
使用工具:OllyDbg, ImportREC, LordPE

首先声明:本人是壳盲,还懒,本来由于水平太差不敢班门弄斧的,可是看了szdbg大侠的文章:【原创】手脱UPX加密壳及修复IAT表,原文链接:http://bbs.pediy.com/showthread.php?t=62098,感觉这个UPX有点意思,遂下来玩玩,粗粗解决下后竟发觉手痒痒,遂产生此文!还请各位不要见笑。这里所的不同思路只是相对szdbg大侠当时的思路而言,其实应该是常规思路了。
我是一只小菜鸟。。。愿与大家分享。。。(哎!套话我都讲不利索

【注意】经shoooo大牛指出:这个壳是非完全保护的RLPacK!我用着海风大牛的StrongOD,所以anti部分毫无察觉,当做UPX变种误打误撞脱掉。。。汗颜不已,惭愧惭愧。。。算了,文章不改了,大家知道下就行了。感谢shoooo

一、查壳
PeID显示:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
脱壳机以失败告终,上OD吧。

二、Dump
dump的过程和正常的UPX没太大区别,就是ESP定律,简述:

007DB68A > 60 pushad
007DB68B BE 00908B00 mov esi, 8B9000
007DB690 8DBE 0080B4FF lea edi, dword ptr ds:[esi+FFB48000]
007DB696 57 push edi
007DB697 83CD FF or ebp, FFFFFFFF
007DB69A EB 3A jmp short 007DB6D6 ; WishGJ.007DB6D6
007DB69C 90 nop
007DB69D 90 nop
007DB69E 90 nop
007DB69F 90 nop
007DB6A0 90 nop
007DB6A1 90 nop
007DB6A2 8A06 mov al, byte ptr ds:[esi]
007DB6A4 46 inc esi
007DB6A5 8807 mov byte ptr ds:[edi], al
007DB6D8 90 nop ; 停在这里
007DB6D9 60 pushad
007DB6DA E8 00000000 call 007DB6DF ; 第二次F9停在这里,继续!
007DB6DF 8B2C24 mov ebp, dword ptr ss:[esp]
007DB6E2 83C4 04 add esp, 4
007DB6E5 E8 500D0000 call 007DC43A ; WishGJ.007DC43A
007DB6EA E8 740D0000 call 007DC463 ; WishGJ.007DC463
007DB6EF E8 960C0000 call 007DC38A ; WishGJ.007DC38A
007DB6F4 8DB5 73260000 lea esi, dword ptr ss:[ebp+2673]
007DB6FA 8D9D 58030000 lea ebx, dword ptr ss:[ebp+358]
007DB700 33FF xor edi, edi
007DB91C 61 popad
007DB91D - E9 F6E4DFFF jmp 005D9E18 ; 停在这里,传说中飞向光明之巅的跳板~
007DB922 83BD 231B0000 0>cmp dword ptr ss:[ebp+1B23], 0
007DB929 74 16 je short 007DB941 ; WishGJ.007DB941
007DB92B 2B85 1B1B0000 sub eax, dword ptr ss:[ebp+1B1B]
007DB931 034424 4C add eax, dword ptr ss:[esp+4C]
007DB935 50 push eax
007DB936 8B4424 50 mov eax, dword ptr ss:[esp+50]
007DB93A 8985 1F1B0000 mov dword ptr ss:[ebp+1B1F], eax
007DB940 58 pop eax
007DB941 C3 retn
005D9E18 55 push ebp ; OEP!还等什么?
005D9E19 8BEC mov ebp, esp
005D9E1B 83C4 F0 add esp, -10
005D9E1E 53 push ebx
005D9E1F B8 18955D00 mov eax, 5D9518
005D9E24 E8 FFD4E2FF call 00407328 ; WishGJ.00407328
005D9E29 8B1D 40EC5D00 mov ebx, dword ptr ds:[5DEC40] ; WishGJ.005DFC38
005D9E2F E8 9899E9FF call 004737CC ; WishGJ.004737CC
005D9E34 E8 8793E9FF call 004731C0 ; WishGJ.004731C0
005D9E39 8B0B mov ecx, dword ptr ds:[ebx]
005D9E3B B2 01 mov dl, 1
005D9E3D A1 D4445A00 mov eax, dword ptr ds:[5A44D4]
005D9E42 E8 5D91FAFF call 00582FA4 ; WishGJ.00582FA4
005D9E47 8B15 80ED5D00 mov edx, dword ptr ds:[5DED80] ; WishGJ.005E23B0
005D9E4D 8902 mov dword ptr ds:[edx], eax
005E31B4 00000000
005E31B8 00CF0000
005E31BC 00CF0017
005E31C0 00CF002E
005E31C4 00CF0045
005E31C8 00CF005C
005E31CC 00CF0073
。。。
007DB86E FFB5 6B260000 push dword ptr ss:[ebp+266B]
007DB874 FFB5 67260000 push dword ptr ss:[ebp+2667]
007DB87A FF95 FF0A0000 call dword ptr ss:[ebp+AFF]
007DB880 85C0 test eax, eax
007DB882 0F84 F7090000 je 007DC27F ; WishGJ.007DC27F
007DB888 E8 F9150000 call 007DCE86 ; WishGJ.007DCE86
007DB88D C785 2F1B0000 0>mov dword ptr ss:[ebp+1B2F], 0
007DB897 8907 mov dword ptr ds:[edi], eax
007DB899 83C7 04 add edi, 4 ; 断在这里
007DB89C 8B85 6B260000 mov eax, dword ptr ss:[ebp+266B]
007DB8A2 EB 01 jmp short 007DB8A5 ; WishGJ.007DB8A5
007DB8A4 40 inc eax
007DB8A5 8038 00 cmp byte ptr ds:[eax], 0
007DB8A8 ^ 75 FA jnz short 007DB8A4 ; WishGJ.007DB8A4
005E31B4 00000000
005E31B8 00CF0000 ;变了
005E31BC 00000000
005E31C0 00000000
005E31C4 00000000
005E31C8 00000000

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (37)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持,感觉走到了正路上了,好多人还在人云亦云的死守着ESP定律!
2008-11-3 10:50
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
多谢兄弟捧场!
我感觉peer兄弟的脱壳和破解都有很多值得我学习的地方,以后争取向你看齐
2008-11-3 11:00
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
LZ太谦虚了
2008-11-3 11:09
0
雪    币: 317
活跃值: (93)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
学习下楼主的高招,如今的UPX可怕啦!
2008-11-3 13:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
FF过来的捧个场。
2008-11-3 13:25
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
不知道这个upx是哪个变种,以前一直没见过。感觉挺有意思的,等于是加强版的upx,可以的话找来玩玩不错。
2008-11-3 14:21
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
8
http://bbs.pediy.com/showthread.php?t=70981
2008-11-3 15:50
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
看见大牛了
只能拜读,搞不动这个
2008-11-3 17:04
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
10
从你这个回贴说明你没看懂我的回贴
你文章里的壳不是upx
而是非完全选项的rlpack
自己对比一下你的代码和那个文章中的代码
2008-11-3 17:06
0
雪    币: 319
活跃值: (49)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
没想到UPX有这么难脱的壳呀。。。。。。。。。。。。
2008-11-3 17:39
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
嘿嘿,晕菜了
我看见szdbg文章里写的是UPX,再看看入口代码就当UPX了!晕了,区段名也是UPX1。。。
难怪esp定律次数上不一样,IAT部分也不一样,还有dump前需要修复镜像大小也不一样
大牛的回帖其实看懂了一些,那个帖子里我确实也看到我文章里这个壳的影子,可是没敢肯定,因为总体难度相差很大(他比我的大 )!原来是不完全选项。。。
脱壳把壳的品种弄错了
2008-11-3 17:42
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
很喜欢看这样的脱壳文章,感谢楼主,学习
2008-11-3 18:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
又学了一招谢谢
2008-11-3 18:40
0
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
15
楼主,为什么按第二次F9后就会程序就运行,报告检测到调试器
2008-11-3 19:49
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
大使偶来支持你了。真不错的文章哦

ps:这号N久没登陆了。哇哈哈。特地来支持你的哦
2008-11-3 19:57
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
[QUOTE=newjueqi;530035]楼主,为什么按第二次F9后就会程序就运行,然后出现一个下面的对话框
           [/QUOTE]

你的OD没隐藏好。。。可以用海风大牛的插件:StrongOD,用上之后其他隐藏OD的插件差不多都可以扔掉了
2008-11-3 20:04
0
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
18
虽然没有找到海风大牛的插件StrongOD,但下载了另外一个隐藏OD的插件invisible也成功了,谢谢楼主的帮助
2008-11-3 20:16
0
雪    币: 563
活跃值: (95)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
学习下
2008-11-3 20:55
0
雪    币: 557
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
20
1.20 以下版本
2008-11-3 21:04
0
雪    币: 427
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
21
shoooo大牛一来就指出这个不是upx,老兄一来看出版本!不服不行啊。。。
2008-11-3 21:27
0
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
学习好帖子.

有个小小的疑问,用什么方法可以确定005E31B8开始的就一定是IAT啊. 这里依靠的是根据ESP规律的几次F9得到的OEP,然后用工具得到的005E31B8.       万一是不正确的,那不是白做了后面那么多工作了.  这个还是不太明白.
2008-11-5 02:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
好文章,好,,收下了,学习了
2008-11-11 15:41
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
多谢原创发布,正好想要很多思路,谢谢了!
2008-11-14 17:55
0
雪    币: 122
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
实力+运气=成功
2008-11-16 05:19
0
游客
登录 | 注册 方可回帖
返回
//