首页
社区
课程
招聘
F4脱一未知壳
2005-9-1 16:44 4803

F4脱一未知壳

2005-9-1 16:44
4803
1. 用PEiD查看软件无壳



2. 用Olldbg打开到

00401030       E9 68570100   jmp Zotob.0041679D
00401035       42 79 44 77 6>ascii "ByDwing@",0
0040103E       00            db 00
0040103F       00            db 00
00401040       50 45 00      ascii "PE",0
00401043       00            db 00
00401044       4C            db 4C

F8 调转到

0041679D     BE 88014000     mov esi,Zotob.00400188
004167A2     AD              lods dword ptr ds:[esi]
004167A3     8BF8            mov edi,eax
004167A5     95              xchg eax,ebp
004167A6     AD              lods dword ptr ds:[esi]
004167A7     91              xchg eax,ecx
004167A8     F3:A5           rep movs dword ptr es:[edi],dword ptr ds:[esi]
004167AA     AD              lods dword ptr ds:[esi]
004167AB     B5 1C           mov ch,1C
004167AD     F3:AB           rep stos dword ptr es:[edi]
004167AF     AD              lods dword ptr ds:[esi]
004167B0     50              push eax
004167B1     97              xchg eax,edi
004167B2     51              push ecx
004167B3     58              pop eax
004167B4     8D5485 5C       lea edx,dword ptr ss:[ebp+eax*4+5C]
004167B8     FF16            call dword ptr ds:[esi]
004167BA     72 57           jb short Zotob.00416813               <=========这里
004167BC     2C 03           sub al,3

3. 将光标移动到004167BC这一行,F4执行到这里,然后继续找下一个call用F4执行到call后的第一条指令
当执行到下面的call处(1)时,在下一条指令(0041696c)处按F4, 发现程序执行起来了

00416943      46              inc esi
00416944      AD              lods dword ptr ds:[esi]
00416945      85C0            test eax,eax
00416947    - 0F84 BD0EFFFF   je Zotob.0040780A                         <=============关键跳转
0041694D      56              push esi
0041694E      97              xchg eax,edi
0041694F      FF53 FC         call dword ptr ds:[ebx-4]
00416952      95              xchg eax,ebp
00416953     AC              lods byte ptr ds:[esi]
00416954     84C0            test al,al
00416956   ^ 75 FB           jnz short Zotob.00416953
00416958     3806            cmp byte ptr ds:[esi],al
0041695A   ^ 74 E7           je short Zotob.00416943
0041695C     8BC6            mov eax,esi
0041695E     79 05           jns short Zotob.00416965
00416960     46              inc esi
00416961     33C0            xor eax,eax
00416963     66:AD           lods word ptr ds:[esi]
00416965     50              push eax
00416966     55              push ebp
00416967     FF13            call dword ptr ds:[ebx]
00416969     AB              stos dword ptr es:[edi]                <=============(1)
0041696A   ^ EB E7           jmp short Zotob.00416953
0041696C     50              push eax                               <=============(2)

5. 从(1)处向上看程序,发现有一个长跳转je  0040780a, 重新执行程序,在(00416947)处用F2下个短点,
按F9 九次时跳转实现,F8跳转到

0040780A        55            db 55                                             ;  CHAR 'U'
0040780B        8B            db 8B
0040780C        EC            db EC
0040780D        6A            db 6A                                             ;  CHAR 'j'
0040780E        FF            db FF
0040780F        68            db 68                                             ;  CHAR 'h'
00407810        60            db 60                                             ;  CHAR '`'
00407811        82            db 82
00407812        40            db 40                                             ;  CHAR '@'

6. Dump程序



7. 用ImportRec 修复导入表。



