13.網絡游戲逆向分析與漏洞攻防-網絡通信數據包分析工具-如果沒有工具就創造工具

內容參考于:?易道云信息技術研究院VIP課

上一個內容 :12.游戲網絡通信存在的問題

現在把游戲網絡的架構看了一個小小的大概,可以用它的接口發數據接收數據了,如果真正想用它這一套東西,真正核心不在于它的接口而在于它的數據包的格式或內容,寫下來就是去解讀它的數據

下圖是之前用來說話的一段數據包:就是默認接收下圖的數據,緊接著游戲里面就收到了說話的內容,這就是模擬服務器去欺騙客戶端,一個例子比如人物跟人打架,摔倒了,摔倒了在客戶端會有一個時間,比如一段時間里不能動,僵直這樣的操作,然后利用數據包,給自己發一個數據包,又站起來了,在客戶端上站起來了,在服務端還沒有,這個時候如果限制不嚴格,在客戶端做的操作就又會發送給服務端,通過這樣的方式就可以做很多事情,這也是研究漏洞的一種非常重要的形式,所以漏洞不僅僅是從客戶端發數據到服務端,也有模擬服務端發數據給客戶端

然后接下來,該怎樣解讀這個數據包?首先上圖中的內容,它說話的內容肯定存在,這個數據是怎樣組織怎樣解讀,可以通過逆向分析去分析,但是通過逆向分析去分析只適用一兩個數據,如果說有大量的數據全部通過逆向分析成本是非常高的,所以要優先進入一個初步分析,然后把那些不能突破的東西再逆向分析。

然后正常來講,客戶端拿到一段數據它會進行解讀,然后不同的數據,它不可能每個數據都有不同的解讀方式,就算它有解讀的方式,那它也必須要有解讀的圖紙,就是說這個東西應該根據圖紙這樣解讀,或者說它沒有這樣的規劃,它就要有一種系統性的解讀方式。

如果它用的圖紙,比如:

A數據包用的a號圖紙解讀,B數據包用b號圖紙解讀,就是把數據包定義成結構體,比如前面兩個代表什么后面兩個代表什么只要放到這個結構體里就行,這也就是說拿到結構體的定義就可以了

系統性的方法:

有系統性的就要破解出來寫成算法,然后用這個系統性方法還原數據去組織數據

數據包只能多看多搞,用文本文檔搞比較類,所以要搞個工具。

工具的功能:

首要要把數據包顯示出來,然后還要可以把選中的數據單獨拿出來顯示方便查看,比如關鍵信息在數據包里一定是有的,但有很多信息不知道它是什么內容,就把其中某段數據選中,比如選中了四個字節的數據,然后就要把這四個字節組合起來的內容顯示出來,如果它是字符串是什么樣子,如果它不是字符串是小數是什么樣子等就是把所有常用的類型都展示出來,然后根據顯示的內容就可以猜測數據包里這四個字節的數據是什么東西

工具的功能劃分:

1.顯示通信數據包內容,根據數據包類型進行分別顯示

2.能夠顯示鼠標選中的區域可能的內容

3.搜索,比如123456它出現在那一段里面

4.把內容寫到硬盤文件

5.可以在不同項目中使用,所有網絡通信就三個元素,第一是數據包,第二是它的長度,還有類型

6.過濾,比如某個數據包解讀好了,比如數據包開頭0x1F是它的特征,這時就把開頭是0x1F的數據包過濾掉



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/712438.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/712438.shtml
英文地址,請注明出處:http://en.pswp.cn/news/712438.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024GAS《聲學大講堂》

由中國電子音響行業協會主辦,上海市浦東新區先進音視頻技術協會承辦的GAS《聲學大講堂》2021年開播,三年來GAS《聲學大講堂》開設了“沉浸聲音頻與藝術”、“智能車載音頻”、“智能可穿戴”、“智能耳機”、“智能音箱”、“專業音響”、“助聽/輔聽設備…

老衛帶你學---leetcode刷題(268. 丟失的數字)

268. 丟失的數字 問題 給定一個包含 [0, n] 中 n 個數的數組 nums ,找出 [0, n] 這個范圍內沒有出現在數組中的那個數。 示例 1: 輸入:nums [3,0,1] 輸出:2 解釋:n 3,因為有 3 個數字,所以…

R語言安裝和簡單入門HelloWorld用法

R語言安裝和簡單入門HelloWorld用法 #R語言安裝地址 https://www.r-project.org/ click->CRAN mirror->選擇China下列表: https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 選擇Download R for Windows 選擇base Download R-4.3.2 for Windows 下載文件R-4.3.2-…

怎么重構數據庫表結構

重構數據庫表結構是指對已有的數據庫表進行調整和優化,以提高數據庫的性能、可擴展性和可維護性。以下是一些重構數據庫表結構的常見步驟: 分析現有表結構:首先,仔細分析現有的數據庫表結構,了解表之間的關系和依賴關…

數據結構從入門到精通——算法的時間復雜度和空間復雜度

算法的時間復雜度和空間復雜度 前言一、算法效率1.1 如何衡量一個算法的好壞1.2 算法的復雜度 二、時間復雜度2.1 時間復雜度的概念2.2 大O的漸進表示法2.3常見時間復雜度計算舉例2.4等差數列計算公式2.5等比數列計算方法 三、空間復雜度四、 常見復雜度對比五、 復雜度的oj練習…

ts學習:is關鍵詞

