首页
社区
课程
招聘
[旧帖] [原创]手工单步脱ASPack 2.12 -> Alexey Solodovnikov[申请邀请码] 0.00雪花
发表于: 2010-8-18 11:29 1544

[旧帖] [原创]手工单步脱ASPack 2.12 -> Alexey Solodovnikov[申请邀请码] 0.00雪花

2010-8-18 11:29
1544
本人新手,一直潜修,现手工脱壳测试,纯属练习,有不对的地方欢迎大家指正

软件  qqnmtf  (QQ农牧偷匪)   虽然很多人不赞成脱类似软件,不过本人是新手,手里大小合适的也就是这样的小程序了!

工具  OD   PEiD

废话不多说

OD载入程序,提示代码可能被压缩加密,是否继续分析,点否

004F0001 >  60              pushad                                            F8单步
004F0002    E8 03000000     call    004F000A                       ; F7跟进,否则会启动程序
004F0007  - E9 EB045D45     jmp     45AC04F7

我们来到这里:

004F000A    5D              pop     ebp                          ; qqnmtf.004F0007        F8单步
004F000B    45              inc     ebp
004F000C    55              push    ebp
004F000D    C3              retn
004F000E    E8 01000000     call    004F0014                   ; F7跟进,否则会启动程序
004F0013    EB 5D           jmp     short 004F0072

到这里:

004F0014    5D              pop     ebp                         ; qqnmtf.004F0013  F8单步
004F0015    BB EDFFFFFF     mov     ebx, -13
004F001A    03DD            add     ebx, ebp
004F001C    81EB 00000F00   sub     ebx, 0F0000
004F0022    83BD 88040000 0>cmp     dword ptr [ebp+488], 0
004F0029    899D 88040000   mov     dword ptr [ebp+488], ebx
004F002F    0F85 CB030000   jnz     004F0400
004F0035    8D85 94040000   lea     eax, dword ptr [ebp+494]

一直到这里:

004F0058    AE              scas    byte ptr es:[edi]
004F0059  ^ 75 FD           jnz     short 004F0058                ; 这里有个回跳
004F005B    3807            cmp     byte ptr [edi], al      ;单击这里,然后按F4 运行到选定位置
004F005D  ^\75 EE           jnz     short 004F004D                    ; 这里有个回跳
004F005F    8D45 7A         lea     eax, dword ptr [ebp+7A]      ;单击这里,然后按F4 运行到选定位置
004F0062    FFE0            jmp     eax
004F0064    56              push    esi
004F0065    6972 74 75616C4>imul    esi, dword ptr [edx+74], 416C617>

然后一路F8到这里
004F0132  ^ EB EB           jmp     short 004F011F          ; 这里有个回跳,注意
004F0134    8B06            mov     eax, dword ptr [esi]     ;这里单击然后F4
004F0136    EB 00           jmp     short 004F0138

继续F8直到这里

004F014C    83E9 05         sub     ecx, 5
004F014F  ^ EB CE           jmp     short 004F011F      ; 这里有个回跳,注意
004F0151    5B              pop     ebx                    ;这里单击然后F4
004F0152    5E              pop     esi

然后继续F8,直到这里

004F018F    833E 00         cmp     dword ptr [esi], 0
004F0192  ^ 0F85 2FFFFFFF   jnz     004F00C7            ;又是个回跳,注意
004F0198    68 00800000     push    8000                ;在这里单击然后F4
004F019D    6A 00           push    0

F8经过N个大跳小跳,来这这里

004F0367    8385 AD050000 0>add     dword ptr [ebp+5AD], 4
004F036E  ^ E9 2FFFFFFF     jmp     004F02A2                   ;还是回跳,注意啊
004F0373    8906            mov     dword ptr [esi], eax      ;这里单击然后 F4
004F0375    8946 0C         mov     dword ptr [esi+C], eax

F8几步就来到这里

004F037E    8B95 88040000   mov     edx, dword ptr [ebp+488]       ; qqnmtf.00400000
004F0384  ^ E9 E8FEFFFF     jmp     004F0271                  ;回跳回跳,注意啊
004F0389    8BB5 88040000   mov     esi, dword ptr [ebp+488] ;这里单击 然后F4
004F038F    8B7E 3C         mov     edi, dword ptr [esi+3C]

狂按F8  移步到这里

004F03F7    8947 24         mov     dword ptr [edi+24], eax
004F03FA  ^ E2 BB           loopd   short 004F03B7                ; 可恶的回跳,千万不要功亏一篑啊!   这是一个大回跳,据说是快到入口点的标志,呵呵,我们继续往下看。
004F03FC    FF55 6A         call    dword ptr [ebp+6A]   ;这里单击,然后F4
004F03FF    59              pop     ecx
004F0400    B8 94830700     mov     eax, 78394
004F0405    50              push    eax
004F0406    0385 88040000   add     eax, dword ptr [ebp+488]
004F040C    59              pop     ecx
004F040D    0BC9            or      ecx, ecx
004F040F    8985 0E040000   mov     dword ptr [ebp+40E], eax
004F0415    61              popad
004F0416    75 08           jnz     short 004F0420
004F0418    B8 01000000     mov     eax, 1
004F041D    C2 0C00         retn    0C
004F0420    68 94834700     push    00478394       ;果然哦F8几步之后就到了这里
004F0425    C3              retn                                     ; 返回点,这就是程序入口 F8进入
004F0426    8B85 8C040000   mov     eax, dword ptr [ebp+48C]

从004F0425这里F8之后,我们就来到了这里
00478394    E8 42680000     call    0047EBDB    ;传说中的程序入口!从这里Dump吧!
00478399  ^ E9 79FEFFFF     jmp     00478217
0047839E    3B0D 90884C00   cmp     ecx, dword ptr [4C8890]
004783A4    75 02           jnz     short 004783A8
004783A6    F3:             prefix rep:
004783A7    C3              retn
004783A8    E9 C4680000     jmp     0047EC71
004783AD    8BFF            mov     edi, edi
004783AF    51              push    ecx
004783B0    C701 704C4A00   mov     dword ptr [ecx], 004A4C70
004783B6    E8 BC690000     call    0047ED77
004783BB    59              pop     ecx
004783BC    C3              retn

好了,脱壳到这里就结束了,剩下的就是修复程序然后做想做的事了!

初次跟踪,难免有纰漏,请各位高手们指正!

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

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 261
活跃值: (55)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
支持下...加油..
2010-8-18 15:18
0
雪    币: 30
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个东西太简易了吧老兄....好像脱ASPACK是满大街都有教程吧....
2010-8-18 22:06
0
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
能贴上图片就更好了
2010-8-19 10:02
0
雪    币: 2921
活跃值: (2513)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这壳秒脱。。。说实话。。lz上个脱vmp的吧
2010-8-19 13:33
0
雪    币: 8
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呃~~~楼上的说的是什么东东?
2010-8-19 13:53
0
雪    币: 81
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
ls这样说不怎么好,毕竟是LZ的劳动成果,你懂了也不能这样说人家
2010-8-19 18:12
0
雪    币: 204
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个也是人家的劳动成果,再说技术如果很牛,就不用来了
2010-8-19 19:31
0
雪    币: 26
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个虽然很简单,但还是看不明白
2010-8-20 09:54
0
雪    币: 8
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢7,8楼支持,本人零基础初学,希望能在这里学东西,希望能得到大家的鼓励!
2010-8-20 11:34
0
游客
登录 | 注册 方可回帖
返回
//