• <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>

            Pencil.C++

            更新速度可能會晚于http://blog.csdn.net/bilaopao

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              34 隨筆 :: 0 文章 :: 40 評論 :: 0 Trackbacks
            一、外掛的分類

            外掛一般的分為2類,脫機式 和 內掛式。

            脫機式外掛的定義:完全脫離官方發布的客戶端程序,可以與游戲服務器自由的進行通訊的外掛程序,這類外掛的實現是2類外掛里最困難的,主要難點在于外掛制作者需要對游戲的通訊協議進行充分的分析,包括解決封包的加密解密問題,使得封包合法化,這樣游戲服務器才能接受并處理。

            內掛式外掛的定義:內掛需要以官方發布的客戶端程序為載體,依靠客戶端程序來完成與游戲服務器的通訊,主要通過反匯編手段分析并修改客戶端代碼后實現功能,一般通過直接調用游戲客戶端的發包函數進行發包,或者調用游戲客戶端的封包加密解密函數自行處理發包收包。


            二、制作外掛常用的技術手段

               制作外掛一般使用的分析工具:
            動態分析 OllyDbg(OllyICE)
            靜態分析 IDA Pro

               制作外掛一般使用的開發工具:
            VisualStdio系列(VC++,VB)
            Borland系列(Delphi,BCB,BC++)
            中國人自己的開發工具(易語言)(編者注:此開發工具優勢在于控件種類上,有專門的用于外掛制作的控件)

               制作外掛的技術要點:
            鼠標鍵盤模擬技術:這類技術在RING3層可通過調用WIN32 API實現,在RING0層可通過驅動模擬鼠標鍵盤輸入來實現。按鍵精靈就采用在RING0層通過驅動來模擬鼠標鍵盤,比較底層。

            Hook技術:包括API HOOK 、普通的對游戲代碼進行HOOK等。這類技術有個特點,對目標進程的代碼會進行修改。

            腳本技術:擴充外掛功能的技術之一,能讓外掛使用者編寫腳本來擴充外掛功能。

            三、反外掛中常用的技術手段

            反外掛一般使用的分析工具:
            動態分析 OllyDbg(OllyICE)
            靜態分析 IDA Pro

            制作反外掛一般使用的開發工具:
            依據游戲客戶端采用的開發工具來決定。

            制作反外掛的技術要點:
            代碼校驗:包括磁盤代碼及內存代碼校驗,防止代碼被非法更改。

            虛擬機保護:虛擬機(VM )其實就是Virtual Machine的縮寫,這里說的VM并不是像VMWare那樣的虛擬機,而是將一系列的指令解釋成bytecode(字節碼)放在一個解釋引擎中執行,能有效的干擾非法調試者對保護的代碼進行分析。是反外掛技術中的重中之重。

            驅動保護:采用底層鉤子技術,一般采用SSDT HOOK來對游戲進程進行保護。但這種技術有一個致命的缺陷,就是兼容性問題。

            反調試:對調試過程產生干擾,阻止非法調試者進行正常的調試。反調試代碼加多后會導致兼容性穩定性出現問題。

            四、一般保護的思路及步驟

               防止脫機式外掛:
            合理的設計封包通訊協議及對封包加密解密算法進行虛擬機保護能有效的防止脫機外掛,反脫機外掛的難度比較低。而且技術要求也不高。

               防止內掛式外掛:
            反該類外掛主要從代碼校驗上著手,并配合虛擬機保護,必要時候加上簡單的驅動。簡單的可以采用如下步驟處理:
            (1)        將封包加密解密獨立成一個動態連接庫(DLL),供游戲主程序調用進行封包加解密。
            (2)        更換封包加密解密方式,防止破解者采用替換舊客戶端的方式進入游戲。
            (3)        反外掛功能在獨立出來的動態連接庫里實現,在獨立出來的動態連接庫中加入對主程序代碼段校驗。建立一個新的反外掛線程來校驗代碼段,加入敵意進程或模塊的特征檢測,對關鍵的API進行檢測。檢測到非法可以對服務器進行報告,并在客戶端主動切斷與游戲服務器的連接。
            (4)        在加密解密函數里加入對反外掛線程的檢測,檢測反外掛線程是否正常運行,如果檢測到非法情況,同樣對服務器進行報告并主動切斷與游戲服務器的連接。
            (5)        對獨立出來的DLL進行虛擬機保護(封包加解密及反外掛線程代碼)。
            (6)        加入一些反調試技術。
            (7)        根據實際情況采用驅動技術,對游戲進行保護。

            五、對反外掛工作的建議
            反外掛工作具有長期性,復雜性等特性,故建立專門進行此類工作的軟件安全小組是必須的,及時的收集外掛后分析外掛的所使用的技術和破解反外掛系統的方式,寫出相應的檢測及防護代碼,提交后進行游戲更新。通過不斷的完善反外掛系統,我有理由堅信,外掛會在這樣的保護措施下銷聲匿跡。
            posted on 2009-06-08 23:29 Pencil.C++ 閱讀(836) 評論(0)  編輯 收藏 引用
            久久精品中文闷骚内射| 伊人久久大香线蕉av一区| 狠狠色丁香久久综合五月| 久久亚洲高清观看| 久久人妻少妇嫩草AV无码蜜桃| 亚洲精品97久久中文字幕无码| 亚洲精品蜜桃久久久久久| 久久91亚洲人成电影网站| 日本精品久久久久久久久免费| www久久久天天com| 狠狠色丁香婷婷久久综合| 日韩精品国产自在久久现线拍| 一97日本道伊人久久综合影院| 久久精品人人做人人爽97| 久久婷婷色综合一区二区| 女人香蕉久久**毛片精品| 热re99久久6国产精品免费| 色婷婷综合久久久久中文字幕| 99久久人妻无码精品系列| 久久精品中文无码资源站| 国产成人无码精品久久久久免费| 人人狠狠综合久久88成人| 亚洲婷婷国产精品电影人久久| 久久夜色精品国产亚洲| 狠狠色婷婷久久一区二区三区| 99久久精品免费看国产一区二区三区 | 日本亚洲色大成网站WWW久久| 97超级碰碰碰久久久久| 久久精品国产亚洲av高清漫画| 狠狠综合久久综合88亚洲| 亚洲精品国产综合久久一线| 久久青青草原精品国产软件| 久久黄视频| 亚洲欧美精品一区久久中文字幕 | 久久亚洲AV成人无码| 深夜久久AAAAA级毛片免费看| 久久久久久一区国产精品| 久久综合伊人77777麻豆| 亚洲国产视频久久| 波多野结衣AV无码久久一区| 男女久久久国产一区二区三区|