新四季網

一種防止在網路遊戲中使用外掛的方法

2023-09-13 07:21:15 1

專利名稱:一種防止在網路遊戲中使用外掛的方法
技術領域:
本發明涉及網路遊戲領域,尤其是涉及一種防止在網路遊戲中使用外掛的方法。
背景技術:
在網路遊戲領域,外掛是指某些人利用自己的電腦技術,專門針對一個或多個網路遊戲,通過改變網路遊戲軟體的部分程序,製作而成的作弊程序。用戶利用外掛這種作弊手段可以輕易得到其他正常用戶無法得到,或必須通過長期運行程序才能得到的遊戲效果,表現有許多種,比如在角色扮演遊戲中,使用外掛者比正常用戶奔跑快、攻擊威力加大、獲得更多的遊戲道具等,從而對遊戲本身和正常用戶都造成嚴重影響,這種使用外掛侵犯他人權利的行為是法律所不允許的,但是,目前還沒有有效的防止在網路遊戲中使用外掛的措施。

發明內容
本發明的目的在於克服了現有技術的缺陷,提供一種防止在網路遊戲中使用外掛的方法,該方法具有防範外掛嚴密、使用更新靈活的優點。
本發明所述的防止在網路遊戲使用外掛的方法的基本原理是在客戶端加入腳本引擎,登陸後從獨立的腳本服務端下載編譯成字節碼的檢測腳本和相關數據,然後啟動腳本獨立運行;所述的腳本負責與腳本服務端建立通訊UDP協議,這裡的UDP協議的基本包結構為command={word cmd ;//command typelong seq;//cmd sequence number
wordlen;//length of databyte[len] data;//command data}然後執行兩種操作定時信號和環境檢測。所述的定時信號操作用於保證客戶端腳本的存在,其需要定時向服務端發送規定的按特定規律變化的標誌信號,服務端檢查信號的有效性;所述的環境檢測主要是對客戶端運行環境的檢查,包括進程信息、線程信息、模塊列表、模塊信息、內存特徵檢查等,檢測內容由服務端指定;為保證腳本的存在,腳本必須與遊戲關聯起來,沒有腳本,客戶端就無法正確運行,由於目前腳本的win32模塊(win32api/win32process)不提供某些重要的API,因此,本發明將用C/C++編寫部分執行底層操作的腳本模塊,需要包裝的API庫包括DEBUG API,Tool Help API以及Kernel32.dll中與進程線程相關的API,上述的客戶端的腳本引擎和模塊是可以從正常更新途徑更新的,為防止外掛修改,所述的腳本模塊和引擎都必須檢查摘要是否合法。
要達到有效防止外掛的目的,必須首先檢測到外掛程序,這裡,所述的外掛檢測實際就是找到外掛程序和正常客戶端的差異,通常,比較明顯的差異就是外掛程序中調用模塊中的加解密函數時的調用堆棧不同,更大的差異則是外掛程序的進程空間和客戶端完全不同。本發明的外掛檢測的思路就是在模塊中找到加解密函數的調用堆棧和計算進程空間中特定偏移位置的代碼的校驗和,利用調用堆棧和校驗和可以發現外掛與客戶端的特徵,發現特徵後,可以通過正常的遊戲數據包,將特徵發送到服務端,由服務端與客戶端的特徵比較,發現外掛後就可以進行處理。為防止外掛程序模擬特徵,特徵數據需要與遊戲數據一起加密,防止外掛篡改。
本發明所述的防止在網路遊戲使用外掛的方法的特點是協議加密的更新,包括算法和密鑰的更新變得非常簡單,只需要更換存放在服務端的客戶端彙編模塊和/或服務端加解密動態連結庫。加解密模塊中可以加入外掛檢測功能,由於模塊可以隨時更新,反外掛措施也可以隨時更新,避免被外掛程序發現和模擬。在更新外掛檢測時,已經實現在不更新服務端加解密動態連結庫和重啟服務的情況下,僅更新客戶端模塊,進一步增加了反外掛措施的更新頻度,由於更新在後臺進行,用戶不會察覺,客戶端不存在加密部分,外掛開發者無法進行靜態分析。


下面參照附圖和具體實施方式
對本發明的防止在網路遊戲使用外掛的方法作進一步詳細說明。
圖1是本發明的應用系統結構圖;圖2是本發明的應用流程圖;圖3是本發明的具體實施示意圖;具體實施方式
圖1是本發明的應用系統結構圖,由圖可知,本發明的防止在網路遊戲使用外掛的方法在實施時,其系統結構包括遊戲用戶、客戶端、遊戲更新下載伺服器、遊戲認證伺服器、遊戲世界伺服器、遊戲資料庫和反外掛伺服器。所述的客戶端和所述的伺服器端實現協商調用接口,主要是指調用加解密函數的接口,並且都需要使用C/C++編寫部分執行底層操作的腳本模塊而成的API庫,所述的服務端在客戶端要求下載加解密模塊時,需要從存放在服務端指定目錄下的多個模塊中隨機選擇一個傳送給客戶端,這裡的模塊加入了遊戲開發項目,在本系統結構中,如果要實現反外掛功能,需要在客戶端發送到服務端的全部或部分數據包中增加附加欄位,以容納外掛特徵信息,服務端發送到客戶端的部分數據包中也要增加欄位或使用序列號傳送外掛檢查信息;如果要實現反方法加速類通用加速工具的功能,需要在服務端發送到客戶端的部分數據包中增加欄位或使用序列號傳送服務端時間戳;如果要實現反封包加速工具的功能,需要在客戶端發送到服務端的全部數據包中增加欄位或使用序列號傳送客戶端時間戳。
圖2所示的是本發明的防止在網路遊戲使用外掛的方法的具體應用流程首先進行客戶端更新,並且在客戶端加入腳本引擎,登陸後從獨立的腳本服務端下載編譯成字節碼的檢測腳本和相關數據,在客戶端發送到服務端的全部或部分數據包中增加附加欄位,以容納外掛特徵信息,而且在服務端發送到客戶端的部分數據包中也要增加欄位或使用序列號傳送外掛檢查信息,在所述的服務端發送到客戶端的部分數據包中增加欄位或使用序列號傳送服務端時間戳,在客戶端發送到服務端的全部數據包中增加欄位或使用序列號傳送客戶端時間戳。然後,啟動腳本獨立運行,所述的腳本負責與腳本服務端建立通訊協議,為了保證腳本線程的存在,需要加入HeartBeat定時信號,基本思路是服務端下發一個數據,客戶端腳本根據規定算法和當前狀態得到一個計算值返回服務端,服務端再檢查計算值是否正確,所述的加入HeartBeat定時信號通過一種最簡單的算法來實現,就是服務端下發一個隨機數,腳本用自己的校驗和加上隨機數產生一個摘要,返回給服務端,後續的HeartBeat定時信號用隨機數作為種子產生下次發送時隨機數。然後進行檢測操作,這主要是對客戶端運行環境的檢查,包括進程信息、線程信息、模塊列表、模塊信息、內存特徵、計算指定偏移位置和長度的代碼校驗和、模塊列表以及外掛/木馬/病毒程序特徵碼等等,服務端解密函數檢查這些信息並得出是否使用了外掛的結論,一旦確認使用了外掛,就立即將用戶加入封號列表,等待一段時間以後執行強制下線和封號懲罰。
圖3所示的是本發明的一個具體實施例,以網路遊戲七劍為例,首先在網遊方面,客戶端使用/Oy-編譯選項,保證客戶端程序中的函數均使用幀指針,服務端和客戶端適當增大網絡收發包的緩衝區,本發明需要在數據包尾部增加欄位記錄(8個字節),以記錄前面獲得調用堆棧和環境檢查信息並發送到服務端,4個字節用於記錄調用堆棧、4個用於記錄內部序列號和校驗和等信息,然後,客戶端和服務端調用加解密函數庫,執行加密函數時,會以一定規律在數據包中加入命令(服務端)和檢測結果(客戶端),然後,用戶登陸遊戲伺服器時,遊戲服務將向用戶發送隨機選擇的動態加解密模塊,從而實現通訊數據包的可靠高效的加密和解密,通過回溯客戶端調用鏈,得到加密和解密函數的調用堆棧,然後,執行服務端加密函數在數據包中發送的命令,通過分析配置文件和服務配置文件,檢查客戶端的進程環境,最後,中心分析服務端解密函數檢查這些信息並得出是否使用了外掛的結論。
以上所述的僅是本發明的優選實施方式。應當指出,對於本領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干變型和改進,這些也應視為屬於本發明的保護範圍。
權利要求
1.一種防止在網路遊戲中使用外掛的方法,其特徵在於包括以下步驟首先進行客戶端更新,並且在客戶端加入腳本引擎,登陸後從獨立的腳本服務端下載編譯成字節碼的檢測腳本和相關數據,在客戶端發送到服務端的全部或部分數據包中增加附加欄位,以容納外掛特徵信息,而且在服務端發送到客戶端的部分數據包中也要增加欄位或使用序列號傳送外掛檢查信息,在所述的服務端發送到客戶端的部分數據包中增加欄位或使用序列號傳送服務端時間戳,在客戶端發送到服務端的全部數據包中增加欄位或使用序列號傳送客戶端時間戳,並且啟動腳本獨立運行;然後,服務端下發一個數據以加入定時信號,客戶端腳本根據規定算法和當前狀態得到一個計算值返回服務端,服務端再檢查計算值是否正確,後續的定時信號用隨機數作為種子產生下次發送時隨機數;最後,服務端解密函數開始對客戶端運行環境進行檢查,並得出是否使用了外掛的結論,一旦確認使用了外掛,就立即將用戶加入封號列表,等待一段時間以後執行強制下線和封號懲罰。
全文摘要
一種防止在網路遊戲中使用外掛的方法,其步驟為在客戶端加入腳本引擎,並且從獨立的腳本服務端下載編譯成字節碼的檢測腳本和相關數據,然後在傳送的數據包中增加容納外掛特徵信息的附加欄位,然後在服務端下發一個數據以加入定時信號,然後服務端解密函數對客戶端運行環境進行檢查,並得出是否使用了外掛的結論。該方法具有防範外掛嚴密、使用更新靈活的優點。
文檔編號G06F19/00GK1744525SQ200510104918
公開日2006年3月8日 申請日期2005年9月22日 優先權日2005年9月22日
發明者車欠軍 申請人:車欠軍

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