xoradd 发表于 2012-2-7 21:00

纯菜鸟脱ASPack 2.12 壳

本帖最后由 xoradd 于 2012-2-7 21:25 编辑

小小菜鸟脱ASPack 2.12 壳,大侠们飘过吧   看过几篇文章,找了个简单的壳脱下练练手
工具:吾爱破解版OD,太强大了,常用的工具都带,lord-pe,importREC


005C5001 >60            pushad
005C5002    E8 03000000   call Hide_Pri.005C500A                   ; 关键CALL,跟进(因为第一次步过程序运行)
005C5007- E9 EB045D45   jmp 45B954F7
005C500C    55            push ebp
005C500D    C3            retn
005C500E    E8 01000000   call Hide_Pri.005C5014                   ; 关键CALL,跟进(因为第二次步过程序运行)
005C5013    EB 5D         jmp XHide_Pri.005C5072
005C5015    BB EDFFFFFF   mov ebx,-0x13
005C501A    03DD            add ebx,ebp
005C501C    81EB 00501C00   sub ebx,0x1C5000
005C5022    83BD 22040000 0>cmp dword ptr ss:,0x0
005C5029    899D 22040000   mov dword ptr ss:,ebx

到这里,然后一路F8步过
005C5014    5D            pop ebp                                  ; Hide_Pri.005C5013
005C5015    BB EDFFFFFF   mov ebx,-0x13
005C501A    03DD            add ebx,ebp
005C501C    81EB 00501C00   sub ebx,0x1C5000
005C5022    83BD 22040000 0>cmp dword ptr ss:,0x0
005C5029    899D 22040000   mov dword ptr ss:,ebx
005C502F    0F85 65030000   jnz Hide_Pri.005C539A
005C5035    8D85 2E040000   lea eax,dword ptr ss:



005C512D    0BC9            or ecx,ecx
005C512F    74 2E         je XHide_Pri.005C515F
005C5131    78 2C         js XHide_Pri.005C515F
005C5133    AC            lods byte ptr ds:
005C5134    3C E8         cmp al,0xE8
005C5136    74 0A         je XHide_Pri.005C5142
005C5138    EB 00         jmp XHide_Pri.005C513A
005C513A    3C E9         cmp al,0xE9
005C513C    74 04         je XHide_Pri.005C5142
005C513E    43            inc ebx
005C513F    49            dec ecx
005C5140^ EB EB         jmp XHide_Pri.005C512D    到这里,程序往回跳到005C512D,根据大神们的经验,无视它,直接运行到下行
005C5142    8B06            mov eax,dword ptr ds:

注意下面还有类似的往回跳的跳转,直接运行到下行代码
还是一路F8步过直到005C53BF,注意retn返回到004F2F68,这是一个明显的大跳转
按大神们的经验,往往这是要跳到OEP了


005C53BF    C3            retn
005C53C0    8B85 26040000   mov eax,dword ptr ss:
005C53C6    8D8D 3B040000   lea ecx,dword ptr ss:
005C53CC    51            push ecx
005C53CD    50            push eax
005C53CE    FF95 490F0000   call dword ptr ss:
005C53D4    8985 55050000   mov dword ptr ss:,eax


到这里,右键--分析---从模块中分析删除,
004F2F68      55            db 55                                    ;CHAR 'U'
004F2F69      8B            db 8B
004F2F6A      EC            db EC
004F2F6B      83            db 83
004F2F6C      C4            db C4
004F2F6D      F0            db F0
004F2F6E      53            db 53                                    ;CHAR 'S'
004F2F6F      B8            db B8
004F2F70      10            db 10
004F2F71      2B            db 2B                                    ;CHAR '+'
004F2F72      4F            db 4F                                    ;CHAR 'O'
004F2F73      00            db 00
004F2F74      E8            db E8
004F2F75      EF            db EF
004F2F76      3B            db 3B                                    ;CHAR ';'
004F2F77      F1            db F1
004F2F78      FF            db FF


OK,是不是很熟悉,接下了DUMP吧,脱壳之后PEID查看Borland Delphi 6.0 - 7.0
记下笔记,DELPHI的OEP头部,好了继续尝试下破解

004F2F68    55            push ebp
004F2F69    8BEC            mov ebp,esp
004F2F6B    83C4 F0         add esp,-0x10
004F2F6E    53            push ebx
004F2F6F    B8 102B4F00   mov eax,Hide_Pri.004F2B10
004F2F74    E8 EF3BF1FF   call Hide_Pri.00406B68


注,这个是天草的教程所带的,还没看教程自己尝试了一下脱壳,还真让我蒙着了
继续研究破解他

字符串参考,明码,还不会追算法!继续努力学习

页: [1]
查看完整版本: 纯菜鸟脱ASPack 2.12 壳