欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

ASProtect V1.2之脫殼簡述--C-pen (1千字)

ASProtect V1.2之脫殼簡述--C-pen (1千字)

ASProtect V1.2和V1.1C其實大同小異.我們來脫它.以下我只列重點,相信大家均能手動脫殼.
(1)Import Table:使用最新版的Imp_list V.1.13(2001/01/06)來重建,
                不過你如果選Auto-detect Import是無法重建的,估計
                ASProtect做了修正去妨它,沒關係它妨新版卻不妨舊版
                用舊版去重建的目的,主要是去找.idata Section它得
                出的Import Table並不能用,那是因為ASProtect V1.2
                對Import Table又做了新的處理,只能用Imp_list
                1.13來重建,當然你也可以自己去程式中找.idata
                Section,反正ASProtect的Import Table編碼處都長
                的一樣.在Imp_list V1.13中不選Auto-detect
                Import,RVA=66000,SIZE=2000,Level=1,如此即能重
                建,再不然進入程式跟到編碼結束時下a eip/jmp eip
                再用Imp_list來重建.
(2)Hook:脫殼後的程式還是不能用因為ASProtect有留下Hook,如何移除它
        呢?那你得感謝ASProtect,因為它完善的SEH系統會告訴你,重開
        始的SEH MessageBox中得知它留下的Hook位址為00C1C6D8,用
        HexWorkshop打開已脫殼的文件,查找D8C6C100你會發現在RVA
        64FAC,64FB0中各有一個,用W32Dasm去反組譯,查找0064FAC,你會
        發現有如下的程式
        CALL [0064FAC]
        等價於
        CALL 00C1C6D8  <-- 在我們已脫殼的文件中是不會有這個位址
                          的程式碼
        比較原程式發現原來00C1C6D8只是一個RET,真是無聊!好了!那你
        應該知道如何移除這個Hook吧!我的方法是找個位址放RET,再將
        RVA 64FAC,64FB0指向這個位址,我選在隔壁即RVA 64FB4改:
        RVA 64FAC 00C1C6D8 --> 00464FB4
        RVA 64FB0 00C1C6D8 --> 00464FB4
        RVA 64FB4 00 --> C3
      (註:我標示的是用RVA而不是OffSet,那是因為我是用ICEdump去脫
          故我需令OffSet=RVA,若你是用Procdump去脫.則OffSet並不
          一定等於RVA端視你的操作選項而定)
     
      JOHNSON 2001/02/13

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功