首页
社区
课程
招聘
[旧帖] [原创][申请邀请码]巧脱QQ农场宝贝的 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 0.00雪花
发表于: 2009-10-12 18:39 1797

[旧帖] [原创][申请邀请码]巧脱QQ农场宝贝的 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 0.00雪花

2009-10-12 18:39
1797
QQ农场宝贝.exe

程序语言:易语言

压缩壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
第一次我尝试用 UpX shellex 脱。。结果未成功。然后只好利用OD打开看看。
OD打开后
首先单步跟踪
004EAEB0 > $ 60            pushad
004EAEB1   . BE 00804700   mov     esi, 00478000 //跳到这里 ESP现型 0012FFA4
004EAEB6   . 8DBE 0090F8FF lea     edi, dword ptr [esi+FFF89000]
004EAEBC   . 57            push    edi
004EAEBD   . 83CD FF       or      ebp, FFFFFFFF
004EAEC0   . EB 10         jmp     short 004EAED2

命令下输入dd 0012FFA4 回车 接着 断点-硬件访问-word 运行F9
004EAECD   . 47            inc     edi
004EAECE   > 01DB          add     ebx, ebx
004EAED0   . 75 07         jnz     short 004EAED9
004EAED2   > 8B1E          mov     ebx, dword ptr [esi]
004EAED4   . 83EE FC       sub     esi, -4 //TMD跳到这里。继续F8单步
004EAED7   . 11DB          adc     ebx, ebx
004EAED9   >^ 72 ED         jb      short 004EAEC8 //要往回跳
004EAEDB   . B8 01000000   mov     eax, 1 //F4 然后继续F8
004EAEE0   > 01DB          add     ebx, ebx

004EAF7E   > /8A02          mov     al, byte ptr [edx]
004EAF80   . |42            inc     edx
004EAF81   . |8807          mov     byte ptr [edi], al
004EAF83   . |47            inc     edi
004EAF84   . |49            dec     ecx
004EAF85   .^\75 F7         jnz     short 004EAF7E //这里要往回跳了
004EAF87   .^ E9 42FFFFFF   jmp     004EAECE
004EAF8C   > 8B02          mov     eax, dword ptr [edx] //在这F4, 继续F8

004EAF96   . 83E9 04       sub     ecx, 4
004EAF99   .^ 77 F1         ja      short 004EAF8C
004EAF9B   . 01CF          add     edi, ecx
004EAF9D   .^ E9 2CFFFFFF   jmp     004EAECE //又要往回跳了。
004EAFA2   > 5E            pop     esi    //这F4 继续F8
004EAFA3   . 89F7          mov     edi, esi

004EAFCF   . 83C7 05       add     edi, 5
004EAFD2   . 88D8          mov     al, bl
004EAFD4   .^ E2 D9         loopd   short 004EAFAF //要往回跳。
004EAFD6   . 8DBE 00800E00 lea     edi, dword ptr [esi+E8000] //F4 继续F8
004EAFDC   > 8B07          mov     eax, dword ptr [edi]

004EB011   . 8903          mov     dword ptr [ebx], eax
004EB013   . 83C3 04       add     ebx, 4
004EB016   .^ EB E1         jmp     short 004EAFF9 //又回跳
004EB018   > FF96 A4F70F00 call    dword ptr [esi+FF7A4]
004EB01E   > 8BAE 98F70F00 mov     ebp, dword ptr [esi+FF798]

。。。。
004EB049   . 57            push    edi
004EB04A   . FFD5          call    ebp
004EB04C   . 58            pop     eax
004EB04D   . 61            popad   //这F4 继续跳
004EB04E   . 8D4424 80     lea     eax, dword ptr [esp-80] //跳到这
004EB052   > 6A 00         push    0
004EB054   . 39C4          cmp     esp, eax
004EB056   .^ 75 FA         jnz     short 004EB052 //又要回跳
004EB058   . 83EC 80       sub     esp, -80 //F4 接着跳
004EB05B   .- E9 A05FF1FF   jmp     00401000 //直接跳到oep
004EB060      00            db      00

