遊戲指令與資料結構的篩查

2021-04-12 16:45:14 字數 926 閱讀 9934

遊戲指令與資料結構的篩查

遊戲指令和指令中所攜帶的資料結構的篩查是外掛程式製作的第二步,這一步並不是很難,但十分煩鎖。遊戲指令和其資料結構的篩查並無技巧可言,主要是通過多次重複比較資料而最終確定結果。

在篩查遊戲指令和其資料結構之前我們需要對封包截獲技術有所了解,同時能對當前流行的幾款封包截獲工具如fpe、wpe等有所熟練使用。然而由於某些遊戲執行商會針對一些問題而制定相應對策,因此有些時候需要我們自己編寫封包截獲工具。自己編寫封包截獲工具的好處還在於可以具體針對某一款遊戲而編制特定的工具,這之中最重要的是可以事先將加密資料解密成明碼,為分析封包提供方便。

2.1 封包截獲技術 根據具體的截獲原理不同,封包截獲技術可分為:一是hook技術、一是socket重寫技術。無論使用何種截獲技術我們最終要跟蹤的都是socket中的傳送函式與接收函式,如send、recv等。

2.1.1 hook原理 hook原理是通過向應用程式中注入dll檔案,並改寫應用程式函式匯入表中的dll呼叫函式,hook技術要求我們對可執行程式的檔案即pe檔案結構有所了解。

2.1.2 socket重寫原理 socket重寫原理是通過重寫整個socket檔案,用新寫的socket檔案代替原socket檔案,並由新socket檔案呼叫原socket檔案中的函式,從而截獲函式的呼叫過程。socket重寫技術要求改寫後的socket檔案具有跟原socket檔案相同的介面,否則程式呼叫將發生錯誤。

2.2 封包的分析 封包分析時最重要的就是儘量減少分析時的干擾,干擾越少越有利於我們能針對性地得到結果。因此封包分析時一般是將遊戲角色盡量帶到乙個玩家或怪物比較少的地方,同時在分析出乙個後盡量過濾乙個。

2.3 分析結果的處理 封包分析完畢後,我們可以為每乙個指令定義乙個含義比較明確的**,並為每條指令所攜帶的結構資訊定義相應的資料結構,為指令中的狀態碼也定義相應的**。為所有指令與資料結構進行相應的定義,可以使我們在後續的外掛程式**書寫過程中隱藏掉實現的細節。

《資料結構》並查集與樹

查 給定乙個元素,查詢它在哪個集合內 並 合併兩個元素所在的集合 元素 結點 集合 樹 多個集合 森林 用樹的根節點作為不同樹的標誌 合併時只需要將根節點鏈結 用陣列表示樹,陣列下標表示元素值,陣列的值表示該元素對應的父親結點 father i j 元素i的父親結點是j 對於根節點 father i...

資料結構 並查集 奇偶遊戲(做法1)

並查集有兩個擴充套件應用,乙個是帶邊權的並查集另乙個是帶擴充套件域的並查集。這道題用兩種方法都可以做。值得學習。題目 奇偶遊戲 做法1 帶邊權的並查集 1 用 sum x sum x sum x 表示 1 11到 x xx 中1的個數 此處 sum x sum x sum x 不需要具體求出 讀入 ...

資料結構 並查集

並查集,顧名思義,合併 查詢 集合 並查集是一種樹型的資料結構,用於處理一些不相交集合 disjoint sets 的合併及查詢問題。常常在使用中以森林來表示。對於概念等等的這裡不再贅述,直接講解應用。應用1 判斷圖中有多少聯通分量 或者圖是否聯通 聯通分量 1 hdu 1213 應用2 判斷圖是否...