is關鍵詞主要用來框定類型并實現對應的類型斷言,下面看一個例子 寫一個簡單函數來判斷某個值是否是字符串類型 function isString(value:unknown):boolean{return typeof value "string" } 這里我們的參數選用了unknown類型,該類型就是一個…

python代碼優化學習

代碼優化對比: 優化前: # 登錄系統 xxljob_login() start_time time.time() # 循環處理需要補數的數據 for item in authId_lists: preSettleInfoHandler(item) count 1 print("運行了第" str(count) "個") …

數據分析---主要工作

目錄 幾個主要工作常用的數據分析工具具體的使用場景幾個主要工作 數據清洗和預處理:對原始數據進行清洗、去重、填充缺失值、處理異常值等操作,以確保數據的準確性和完整性。探索性數據分析(EDA):通過可視化和統計方法,對數據進行探索,發現數據的分布、相關性、異常情況…

【JVM】聊聊常見的JVM排查工具

JDK工具包 jps 虛擬機進程狀況工具 jps是虛擬機進程狀況工具,列出正在運行的虛擬機進程,使用 Windows 的任務管理器或 UNIX 的 ps 命令也可以查詢,但如果同時啟動多個進程,必須依賴 jps。jps -l 顯示類名 jps :列出Java程序進程…

linux vi 退出編輯狀態

在 vi 編輯器中,要退出編輯狀態并保存或者放棄更改,需要執行以下步驟: 1. 保存并退出: - 按下 Esc 鍵確保你處于正常模式(Normal Mode)。 - 輸入 :wq,然后按下 Enter 鍵。這將保存更改并…

SVPWM

SVPWM SVPWMSVPWM原理產品比較特點來源 SVPWM SVPWM的主要思想是以三相對稱正弦波電壓供電時三相對稱電動機定子理想磁鏈圓為參考標準,以三相逆變器不同開關模式作適當的切換,從而形成PWM波,以所形成的實際磁鏈矢量來追蹤其準確磁鏈圓。傳統…

3.1作業

改變圖片色彩————德國國旗 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h> int main(int argc, const char *argv[]) {FILE* fpfopen("./haha.bmp","r");int h0,w0;fseek(fp,18,SEEK_SET)…

yolo訓練時遇到GBK編碼問題

yolo訓練時遇到GBK編碼問題 啟動訓練具體信息如下&#xff1a; comet upload E:\python\yolov9-main.cometml-runs\e0c17dd22058467f98cf447d5cc45bf5.zip COMET INFO: Using ‘D:\pycharmProject\yolov5-master-6.2\.cometml-runs’ path as offline directory. Pass ‘off…

高比例清潔能源接入下計及需求響應的配電網重構(matlab代碼)

目錄 1 主要內容 目標函數 重要約束條件 2 部分代碼 3 程序結果 4 下載鏈接 1 主要內容 該程序復現《高比例清潔能源接入下計及需求響應的配電網重構》&#xff0c;以考慮網損成本、棄風棄光成本和開關操作懲罰成本的綜合成本最小為目標&#xff0c;針對配電網重構模型的…

3694-51-7,3,5-Dinitro-1,2-phenylenediamine,合成其他化合物的重要中間體

您好&#xff0c;歡迎來到新研之家 文章關鍵詞&#xff1a;3694-51-7&#xff0c;3,5-Dinitro-1,2-phenylenediamine&#xff0c;3,5-二硝基-1,2-苯二胺;3,5-二硝基苯-1,2-二胺 一、基本信息 【產品簡介】&#xff1a;3,5-Dinitro-1,2-phenylenediamine, with the molecular…

提取抖店賣家電話的爬蟲軟件

介紹&#xff1a; 如今&#xff0c;電商平臺上的抖店賣家數量龐大&#xff0c;對于想要聯系賣家的買家來說&#xff0c;獲取賣家的聯系電話是一項相當繁瑣的任務。為了簡化這個過程&#xff0c;我們可以借助Python編寫一個抖店賣家電話提取爬蟲軟件&#xff0c;快速獲取所需的聯…

SpringBoot啟動擴展應用:干預優化+加快啟動時間(干貨典藏版)

一、SpringBoot啟動過程干預 Spring Boot啟動過程中我們可以實現以下干預工作&#xff1a; 修改Spring Boot默認的配置屬性。使用ConfigurationProperties和EnableConfigurationProperties注解&#xff0c;可以獲取和修改Spring Boot的配置屬性。 加載配置文件。Spring Boot會…

面試數據庫篇(mysql)- 06覆蓋索引

原理 覆蓋索引是指查詢使用了索引,并且需要返回的列,在該索引中已經全部能夠找到 。 id name gender createdate 2 Arm

c++_leetcode_尋找峰值

目錄 一、尋找峰值的示例 二、官方實現代碼及解釋 1、官方測試結果&#xff1a; 2、代碼解釋&#xff1a; 3、解題思路&#xff1a; 三、我的暴力解決 1、測試一&#xff1a; 2、測試二&#xff1a; 3、最終“暴力求解”代碼&#xff1a; 4、官網提交測試通過&#xf…

【JavaScript】面試手撕節流

引入 上篇我們講了防抖&#xff0c;這篇我們就談談防抖的好兄弟 – 節流。這里在老生常談般的提一下他們兩者之間的區別,順帶給讀者鞏固下。 PS: 開源節流中節流與這個技術上的節流&#xff0c;個人認為本質上是一樣的。 開源節流的節流指的是節省公司的金錢開支。前端技術上的…