00401000    E8 06000000     call    0040100B
00401005    50              push    eax
00401006    E8 BB010000     call    004011C6                         ; jmp 到

kernel32.ExitProcess
0040100B    55              push    ebp   //这里直接DUMP 就OK了。
0040100C    8BEC            mov     ebp, esp
0040100E    81C4 F0FEFFFF   add     esp, -110
00401014    E9 83000000     jmp     0040109C
00401019    6B72 6E 6C      imul    esi, dword ptr [edx+6E], 6C

好我们在来查下壳。OK 已经掉了。
接着运行是否正常。OK。 可以用
         如果还有不明白的朋友可以加我QQ:1293988573 或在这里与我一起交流。并希望斑竹能给我个邀请码。。我还是临时会员

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
很简单的一个UPX
2009-10-12 18:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
恩,貌似有源码的
2009-10-12 20:05
0
雪    币: 62
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
第二个办法脱这个壳
OD打开程序看到第一句
004EAEB0 > $  60            pushad

都知道的有pushad就应该有popad,那我就直接查找CTRL+f 搜索“popad”代码来到
004EB04D   .  61            popad   //这里
004EB04E   .  8D4424 80     lea     eax, dword ptr [esp-80]
004EB052   >  6A 00         push    0
004EB054   .  39C4          cmp     esp, eax
004EB056   .^ 75 FA         jnz     short 004EB052
004EB058   .  83EC 80       sub     esp, -80
004EB05B   .- E9 A05FF1FF   jmp     00401000
004EB060      00            db      00
004EB061      00            db      00

按照正常的走法我是F8接着走,但是他居然往回跳。。
004EAEB1   .  BE 00804700   mov     esi, 00478000

我又搜索popad回到
004EB04D   .  61            popad   //这里,在次F8单步又一次回跳
004EAEB6   .  8DBE 0090F8FF lea     edi, dword ptr [esi+FFF89000]  //来到这
我连续实验了5次。每次都不同。但是5次过后,他就会循环。
(原因不明白。希望有高人指点下小弟)
最后没办法。 只好F4下面这个动态指针上面了。
004EB04E   .  8D4424 80     lea     eax, dword ptr [esp-80]

但是具体这个指针有什么作用小弟很是不解 ,然后继续F8
004EB052   > /6A 00         push    0
004EB054   . |39C4          cmp     esp, eax
004EB056   .^\75 FA         jnz     short 004EB052

在上面这里徘徊。因为已经搞过这个了。 所以直接在下面的
004EB052   > /6A 00         push    0
004EB054   . |39C4          cmp     esp, eax
004EB056   .^\75 FA         jnz     short 004EB052
004EB058   .  83EC 80       sub     esp, -80 //这里F4 后F8直接跳到了。 下面
004EB05B   .- E9 A05FF1FF   jmp     00401000  //在按F8就到EOP 了 DUMP就可以了。

上面两位高人,小弟只是刚入门不久,所以以后多多关照。
   但是至于3楼说的有源代码,不知道您指的这篇文章有了还是程序有代码了?
  我也找了下这个程序确实没有源代码,有相同的代码。但不是这个E语言写的。或许我没找到吧。不过我还是很愿意和高人一起学习的。另外这个方法有很多不明白之处,还希望其他高人指点。
2009-10-13 12:21
0
雪    币: 271
活跃值: (18)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
5
popad或者esp定律。这个壳有4种脱壳方法。不够脱壳出来的。你查看一下节段。感觉还是有点猫腻。
2009-10-21 10:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呵呵,看下。。。。。。。
2009-12-25 13:46
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习下。菜菜没看懂哦
2009-12-25 15:40
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
upx  的壳  不成问题!!呵呵!!  不过谢谢
2009-12-25 16:24
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好好学习!
2009-12-25 16:32
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
这么简单的也发出来????
2009-12-25 19:23
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
简单? 你写个静态脱壳机出来看看`?
2009-12-25 19:32
0
游客
登录 | 注册 方可回帖
返回
//