首页
社区
课程
招聘
[原创]007通用脱壳法
发表于: 2006-8-16 09:46 7253

[原创]007通用脱壳法

2006-8-16 09:46
7253
[主题]:007通用脱壳法
[作者]:PeaceClub
[工具]:Ollydbg,OllyDump,LoadPE,Imprec
[文件]:演示文件为007 3.8保护的WinRoot的Dll_LoadEx
[说明]:007是北斗压缩的地下商业软件,专做后门、木马免杀,脱起来比较简单,多层的话就用脱一层的方法一层层拨就行了.
[壳判断]:如何确定是007处理过的软件呢?一般情况下,识别起来很简单,一般都有3个section,section的名称为mian1、mian2、mian3(后面的1,2,3是固定的,mian字符串加壳用户可以自定义)
花指令入口
为了配合脱壳过程,请您忽略所有异常。
[动作]:ollydbg载入,停留在4081b9

004081B9 > 60 PUSHAD
004081BA 90 NOP
004081BB BB 7023A112 MOV EBX,12A12370
004081C0 61 POPAD
004081C1 60 PUSHAD
004081C2 56 PUSH ESI

下断点,bp VirtualFree,F9
断在VirtualFree入口处,Ctrl+F9,F8回到壳申请的动态空间里

003D00EF B8 01000000 MOV EAX,1
003D00F4 5B POP EBX
003D00F5 83C4 0C ADD ESP,0C
003D00F8 C2 1000 RETN 10 *****执行到这里*****
003D00FB 83EC 2C SUB ESP,2C
003D00FE 8B4424 38 MOV EAX,DWORD PTR SS:[ESP+38]
003D0102 53 PUSH EBX
003D0103 55 PUSH EBP
003D0104 56 PUSH ESI
003D0105 57 PUSH EDI
003D0106 8B7C24 4C MOV EDI,DWORD PTR SS:[ESP+4C]

F4到3d00f8,F8,我们看到

00406F41 5B POP EBX ; Dll_Load.004086AF
00406F42 5A POP EDX
00406F43 59 POP ECX
00406F44 5F POP EDI
00406F45 83F9 00 CMP ECX,0
00406F48 74 05 JE SHORT Dll_Load.00406F4F
00406F4A 83C3 08 ADD EBX,8
00406F4D ^ EB CE JMP SHORT Dll_Load.00406F1D
00406F4F 68 00800000 PUSH 8000
00406F54 6A 00 PUSH 0
00406F56 FFB5 89FDFFFF PUSH DWORD PTR SS:[EBP-277]
00406F5C FF95 E9FDFFFF CALL DWORD PTR SS:[EBP-217]
00406F62 8DB5 A9FDFFFF LEA ESI,DWORD PTR SS:[EBP-257]
00406F68 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
00406F6B 8D56 08 LEA EDX,DWORD PTR DS:[ESI+8]

寻找特征码:
Ctrl+B,寻找 61 9d   (popad popfd)

0040708C 61 POPAD
0040708D 9D POPFD
0040708E - E9 CDACFFFF JMP Dll_Load.00401D60 *****飞fly飞*****
00407093 8BB5 71FDFFFF MOV ESI,DWORD PTR SS:[EBP-28F]

把光标移动到0040708e处,F4,F8后来到oep,Ctrl+A入口分析

00401D60 /. 55 PUSH EBP
00401D61 |. 8BEC MOV EBP,ESP
00401D63 |. 6A FF PUSH -1
00401D65 |. 68 B0354000 PUSH Dll_Load.004035B0
00401D6A |. 68 E61E4000 PUSH Dll_Load.00401EE6 ; JMP to MSVCRT._except_handler3; SE handler installation
00401D6F |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00401D75 |. 50 PUSH EAX
00401D76 |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00401D7D |. 83EC 68 SUB ESP,68
00401D80 |. 53 PUSH EBX
00401D81 |. 56 PUSH ESI
00401D82 |. 57 PUSH EDI
00401D83 |. 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00401D86 |. 33DB XOR EBX,EBX

脱壳,imprec修复,结束。

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (27)
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
学习
2006-8-16 10:18
0
雪    币: 7
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
3
支持
2006-8-16 10:44
0
雪    币: 146
活跃值: (33)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
我是单步揍的
2006-8-16 11:55
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
5
近期专练脱壳,下来看看,谢
2006-8-16 17:36
0
雪    币: 338
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
好文章!!学习!
2006-8-16 17:47
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
没这么复杂滴
bp VirtualProtect一次返回即可
2006-8-17 09:44
0
雪    币: 7
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
8
最初由 chinadev 发布
没这么复杂滴
bp VirtualProtect一次返回即可


每个人有每个人的方法

何必针对?

我就喜欢Goldsun的 详细 有意识
2006-8-17 10:52
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 bestchao 发布
每个人有每个人的方法

何必针对?

我就喜欢Goldsun的 详细 有意识

不懂就别说话
每个人都可以发表自己的方法
你有种就找个比我再简单的咯
2006-8-17 11:26
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
我没有针对楼主的意思 呵呵
发表自己的方法而已

