d78063346 发表于 2009-9-29 13:58:55

新人学习,ASPack 2.12 -> Alexey Solodovnikov(第一课)

本人也为新手,大牛们别笑,发此贴只为新手学习只用。本节用ESP定律脱壳此脱法很容易很适合新人脱难度不大的壳!

用PEID查壳为ASPack 2.12 -> Alexey Solodovnikov

用插件VEra1.5查壳为 Error, may be it's not ASProtect!   --说明只是ASPack 2.12的壳


第一章:
OD加载程序,入口地址为:
004BE001 >60            pushad    ——F8下去
004BE002    E8 03000000   call    GameCent.004BE00A——到这里看寄存器,就是OD最右上角的里面
                                                               上面显示有EAX ECX等等的那个窗口 右键点击ESP-                                                       在数据窗口中跟随 看OD的最左下角的窗口里,(显示方式最好为长形-地址)里面有行这个 0012FFA47C930208ntdll.7C930208 右键-断点-设置硬件访问断点-WORD-直接F9,看文章第2章

004BE007- E9 EB045D45   jmp   45A8E4F7
004BE00C    55            push    ebp
004BE00D    C3            retn
004BE00E    E8 01000000   call    GameCent.004BE014
004BE013    EB 5D         jmp   short GameCent.004BE072
004BE015    BB EDFFFFFF   mov   ebx,-13
004BE01A    03DD            add   ebx,ebp
004BE01C    81EB 00E00B00   sub   ebx,0BE000
004BE022    83BD 22040000 0>cmp   dword ptr ss:,0


第二章:
上面的F9运行停止后显示为下面的代码:
下面的代码为红色的跳转 F8跳过来
004BE3B0   /75 08         jnz   short GameCent.004BE3BA
004BE3B2   |B8 01000000   mov   eax,1
004BE3B7   |C2 0C00         retn    0C
004BE3BA   \68 AC894900   push    GameCent.004989AC

OD停在(004BE3BA)处 这里按F7吧-因为快到OEP了!

004BE3BF    C3            retn    到这里的时候是回跳retn是回跳的命令(我说的不知道对不对哦,反正是这个意思)
至于回跳到哪,看堆栈里面显示--返回到 004989AC (GameCent.004989AC)
下面就别按了,看第三章。


004BE3C0    8B85 26040000   mov   eax,dword ptr ss:
004BE3C6    8D8D 3B040000   lea   ecx,dword ptr ss:
004BE3CC    51            push    ecx
004BE3CD    50            push    eax


第三章:
显示如下:
004989AC    55            push    ebp             这个就是Delphi的PE头,也就是说我们已经到了OEP,
004989AD    8BEC            mov   ebp,esp         记住这些头代码,下面就可以脱壳修复。看第4章。
004989AF    83C4 F0         add   esp,-10
004989B2    53            push    ebx
004989B3    B8 4C874900   mov   eax,GameCent.0049874C
004989B8    E8 AFDAF6FF   call    GameCent.0040646C
004989BD    8B1D ECA94900   mov   ebx,dword ptr ds:      ; GameCent.0049BBF0
004989C3    8B03            mov   eax,dword ptr ds:
004989C5    E8 5EB1FDFF   call    GameCent.00473B28
004989CA    8B03            mov   eax,dword ptr ds:
004989CC    C740 78 6400000>mov   dword ptr ds:,64
004989D3    8B03            mov   eax,dword ptr ds:
004989D5    C780 80000000 6>mov   dword ptr ds:,64
004989DF    8B03            mov   eax,dword ptr ds:
004989E1    C740 74 983A000>mov   dword ptr ds:,3A98
004989E8    8B0D 60A84900   mov   ecx,dword ptr ds:      ; GameCent.0049C9BC
004989EE    8B03            mov   eax,dword ptr ds:
004989F0    8B15 70984800   mov   edx,dword ptr ds:      ; GameCent.004898BC
004989F6    E8 45B1FDFF   call    GameCent.00473B40

第4章:
脱壳用工具LordPE这个工具网上很多可以下载在程序里找到我们脱壳的文件,右键-修正镜像大小-完整转存,文件名自订
这下脱壳就好了,下面是修复。
修复用工具Import,网上也有下,现在去OD在OD里面直接右键-用OllyDump脱壳调试进程
显示为什么修正地址啊 大小啊 入口点地址之类的,那些不用管了,直接看入口点地址-修正为-这个里面的数据,
我的显示为989AC,复制这数据,去Import里,选择DLL找到我们要脱的文件进程,会加载很多的数据和进程不管它,把我们复制的数据写到里面的OEP里,点击自动查找(显示可能发现了原始IAI地址....)再点击获取输入表,这样要修复的文件数据全找来了,下面再点击修复转存的文件,找到我们脱壳后的那个文件选择就行了,Import 最下面提示。。。保存成功


本人用的所有软件全为中文版,如你是英文的,可能有地方不对 建议英文版,我英文不济,所以。。。。。

好了 上面的就是ASPack 2.12 -> Alexey Solodovnikov的脱壳过程,供新手学习,见笑处,大家谅解哦。。。。
后面其他的壳陆续更新,本课为第一课,没有图片说明 以后我会加上图片,那样看起来会更好些。。

[ 本帖最后由 d78063346 于 2009-9-30 14:25 编辑 ]

leihc1017 发表于 2009-10-1 17:26:08

收下,多谢楼主!!

sekmart 发表于 2009-10-2 08:10:07

esay to everyone study/:014

nbrspx 发表于 2009-10-2 21:43:26

收下了,要好好向楼主学习!!!

qqlinhai 发表于 2009-10-11 09:36:46

谢谢楼主的分享,顶一个

302 发表于 2009-10-31 19:41:30

谢谢楼主分享 对新人很有帮助

gmrgmr 发表于 2009-11-15 22:20:39

是个好东西,利用 系统 漏洞实现的

shenaihui 发表于 2009-11-16 13:02:45

向楼主学习····

linwenlin 发表于 2010-1-3 23:19:42

向楼主学习,最好有视频教程比较看得懂/:014

wdcvgy007 发表于 2010-1-10 20:00:24

估计 学了点 还不太明白 原因
页: [1] 2
查看完整版本: 新人学习,ASPack 2.12 -> Alexey Solodovnikov(第一课)