首页
社区
课程
招聘
[求助]学习脱壳,一个upx壳,脱的过程中看似正常,结果运行不能!
发表于: 2007-3-29 14:37 7326

[求助]学习脱壳,一个upx壳,脱的过程中看似正常,结果运行不能!

2007-3-29 14:37
7326
一个程序,用peid和fi查都是UPX加壳,OD载入提示压缩:

00778A10 >  60              pushad                                   ; 比较象 UPX的壳入口
00778A11    BE 00106C00     mov     esi, 006C1000
00778A16    8DBE 0000D4FF   lea     edi, dword ptr [esi+FFD40000]
00778A1C    57              push    edi
00778A1D    83CD FF         or      ebp, FFFFFFFF
00778A20    EB 10           jmp     short 00778A32
00778A22    90              nop
00778A23    90              nop
00778A24    90              nop
00778A25    90              nop
00778A26    90              nop
00778A27    90              nop
00778A28    8A06            mov     al, byte ptr [esi]

......................................................

00778B6A    09C0            or      eax, eax                         ; ntdll.RtlGetLastWin32Error
00778B6C    74 07           je      short 00778B75
00778B6E    8903            mov     dword ptr [ebx], eax
00778B70    83C3 04         add     ebx, 4
00778B73  ^ EB D8           jmp     short 00778B4D
00778B75    FF96 F0DE3700   call    dword ptr [esi+37DEF0]
00778B7B    61              popad                                    ; 与之对应的popad
00778B7C  - E9 9C56E7FF     jmp     005EE21D                         ; 大跳转,应该是OEP了吧
00778B81    0000            add     byte ptr [eax], al
00778B83    0000            add     byte ptr [eax], al
00778B85    0000            add     byte ptr [eax], al

..........................................

005EE21D    6A 74           push    74                               ; 跳到此处,OEP
005EE21F    68 38BC6200     push    0062BC38
005EE224    E8 43090000     call    005EEB6C
005EE229    33DB            xor     ebx, ebx
005EE22B    895D E0         mov     dword ptr [ebp-20], ebx
005EE22E    53              push    ebx
005EE22F    8B3D 1C226000   mov     edi, dword ptr [60221C]          ; kernel32.GetModuleHandleA
005EE235    FFD7            call    edi
005EE237    66:8138 4D5A    cmp     word ptr [eax], 5A4D
005EE23C    75 1F           jnz     short 005EE25D
005EE23E    8B48 3C         mov     ecx, dword ptr [eax+3C]
005EE241    03C8            add     ecx, eax

看到了OEP,于是我用Lordpe完全脱壳,用ImportREC修复,获取的ITA都是完好的,修复。仍然不能运行,出现错误报告。
如果我用OD自带的Dump插件,选择修复输入表,则程序运行后看不到界面,进程中也没有,感觉是运行后就退出了。

请大家帮忙分析一下,运行就出错,是不是程序制造者手动偷代码导致的?
运行无反应,是不是程序自校验,发现自己被脱壳所以退出的?
我是新手,希望有时间的大侠们帮忙分析一下。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 319
活跃值: (2404)
能力值: ( LV12,RANK:980 )
在线值:
发帖
回帖
粉丝
2
估计是自校验吧
2007-3-29 14:39
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那第一种情况是什么原因呢?难道把输入表弄坏了?
2007-3-29 17:58
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
upx壳,你尝试用upx本身脱,upx -d 文件名
如果运行还是退出,肯定是自校验了,用OD加载脱壳的文件跟踪一下,找到校验点即可。
2007-3-29 18:19
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢,我用自身的upx脱壳再试一下,不过我感觉应该不会只是upx那么简单~~~
2007-3-31 20:56
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
upx自身不能脱,提示 file is modified/hacked/protected;take care!!
看来只能调一下脱后的程序了。
2007-3-31 21:02
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
用Peid自带插件脱,然后搞定校验
2007-4-2 08:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
...........
2007-4-2 14:43
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
9
自校验,处理下就OK了
2007-4-2 17:34
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
10
呵呵 都是些说话不做事型~我也来继承
大家继续保持
2007-4-2 17:38
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
:):):):)
2007-4-2 18:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
只是来学习~
2007-4-3 09:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习中。。。。。。。。
2007-4-4 00:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我也在弄UPX壳,看起很简单,脱起来就不是哪么回事。
2007-4-4 07:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
正常的UPX壳是比较简单的,但是变形或者自校验的感觉不是很好脱~
2007-4-5 19:07
0
游客
登录 | 注册 方可回帖
返回
//