只是某些人喜欢楼主弄的007破解版
或者是想讨好楼主 在这里盲目崇拜而已

自己的崇拜别强加于人!
2006-8-17 11:30
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
11
最初由 chinadev 发布
不懂就别说话
每个人都可以发表自己的方法
你有种就找个比我再简单的咯


bp 401D60,谁能比我更简单,开个玩笑~~~
2006-8-17 16:43
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 skylly 发布
bp 401D60,谁能比我更简单,开个玩笑~~~


2006-8-17 18:05
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
13
00401D60  /.  55            PUSH EBP
00401D61  |.  8BEC          MOV EBP,ESP
00401D63  |.  6A FF         PUSH -1   //这里可以改成push 0
00401D65  |.  68 B0354000   PUSH Dll_Load.004035B0
00401D6A  |.  68 E61E4000   PUSH

如gkend所说,楼主这里写的是push -1, 所以是教条主义,照本宣科
不像gkend改成push 0那样活学活用。
我本人不同意这种观点, 这里push -1, push 的很好
2006-8-17 22:29
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
14
最初由 shoooo 发布
00401D60 /. 55 PUSH EBP
00401D61 |. 8BEC MOV EBP,ESP
00401D63 |. 6A FF PUSH -1 //这里可以改成push 0
00401D65 |. 68 B0354000 PUSH Dll_Load.004035B0
00401D6A |. 68 E61E4000 PUSH
........

shoooo不要因为我和他的讨论影响到你的情绪了
以后打上XXXX人就行了

PS:搞电脑的人似乎情绪很容易波动?我刚刚还睁不开眼,现在干劲十足
2006-8-17 22:39
0
雪    币: 219
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不错,学习。
2006-8-18 06:40
0
雪    币: 7
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
16
skylly的EDP比你的更简单!
chinadev 每次都针对我
把马甲脱了 告诉我 你是谁?
2006-8-18 07:20
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
17
最初由 bestchao 发布
skylly的EDP比你的更简单!


我只是说笑的,因为OEP处的代码开始时没有解压出来,我的方法根本是不可行的。

chinadev他也没说你错,他只是说他的方法更简单而已。
2006-8-18 09:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
呵呵,学习!
2006-8-18 10:35
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
19
最初由 bestchao 发布
skylly的EDP比你的更简单!
chinadev 每次都针对我
把马甲脱了 告诉我 你是谁?

看你可爱得
呵呵
在壳没解压前 你知道OEP的地址?
不知道那如何bp xxxxxxxx呢

哈哈

skylly在开玩笑都看不出来
2006-8-18 11:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
学习一下
.......
2006-8-18 11:34
0
雪    币: 7
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
21
算你恨 根本都没注意他的 让你转了控制
我只是想针对你而已
因为你每次都针对我
是男人就说是谁 何必用马甲?还怕我打你?

2006-8-18 16:57
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
22
最初由 bestchao 发布
算你恨 根本都没注意他的 让你转了控制
我只是想针对你而已
因为你每次都针对我
是男人就说是谁 何必用马甲?还怕我打你?

........

呵呵 没有针对你的意思
好象在这个帖子里是你针对我的吧
我帖出我的方法 你却来那么一串。。

马甲好玩呀
听你这么说玩马甲的就不是男人咯?
哈哈 说不定坛主都有马甲呢
太远了 你打不到我
2006-8-18 17:30
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
PEID 查得OEP为00401D60
OD载入,
go 00401D60
00401D60下硬件执行断点,F9
DUMP OEP填!1D60
ImportREC修复,收工!!
2006-8-21 02:21
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
24
支持一下!

我这里有点区别,jmp F8没飞向XXXX

不过也没事,向下跟两步就行了
2006-8-21 17:47
0
雪    币: 257
活跃值: (56)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
25
补上:
0048B195   - E9 67AEFFFF           jmp themida.00486001//没飞成功,f8
0048B19A     8BB5 06FCFFFF         mov esi,dword ptr ss:[ebp-3FA]
0048B1A0     0BF6                  or esi,esi

来到:(分析-->删除分析)
00486001     9C                    pushfd//停在这
00486002     60                    pushad
00486003     70 61                 jo short themida.00486066
00486005     636B 24               arpl word ptr ds:[ebx+24],bp
00486008     40                    inc eax
00486009     33C0                  xor eax,eax
0048600B     61                    popad

ctrl+B 搜索EB 03 E8 EB 04 61 EB(特征码)

来到:
004863AF    /EB 03                 jmp short themida.004863B4//这
004863B1    |E8 EB0461EB           call EBA968A1
004863B6     FB                    sti

向下翻,还有一次EB 03 E8 EB 04 61 EB

再次搜索 EB 03 E8 EB 04 61 EB

来到
004863AF    /EB 03                 jmp short themida.004863B4//F4
004863B1    |E8 EB0461EB           call EBA968A1
004863B6     FB                    sti
004863B7   ^ EB EB                 jmp short themida.004863A4

再几下F7就到了

dump

修复,剩2个,级别一跟踪,搞定一个,另外一个删除。

FIX,OK
2006-8-21 17:56
0
游客
登录 | 注册 方可回帖
返回
//