8. 脱壳完成。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (14)
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liuyilin 2005-9-1 16:49
2
0
东西呢
雪    币: 442
活跃值: (1211)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
baby2008 28 2005-9-1 16:54
3
0
Upack
雪    币: 280
活跃值: (433)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
icytear 11 2005-9-1 16:54
4
0
这个程序是个蠕虫,所以没有放上来。
雪    币: 108
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
闪电狼 2005-9-1 17:11
5
0
倒~  区段显示了Upack
雪    币: 134
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
夜凉如水 3 2005-9-1 18:55
6
0
哈哈 是的 狼说的非常正确 能看壳
!!!!
雪    币: 280
活跃值: (433)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
icytear 11 2005-9-1 19:15
7
0
哈哈,真的唉! 我和PEiD一样傻
雪    币: 226
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freeia 2005-9-2 21:00
8
0
请问一下,找到
0040780A        55            db 55                                             ;  CHAR 'U'
0040780B        8B            db 8B
0040780C        EC            db EC
0040780D        6A            db 6A                                             ;  CHAR 'j'
0040780E        FF            db FF
0040780F        68            db 68                                             ;  CHAR 'h'
00407810        60            db 60                                             ;  CHAR '`'
00407811        82            db 82
00407812        40            db 40                                             ;  CHAR '@'

说明什么呢?

我经过一系列的跳转,找到了
0041DD1B     40             DB 40                                    ;  CHAR '@'
0041DD1C     04             DB 04
0041DD1D     50             DB 50                                    ;  CHAR 'P'
0041DD1E     C3             DB C3
0041DD1F     55             DB 55                                    ;  CHAR 'U'
0041DD20     8B             DB 8B
0041DD21     EC             DB EC
0041DD22     6A             DB 6A                                    ;  CHAR 'j'
0041DD23     FF             DB FF
0041DD24     68             DB 68                                    ;  CHAR 'h'
0041DD25     78             DB 78                                    ;  CHAR 'x'
0041DD26     2B             DB 2B                                    ;  CHAR '+'
0041DD27     4B             DB 4B                                    ;  CHAR 'K'
0041DD28     00             DB 00
0041DD29     68             DB 68                                    ;  CHAR 'h'
0041DD2A     E0             DB E0
0041DD2B     DC             DB DC
0041DD2C     41             DB 41                                    ;  CHAR 'A'
0041DD2D     00             DB 00
0041DD2E     64A10000       DD 0000A164
0041DD32     00             DB 00
0041DD33     00             DB 00
0041DD34     50             DB 50                                    ;  CHAR 'P'
0041DD35     64             DB 64                                    ;  CHAR 'd'
0041DD36     89             DB 89
0041DD37     25             DB 25                                    ;  CHAR '%'
0041DD38     00             DB 00
0041DD39     00             DB 00
0041DD3A     00             DB 00
0041DD3B     00             DB 00
0041DD3C     83             DB 83
0041DD3D     EC             DB EC
0041DD3E     68             DB 68                                    ;  CHAR 'h'
0041DD3F     53             DB 53                                    ;  CHAR 'S'
0041DD40     56             DB 56                                    ;  CHAR 'V'

接着我该怎么做呢?
雪    币: 226
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freeia 2005-9-2 21:01
9
0
奇怪的是我们都有 U j h,而且间距都一样!!!
雪    币: 226
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freeia 2005-9-2 21:02
10
0
我用PEID看壳,显示的是.MPS段,然后也说认不出壳
雪    币: 226
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freeia 2005-9-2 21:08
11
0
软件的区段名字是可以自己随便定义的.
雪    币: 226
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freeia 2005-9-3 09:44
12
0
各位大虾指点一下迷津啊~~~~
雪    币: 6073
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
forgot 26 2005-9-3 10:15
13
0
即使没有段名,代码的第一行下面有个标记, “ByDwing”,是 Upack。

freeia 说的 U...j 是把代码识别成 ASCII 了,转换成代码就明白不过是一个很普通的堆栈框架代码,没什么共性。建议先把基础知识学好。
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Viruss 2005-9-4 11:45
14
0
特来问一下能发个样本么?
雪    币: 280
活跃值: (433)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
icytear 11 2005-9-5 15:45
15
0
最初由 Viruss 发布
特来问一下能发个样本么?


好,需要样本的我可以发到你们邮箱里。
游客
登录 | 注册 方可回帖
返回