飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5810|回复: 10

[原创] AsPACK v2.11快速脱壳指南

[复制链接]
  • TA的每日心情
    开心
    2019-2-21 12:33
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    发表于 2007-2-14 17:59:05 | 显示全部楼层 |阅读模式
    【破文标题】AsPACK v2.11快速脱壳指南
    【破文作者】王猛
    【作者邮箱】12985462@QQ.com
    【作者主页】www.81mil.cn
    破解工具】OllyDBG
    【破解平台】Windows SP2
    【软件名称】PYG 5.4 Cracker 小组 课外练习1
    【软件大小】174 KB
    【原版下载】https://www.chinapyg.com/viewthread.php?tid=4772
    【保护方式】注册码
    【软件简介】PYG Cracker 学习小组课外练习题 一
    【破解声明】只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
    ------------------------------------------------------------------------
    【破解过程】

    一、查壳分析

    利用PEiD可以识别到这个程序使用了AsPack 2.11来加壳。

    二、脱壳过程

    用OllyDBG加载Crackme1后,停在这里:

    0046A001 >  60              PUSHAD                                   ; OllyDBG加载后停在此行
    0046A002    E9 3D040000     JMP CRACKME1.0046A444
    0046A007    45              INC EBP                                  ; 鼠标选中后,按F4跟到此行。

    按照注释部分操作,现在按F4,代码有点变化了:

    0046A001 >  60              PUSHAD                                   ; OllyDBG加载后停在此行
    0046A002    E9 3D040000     JMP CRACKME1.0046A444
    0046A007    E8 24040000     CALL CRACKME1.0046A430                   ; 鼠标选中后,按F4跟到此行。

    按快捷键Ctrl+S打开查找命令序列窗口,搜索下面4行特征码:

    MOV EAX,1
    RETN 0C
    PUSH 0
    RETN

    简单用下面两行估计也可以吧??

    PUSH 0
    RETN

    我们找到了下面的代码:

    0046A3AD    B8 01000000     MOV EAX,1                                ; 搜索过来了,要找的4行特征码
    0046A3B2    C2 0C00         RETN 0C                                  ; 都在,就这里了!哈哈!!!
    0046A3B5    68 00000000     PUSH 0                                   ; 选中本行后按F4,找到OEP地址了:004584F0。
    0046A3BA    C3              RETN                                     ; 跳到OEP!(F7或F8到这里都可以)

    上翻看看上边的代码,有什么?

    0046A3AA    61              POPAD                                    ; 看到POPAD没?快脱了!

    选中0046A3B5这一行,按F4跟过去。

    0046A3AD    B8 01000000     MOV EAX,1                                ; 搜索过来了,要找的4行特征码
    0046A3B2    C2 0C00         RETN 0C                                  ; 都在,就这里了!哈哈!!!
    0046A3B5    68 F0844500     PUSH CRACKME1.004584F0                   ; 选中本行后按F4,找到OEP地址了:004584F0。
    0046A3BA    C3              RETN                                     ; 跳到OEP!(F7或F8到这里都可以)

    注意0046A3B2这行代码,0045844F0就是我们要找的OEP!按F7或者F8往下跟,我们就看到入口了!

    004584F0    55              PUSH EBP                                 ; 这里就是真正OEP!
    004584F1    8BEC            MOV EBP,ESP
    004584F3    83C4 F4         ADD ESP,-0C
    004584F6    B8 A0834500     MOV EAX,CRACKME1.004583A0
    004584FB    E8 30DAFAFF     CALL CRACKME1.00405F30

    三、DUMP和修复

    在入口点,利用OllyDUMP插件,我们将程序从内存中DUMP出来,最好不要选择重建输入表,我们一会儿用ImpREC建立。在这里我将DUMP出来的程序命名为crackme1_unpacked.exe。

    启动带壳子的crackme1.exe,用ImpREC读取该程序。需要的IAT信息中OEP填入:000584F0,点“自动查找IAT”按钮,当IAT信息读取完成之后,点“修复转储文件”按钮在新打开的对话框中选择crackme1_unpacked.exe,短暂等待之后修复好的文件将命名为 crackme1_unpacked_.exe,脱壳完成!

    ------------------------------------------------------------------------
    【破解总结】脱这个壳子时,千万不要被一开始出现的JMP所迷惑,直接跳到第三行,然后查找特征码就可以秒杀OEP了!
    ------------------------------------------------------------------------
    【版权声明】本文由王猛(www.81mil.cn)原创撰写,转载请注明作者并保持文章的完整, 谢谢!

    [ 本帖最后由 ruyi7952 于 2007-2-14 20:34 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-2-14 20:15:57 | 显示全部楼层
    如果直接用PEID呢?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-2-21 12:33
  • 签到天数: 17 天

    [LV.4]偶尔看看III

     楼主| 发表于 2007-2-14 20:35:34 | 显示全部楼层
    用PEID,使用它的通用脱壳插件可以自动找到OEP,将脱出来的文件用IMPREC修复就可以了。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-15 17:38:53 | 显示全部楼层
    按照注释部分操作,现在按F4,代码有点变化了:

    0046A001 >  60              PUSHAD                                   ; OllyDBG加载后停在此行
    0046A002    E9 3D040000     JMP CRACKME1.0046A444
    0046A007    E8 24040000     CALL CRACKME1.0046A430                   ; 鼠标选中后,按F4跟到此行。






    请问,为什么会发生这种变化?
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-2-21 12:33
  • 签到天数: 17 天

    [LV.4]偶尔看看III

     楼主| 发表于 2007-2-15 19:05:19 | 显示全部楼层
    原帖由 lingshan 于 2007-2-15 17:38 发表
    按照注释部分操作,现在按F4,代码有点变化了:

    0046A001 >  60              PUSHAD                                   ; OllyDBG加载后停在此行
    0046A002    E9 3D040000     JMP CRACKME1.0046A444
    ...

    因为代码开始运行了,在深入的我也说不出来了。
    我对这些东西一点了解都没有,抱歉!我刚学三天而已啊!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-17 09:05:41 | 显示全部楼层
    还是不太懂!!谢谢了!!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-18 13:32:50 | 显示全部楼层
    谢谢了 学习中
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-18 20:45:03 | 显示全部楼层
    我发现我很难看懂文字的东西,还真郁闷
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-2-18 21:18:18 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-30 09:21:49 | 显示全部楼层
    也来学习了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表