飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3356|回复: 2

[加密壳] 最后一次异常法脱:ASProtect 1.2 1.2c- Alexey Solodovnikov

[复制链接]
  • TA的每日心情
    开心
    2022-11-26 13:46
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2010-4-18 08:50:41 | 显示全部楼层 |阅读模式
    最后一次异常法脱:ASProtect 1.2  1.2c- Alexey Solodovnikov
       
        前一段时间在一家餐厅打工,一直也没有学习破解,现在要写毕业论文了,又要碰电脑了,忍不住玩玩破解,玩壳子不行,找个软柿子捏捏,丑文奉上,偶的一点心得愿与大家共同分享*_*

    1.查壳:ASProtect 1.2 / 1.2c-> Alexey Solodovnikov;
    2.将目标程序载入OD,忽略所有异常,Shift+F9 N次,程序运行起来的时候记录下次数;
    3.重新加载程序,Shift+F9 N-1次,来到下面:

    (本程序在我这里Shift+F9 21次后运行起来,那么我们重新加载程序Shift+F9 20次):

    01407986    FF07               INC DWORD PTR DS:[EDI]     ; //Shift+F9 20次以后停在这里!
    01407988  ^ EB E8              JMP SHORT 01407972
    0140798A    E8 0B000000        CALL 0140799A
    0140798F    1BC0               SBB EAX,EAX
    01407991    F8                 CLC
    01407992    E9 0A000000        JMP 014079A1
    01407997    F8                 CLC
    01407998    23C6               AND EAX,ESI
    0140799A    98                 CWDE
    0140799B    13C0               ADC EAX,EAX
    0140799D    C3                 RETN                       ; //在这里下断点,Shift+F9运行到这里,然后取消断点,打开内存镜像,                                              在code段下断点,Shift+F9即可直接到达程序OEP!
    0140799E    C1E8 D3            SHR EAX,0D3                ; Shift constant out of range 1..31
    ----------------------------------------------------------------------------------------------
    00441AF0    55                        PUSH EBP                        ; //OEP is here!
    00441AF1    8BEC                      MOV EBP,ESP
    00441AF3    6A FF                     PUSH -1
    00441AF5    68 509E4400               PUSH FullScr3.00449E50
    00441AFA    68 8E1C4400               PUSH FullScr3.00441C8E          ; JMP to MSVCRT._except_handler3
    00441AFF    64:A1 00000000            MOV EAX,DWORD PTR FS:[0]
    00441B05    50                        PUSH EAX                        ; FullScr3.00441AF0
    00441B06    64:8925 00000000          MOV DWORD PTR FS:[0],ESP
    00441B0D    83EC 68                   SUB ESP,68
    00441B10    53                        PUSH EBX
    00441B11    56                        PUSH ESI
    00441B12    57                        PUSH EDI                        ; ntdll.7C930208
    ----------------------------------------------------------------------------------------------
    4.脱壳修复
      ①OD自带插件脱壳修复→能运行;
      ②LordPE转存修复→不能运行。
    5.查壳:Microsoft Visual C++ 6.0

    我的小问题:

    1.为什么用这样的方法就可以到达程序OEP,这里只是学习一下脱壳的方法,原理之类的东西不懂,希望有经验的前辈抽时间讲解一下;
    2.本程序用LordPE转存的话再修复,修复后的程序不能运行,用OD自带的插件脱壳修复能运行,不知道是怎么回事,望前辈指点;

    By:yAtEs 2010.4.18

    教程就到这里,谢谢大家观看!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2018-5-3 09:13
  • 签到天数: 401 天

    [LV.9]以坛为家II

    发表于 2010-4-22 19:16:17 | 显示全部楼层
    附件中是脱壳后的?
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2021-5-28 15:41
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2012-2-14 11:32:18 | 显示全部楼层
    学习了很不错的
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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