首页
社区
课程
招聘
[求助]UPX变形壳
发表于: 2008-8-28 11:47 8828

[求助]UPX变形壳

2008-8-28 11:47
8828

跟到OEP修复不了。
OEP无有用信息。
手动IAT少量有效

带壳调试。发现关键地方代码很乱,一搓滑轮代码都在变。这种保护叫VM?还是SDK什么。我都搞不清楚概念。麻烦大大帮我再看下这壳


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (14)
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
2
1. upxfix
2. upx -d hxbd1.2.exe
2008-8-28 12:05
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
第一层是UPX,第二层ZProtect!
上传的附件:
2008-8-28 12:15
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常感谢。
2008-8-28 12:36
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
ZProtect
虚拟保护技术吗?

OH!GOD!
2008-9-24 17:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很强的ZProtect,双重壳........
2008-9-24 17:41
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
三楼大哥,可以具体说说步骤吗?

谢谢!支持peeler 支持看雪!
2008-9-24 18:40
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
8
这个是双重的压缩壳,不难的,连续用ESP定律就搞定了!
具体的步骤:
OD载入:
00436480 >  60              pushad
00436481    BE 00004200     mov     esi, 00420000
00436486    8DBE 0010FEFF   lea     edi, dword ptr [esi+FFFE1000]
0043648C    57              push    edi
0043648D    83CD FF         or      ebp, FFFFFFFF
00436490    EB 10           jmp     short 004364A2

.....
004365C8    FF96 E8630300   call    dword ptr [esi+363E8]
004365CE    61              popad
004365CF  - E9 27AEFCFF     jmp     004013FB

来到:
004013FB    50              push    eax
004013FC    53              push    ebx
004013FD    51              push    ecx
004013FE    2BC9            sub     ecx, ecx
00401400    52              push    edx
00401401    56              push    esi
00401402    57              push    edi

到这里UPX脱完了!

一连的PUSH,跟PUSHAD差不多的!
00401402    57              push    edi
00401403  ^ 0F84 B3FDFFFF   je      004011BC

F8到这里,寄存器的信息如下:
=================================
EAX 00000000
ECX 00000000
EDX 7C92EB94 ntdll.KiFastSystemCallRet
EBX 7FFDF000
ESP 0012FFAC
EBP 0012FFF0
=================================
在命令行下如下命令:hr 12ffac   再 shift+F9
来到这里:
00401272    5F              pop     edi
00401273    5E              pop     esi
00401274    5A              pop     edx
00401275    59              pop     ecx
00401276    5B              pop     ebx
00401277    58              pop     eax
00401278  ^ E9 E3FEFFFF     jmp     00401160
。。。
00401160   /E9 EC2A0000     jmp     00403C51
00401165   |C9              leave
。。。
这里就到OEP了!

00403C51    55              push    ebp
00403C52    8BEC            mov     ebp, esp
00403C54    6A FF           push    -1
00403C56    68 F0724000     push    004072F0
00403C5B    68 C4504000     push    004050C4
00403C60    64:A1 00000000  mov     eax, dword ptr fs:[0]

IAT的修复就不说了!
====================下面是附加数据的处理!====================
用PE编辑器查看区段信息!
最后一个区段的Roffset跟RSize相加得到:16A00H+600H = 17000H
用HEX编辑器打开原来未脱壳的文件!来到17000H处:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00016FE0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00016FF0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00017000   A5 B7 9A 82 04 00 00 00  A3 7C E3 0C 71 EC 32 A0   シ殏....?q??
00017010   5B 93 1B A3 04 7F E0 DE  F5 B8 9F 64 8A 93 54 C7   [??噢醺焏姄T

看到一堆的0数据跟附加数据的分割处:0x00017000
在这里开始到文件末,全部以HEX格式复制下来!
再用HEX编辑器打开刚才脱壳完并修复过IAT的文件,来到文件末,粘贴,保存!
到这里,附加数据就处理完了!
上传的附件:
2008-9-24 22:13
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我脱的跟楼上的不一样 我先用ESP定律  然后单步走  没走几步就到OEP了
00403C51    55              push    ebp
00403C52    8BEC            mov     ebp, esp
00403C54    6A FF           push    -1
00403C56    68 F0724000     push    004072F0
00403C5B    68 C4504000     push    004050C4
00403C60    64:A1 00000000  mov     eax, dword ptr fs:[0]
00403C66    50              push    eax
00403C67    64:8925 0000000>mov     dword ptr fs:[0], esp
00403C6E    83EC 58         sub     esp, 58
00403C71    53              push    ebx
IAT修复之后依然出错   提示  Invalid data in the file?
   不知道是为什么?
2008-9-25 00:02
0
雪    币: 317
活跃值: (93)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
10
附加数据处理上即可,现在拿ZP的demo版加,还不如不加的好!
2008-9-25 06:58
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
Invalid data in the file

数据无效,如何弄,
  
1.用PELORD 中的Rebuild PE,无效

2.用花指令去除器,无效

3.用附加数据去处器,无效

难道是,文件中的什么东西需要手动修复,还是文件有自检模块.

oh!god!help!send help!

再次谢谢!感谢 美丽破船 peeler kanxue
2008-9-25 08:21
0
雪    币: 65
活跃值: (811)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
12
就是处理一下附加数据就可以了!
具体的方法我帖出来了,希望对你有所帮助!
2008-9-25 08:49
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
附加数据已经处理了   用的是 工具   不知道怎么手动处理
2008-9-25 13:02
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
   不好意思  刚才没有仔细看    现在终于明白怎么修复了
2008-9-25 13:07
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
非常感谢 美丽破船!

已经学会了!

支持看雪!
2008-9-26 14:41
0
游客
登录 | 注册 方可回帖
返回
//