首页
社区
课程
招聘
[旧帖] 老大们如何脱这个UPX壳 0.00雪花
发表于: 2007-2-28 13:28 3761

[旧帖] 老大们如何脱这个UPX壳 0.00雪花

2007-2-28 13:28
3761
用DiE 0.52 查壳显示“UPX <.modified.>”
OD加载后如下所示:
0048F1E0 > $  60            pushad
0048F1E1   .  BE 00B04600   mov     esi, 0046B000
0048F1E6   .  8DBE 0060F9FF lea     edi, [esi+FFF96000]
0048F1EC   .  57            push    edi
0048F1ED   .  83CD FF       or      ebp, FFFFFFFF
0048F1F0   .  E8 EB11F7FF   call    004003E0
0048F1F5   .^ E2 E2         loopd   short 0048F1D9
0048F1F7   .^ E2 F8         loopd   short 0048F1F1
0048F1F9   .  74 34         je      short 0048F22F
0048F1FB   .  FA            cli
0048F1FC   >  75 35         jnz     short 0048F233
0048F1FE   .^ 73 A9         jnb     short 0048F1A9
0048F200   .  07            pop     es
0048F201   .^ 75 F9         jnz     short 0048F1FC
0048F203   .  6C            ins     byte ptr es:[edi], dx
0048F204   .  F1            int1

在 0048F1F0   .  E8 EB11F7FF   call    004003E0
中F7跟进去显示:
004003E0    58              pop     eax                              ; Be.0048F1F5
004003E1    89C3            mov     ebx, eax
004003E3    83C0 0D         add     eax, 0D
004003E6    BA 729A7947     mov     edx, 47799A72
004003EB    B9 5C010000     mov     ecx, 15C
004003F0    3116            xor     [esi], edx
004003F2    3013            xor     [ebx], dl
004003F4    43              inc     ebx
004003F5  ^ E2 FB           loopd   short 004003F2
004003F7    FFE0            jmp     eax

一直F8跟踪到如下:
0048F330   .  48            dec     eax
0048F331   .  F2:AE         repne   scas byte ptr es:[edi]
0048F333   .  55            push    ebp
0048F334   .  FF96 68110900 call    [esi+91168]                      ;  kernel32.GetProcAddress
0048F33A   .  09C0          or      eax, eax
0048F33C   .  74 07         je      short 0048F345
0048F33E   .  8903          mov     [ebx], eax
0048F340   .  83C3 04       add     ebx, 4
0048F343   .^ EB D8         jmp     short 0048F31D
0048F345   >  FF96 6C110900 call    [esi+9116C]
0048F34B   >  61            popad
0048F34C   .- E9 735DF7FF   jmp     004050C4
0048F351      00            db      00
0048F352      00            db      00

看到明显的:0048F34B   >  61            popad
0048F34C   .- E9 735DF7FF   jmp     004050C4

直接F7跟进去:
004050C4    68 A0554000     push   004055A0 ;ASCII "VB5!6&vb6chs.dll"
004050C9    E8 F0FFFFFF     call   004050BE ; jmp 到 VBVM60.ThunRTMain
004050CE    0000            add     [eax], al
004050D0    48              dec     eax

在004050C4    68 A0554000     push   004055A0 ;ASCII "VB5!6&vb6chs.dll"进行脱壳,程序可以正常运行,但是好像总感觉不对,请老大们指点

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
2
为什么总感觉不对,分明对着嘛
2007-2-28 14:00
0
雪    币: 247
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
那里不对???清说清楚,各么

我感觉这样已经全对了,
2007-2-28 14:05
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢『CrackMe & ReverseMe』版主,但是我用OD查找字符串时,什么也没有找到,并不像一般没有加壳的程序一样可以找到内部的字符串信息可以进行修改,是不是资源表要修改?而且不像的程序一样入口是:
00401170 >/> \55            push    ebp
00401171  |.  8BEC          mov     ebp, esp
00401173  |.  81EC 98010000 sub     esp, 198

谢谢
2007-2-28 14:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
找什么字串 如果是VB的是找不到字串的
2007-2-28 20:24
0
雪    币: 202
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
第一次破VB的壳,感谢楼上各位大老;
脱壳出来的文件单独可以正常运行,但使用OD进行调试时出现异常,并且说程序自动退出;同时使用SmartCheck调试时也出现整个程序异常退出,SmartCheck调试其它的未加壳VB程序时可以正常运行?
2007-2-28 21:05
0
游客
登录 | 注册 方可回帖
返回
//