• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉(zhuǎn),開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            反(調(diào)試/跟蹤/脫殼) 技術(shù)集錦

            轉(zhuǎn)自看雪,最近看到很多游戲加了反調(diào)試技術(shù),從看雪轉(zhuǎn)一片文章給大家分享。
            標 題:又灌水-反(調(diào)試/跟蹤/脫殼) 技術(shù)集錦
            發(fā)信人:kongfoo
            時 間:2004-05-27,14:50
            詳細信息:

            反(調(diào)試/跟蹤/脫殼) 技術(shù)集錦
            kongfoo/2004.4.18-5.27

              具體代碼就不貼了,知道原理就可以寫出代碼。一些是實踐所得,一些是別人的成果,也
            都收集在一起了。解密、加密這個攻防戰(zhàn)好像和傳統(tǒng)作戰(zhàn)的攻防戰(zhàn)不同,防的一方能用的技術(shù)
            遠遠多于攻的一方。

              1)花指令
              很無聊的技巧,但也有一定作用:隱藏指令,干擾分析。

              2)花循環(huán)
              無用循環(huán),讓跟蹤者浪費時間,心煩。

              3)時間比較
              經(jīng)典的反跟蹤技巧,單步跟蹤比連續(xù)執(zhí)行的時間長很多。

              4)父進程檢查
              被調(diào)試器加載后父進程就不是通常的Explorer.exe。

              5)檢查調(diào)試器
              Windows本身就提供一些API可以用來檢查調(diào)試器是否存在。如IsDebuggerPresent/NtQueryInformationProcess。
            另外還有CreateFile/PEB(和IsDebuggerPresent一樣)等方法檢查調(diào)試器。

              6)動態(tài)加/解密代碼
              干擾分析。把執(zhí)行過的代碼重新加密可以防止跟蹤者翻看代碼。

              7)IAT加密
              防止ImpREC等工具的自動脫殼修復(fù),加大脫殼難度。

              8)指令摘取
              有很多方式,從OEP處摘取指令,隨機摘取一段指令等,加大脫殼難度。摘取的指令還可變形處理。

              9)CALL處理
              根據(jù)CALL指令本身特點,讓其先CALL進殼的空間,加大脫殼難度。

              10)自調(diào)試
              對于一個程序,Windows只允許這個程序被一個調(diào)試器調(diào)試,基于此,采用雙進程或多進程方式,
            自已調(diào)試自己,加大跟蹤難度。另外,通過設(shè)置某中斷地址,使程序發(fā)生某中斷時執(zhí)行程序中的中斷
            處理代碼,進行解碼、指令摘取等動作,加大跟蹤難度。

              11)異常處理機制
              人為產(chǎn)生異常,改變程序流程或在異常處理時進行解碼,加大跟蹤難度。常見的異常有內(nèi)存存取
            錯誤異常,中斷異常(INT3/單步/其它中斷等),非法指令,非法EIP等。

              12)多線程的運用
              利用被調(diào)試程序所有線程會被掛起的特點,達到干擾跟蹤的目的。一,用多線程改變程序流程:在
            線程中修改主線程代碼,如果被單步跟蹤線程將不會運行,流程也就不對了。二,用多線程解碼:同理,
            線程不能運行解碼也就不能進行。

              13)反SMC
              用Timer/線程不斷地將敏感的內(nèi)存空間的屬性設(shè)置成只讀,可以防止被打補丁。

              14)CRC校驗
              代碼被修改之后CRC檢驗值就不同了。

              15)破壞調(diào)試環(huán)境
              破壞調(diào)試寄存器內(nèi)容,破壞中斷處理地址或自己接管中斷處理等,從根本上反調(diào)試。

              16)反進程轉(zhuǎn)存
              將某個不會用到的代碼空間設(shè)置成NO_ACCESS,LordPE等工具dump到這個空間時就
            會異常而dump不了啦。

              17)監(jiān)視鍵盤
              監(jiān)視F7、F9就夠了。

              18)固定屏幕
              在殼運行期間把屏幕固定,跟蹤者看都不看到,當然跟不了。

              19)破壞異常處理環(huán)境
              用SetUnhandledExceptionFilter破壞異常處理環(huán)境,使調(diào)試器無法捕捉程序產(chǎn)生的異常。

              20)調(diào)試父進程
              利用調(diào)試函數(shù)的特點,即被調(diào)試進程會被掛起的特點,反單步跟蹤。

              21)Arm的CC保護,CopyMem-II保護
              把所有跳轉(zhuǎn)改成CC,父進程檢測到INT3中斷時查表改EIP去到正常的位置。
              CopyMem-II就是把自己復(fù)制到另一塊內(nèi)存中去運行,哪么dump的時候就麻煩些啦。

              22)反attach分析
              執(zhí)行過的代碼就破壞掉,防止attach分析。另外,生成一個指明不能用調(diào)試器的進程之后本
            身進程直接退出,可防attach。(NT系統(tǒng)有效)

              23)指令預(yù)取
              利用CPU會預(yù)讀取指令的特點,干擾單步跟蹤。如:
            ? ? ? mov word ptr [@@],20cdh
            ? ? @@:
            ? ? ? nop
            ? ? ? nop
              正常情況下CPU預(yù)讀了2個nop,而不會執(zhí)行INT 20(cd20),但單步跟蹤下來就不同了。

              24)寫代碼時的反調(diào)試
              對加殼選項的不同而生成不同的代碼,這樣可以有效地防止脫殼機的patch。只用標志位
            來判斷是否加密IAT是很危險的。

              25)隨機存放敏感數(shù)據(jù)
              如果用jmp OEP的方式去OEP,并且代碼位置是固定的,哪么寫脫殼機時OEP就隨手可得了,
            所以使代碼不定長,或把敏感數(shù)據(jù)隱藏起來是很好的對策。另外一些殼運行時要用的原程序的
            參數(shù)放在程序里面比一堆地放在殼后面更安全得多。

              26)反匯編
              把自己作為一個指令解釋器,反匯編自身代碼并解釋執(zhí)行,這樣就可以防止指令被改。

              軟件設(shè)計的復(fù)雜性比單純的反調(diào)試技巧更有效。加密算法的運用更是有力的反脫殼措施。
            anti技巧的安排也很重要,比如子程序里面放anti代碼要更好些,因為跟蹤者要先過雙進程
            這一關(guān);解碼前設(shè)置anti dump比解碼后設(shè)置更好些,因為解碼后立即用LordPE的話anti dump
            就形同虛設(shè)了。

              還有很多反調(diào)試技術(shù)是我未能收集到的,跟貼吧
            一本久久a久久精品vr综合| 久久久这里有精品中文字幕| 欧美亚洲国产精品久久| 狠狠色婷婷久久综合频道日韩 | 蜜臀av性久久久久蜜臀aⅴ| 久久国语露脸国产精品电影| 99久久综合狠狠综合久久止| 久久电影网| 色偷偷偷久久伊人大杳蕉| 国产精品丝袜久久久久久不卡| 久久婷婷五月综合色99啪ak| 久久精品国产亚洲av影院| 久久精品无码一区二区三区免费| 久久国产欧美日韩精品| 成人午夜精品久久久久久久小说| 欧美黑人激情性久久| 欧美精品一区二区精品久久| 久久久久久久91精品免费观看| 国产一级持黄大片99久久 | 狠狠88综合久久久久综合网| 国产精品欧美亚洲韩国日本久久| 久久午夜羞羞影院免费观看| 久久精品中文字幕大胸| 国产一区二区三精品久久久无广告| 久久亚洲精品无码AV红樱桃| 亚洲精品视频久久久| 国产成人无码精品久久久久免费| 日日躁夜夜躁狠狠久久AV| 久久久久久久久波多野高潮| 久久久久亚洲AV成人网人人软件| 亚洲午夜精品久久久久久人妖| 91精品国产综合久久久久久| 久久久久女人精品毛片| 久久亚洲精品国产精品| 色偷偷偷久久伊人大杳蕉| 亚洲综合熟女久久久30p| 亚洲精品无码久久千人斩| 久久久久久精品免费看SSS| 久久只这里是精品66| 国产成人精品综合久久久久 | 中文字幕亚洲综合久久|