飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9045|回复: 14

[原创] RLPack V1.15-V1.17 (aPlib 0.43) -> ap0x脱壳去自校验(敬告一些无视版规的朋友们)

[复制链接]
  • TA的每日心情
    慵懒
    2018-6-6 15:51
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-9-27 11:21:12 | 显示全部楼层 |阅读模式

    希望这位会员下次注意~也在此提醒下其它的会员~请遵规则~

    一.查壳得知为RLPack V1.15-V1.17 知道有这壳以前没搞过拿它来练手吧~看这位朋友坚持着破例写一次 OD载入看下入口点
    004F2CD7 >  60              PUSHAD                                /F8
    004F2CD8    E8 00000000     CALL 004F2CDD                         /F8到这里停下 看寄存器ESP值显红色,右链--跟随到数据窗口
    004F2CDD    8B2C24          MOV EBP,DWORD PTR SS:[ESP]
    004F2CE0    83C4 04         ADD ESP,4
    004F2CE3    8DB5 53030000   LEA ESI,DWORD PTR SS:[EBP+353]
    004F2CE9    8D9D 02020000   LEA EBX,DWORD PTR SS:[EBP+202]
    004F2CEF    33FF            XOR EDI,EDI
    004F2CF1    E8 45010000     CALL 004F2E3B
    004F2CF6    EB 0F           JMP SHORT 004F2D07

    //很明显的直接ESP定律试下(基础的知识还是要掌握的,好比打字开始要看着键盘打,熟练了可以不用看键盘打,甚至可以忘记掉五笔的字根,引用fonge兄弟的话,忘记掉一切意由我随行)

    0012FFA4  7C930738  ntdll.7C930738      右链--断点-硬件访问-word 下好断之后SHIFT+F9 断在下面

    004F2E16    61              POPAD
    004F2E17  - E9 9C4DF9FF     JMP 00487BB8       //断在这里 F8单步到过OEP
    004F2E1C    61              POPAD

    00487BB8    55              PUSH EBP              //OEP 完整DUMP&FIX 之后程序为DELPHI程序但运行不起来,看了下应该是有自校验
    00487BB9    8BEC            MOV EBP,ESP
    00487BBB    83C4 F0         ADD ESP,-10
    00487BBE    B8 B8794800     MOV EAX,004879B8
    00487BC3    E8 84E3F7FF     CALL 00405F4C
    00487BC8    A1 7C9C4800     MOV EAX,DWORD PTR DS:[489C7C]
    00487BCD    8B00            MOV EAX,DWORD PTR DS:[EAX]
    00487BCF    E8 288BFEFF     CALL 004706FC
    00487BD4    8B0D 789D4800   MOV ECX,DWORD PTR DS:[489D78]            ; kRavSnCh.0048AC60

    二.去除自校验 OD载入脱壳修复的文件 直接F9 产生异常来到
    0041851B  |.  8B73 08       MOV ESI,DWORD PTR DS:[EBX+8]   /看信息栏,这样当然运行不起来了
    DS:[00000019]=???
    ESI=00E91804

    向上翻几行来到此段的代码头

    00418514  /$  53            PUSH EBX                   //看这里,有N多CALL调用此处crtl+r查看所有调用 在每个调用的CALL上下好断点(一共52个)重载程序
    00418515  |.  56            PUSH ESI
    00418516  |.  57            PUSH EDI
    00418517  |.  8BFA          MOV EDI,EDX
    00418519  |.  8BD8          MOV EBX,EAX
    0041851B  |.  8B73 08       MOV ESI,DWORD PTR DS:[EBX+8]

    重载程序后SHIFT+F9运行程序 一直运行直到出现错误为止,然后按下小键盘上的 "-"号看看是哪个CALL调用了这里产生错误异常,于是发现是这里调用了这段代码导致出错.
    00418118  /$  53            PUSH EBX
    00418119  |.  E8 E2DDFEFF   CALL 00405F00
    0041811E  |.  8B98 0C000000 MOV EBX,DWORD PTR DS:[EAX+C]
    00418124  |.  85DB          TEST EBX,EBX
    00418126  |.  75 19         JNZ SHORT 00418141
    00418128  |.  B2 01         MOV DL,1
    0041812A  |.  A1 205E4100   MOV EAX,DWORD PTR DS:[415E20]
    0041812F  |.  E8 14B0FEFF   CALL 00403148
    00418134  |.  8BD8          MOV EBX,EAX
    00418136  |.  E8 C5DDFEFF   CALL 00405F00
    0041813B  |.  8998 0C000000 MOV DWORD PTR DS:[EAX+C],EBX
    00418141  |>  E8 BADDFEFF   CALL 00405F00
    00418146  |.  8B90 08000000 MOV EDX,DWORD PTR DS:[EAX+8]
    0041814C  |.  8BC3          MOV EAX,EBX
    0041814E  |.  E8 C1030000   CALL 00418514    //这个CALL调用了那段代码而产生了异常错误,好找到关键地方了,在此段代码的首(00418118)下好段,重载程序其它的断点暂时留着我也不知道还会有哪个CALL会调用那段代码,重载好了,SHIFT+F9运行直到停在"00418118"(刚才查得是这个CALL调用那段代码从而导致了异常).N十次SHIFT+f9之后停在了这里仔细的看下这两行

    00418126  |. /75 19         JNZ SHORT 00418141 //我想这里一定是跳走了,从而导至了异常
    00418128  |. |B2 01         MOV DL,1           //敏感的东西~不会用语言表达~算是一个标志位吧~或许在代码的前面还有关键点.暂时从上面这个跳转动手吧


    00418126  |. /75 19         JNZ SHORT 00418141  //把它行NOP掉~让其不跳~直接附以标志
    00418126      90            NOP                 // 修改完毕之后,禁用所有断点(因为之前下了好多断点,不先禁用会停好多次^_^),运行测试一下,结果正常~
    00418127      90            NOP


    三.小结
    此壳不难关键在于去校验~首先要求大家要能区别什么情况是脱壳不正确产生的错误~什么样的情况是程序的校验~这就要求大家在平时要多做练习~多总结!欢迎遇到问题发贴出来讨论~而不是一味的把自己搞不定的程序放到论坛上来"求 脱"~如果哪位兄弟帮你脱好了放了个脱好的给你~你学到什么呢~如果单纯的是为了用这个程序你脱它目的何在?修改?把原创作者的信息改成自己的?这样不尊重别人劳动成果的人或许真的就是RPYWT.

    请遵守版规~下次再有此类情况~一律严惩~

    [ 本帖最后由 glts 于 2007-9-27 12:01 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-6-4 09:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-9-27 20:04:12 | 显示全部楼层
    谢谢了,我发现好多基础的东西我自己都不会!以后要好好学习啊!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    前天 21:02
  • 签到天数: 263 天

    [LV.8]以坛为家I

    发表于 2007-9-28 09:23:31 | 显示全部楼层
    DUMP&FIX后,我载入怎么不是你说的这个地址啊,虽然他会跳一个对话框出来,提示不能“READ”
    ,地址到是在你说那。。。。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2018-6-6 15:51
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2007-9-28 12:42:47 | 显示全部楼层
    原帖由 温柔 于 2007-9-28 09:23 发表
    DUMP&FIX后,我载入怎么不是你说的这个地址啊,虽然他会跳一个对话框出来,提示不能“READ”
    ,地址到是在你说那。。。。



    学思路~看方法~别去看址
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-6-4 09:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-9-28 17:28:41 | 显示全部楼层
    因为那个软件,已经被当作病毒杀掉了,所以我想自己脱壳,然后自己再加壳!
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2019-2-17 18:27
  • 签到天数: 33 天

    [LV.5]常住居民I

    发表于 2007-9-28 23:14:10 | 显示全部楼层
    跟着飞哥又学习了一下,呵呵,

    我这里也是弹出对话框,不能为"READ"但还是那个地址呀!晕

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-9-29 14:01:05 | 显示全部楼层
    这里 高手真多 支持了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-10-4 12:10:24 | 显示全部楼层
    重载程序后SHIFT+F9运行程序 一直运行直到出现错误为止,然后按下小键盘上的 "-"号看看是哪个CALL调用了这里产生错误异常,于是发现是这里调用了这段代码导致出错.

    这个地方作不好  下小键盘上的 "-"号 不知道有什么用
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2023-3-27 09:20
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    发表于 2007-10-14 00:36:09 | 显示全部楼层
    不懂,现在学习中……PYG的教程:loveliness:
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-8-19 11:27
  • 签到天数: 54 天

    [LV.5]常住居民I

    发表于 2007-11-2 11:39:35 | 显示全部楼层
    这个壳感觉兼容性蛮不错的
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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