Posted on 2007-03-23 18:36
王勇良 閱讀(385)
評論(0) 編輯 收藏 引用 所屬分類:
Game
游戲修改器的基本工作原理
所謂游戲修改器,主要是通過修改游戲程序的內存數據或存盤文件來修改游戲中的相關數據,使之達到“無敵”等效果。
游戲修改器主要分為兩類:單一游戲的修改器和通用游戲修改器。前者只能修改特定的游戲,我接下來要寫的就是只針對英雄無敵Ⅲ這款游戲的;而后者則可以修改大多數的游戲,比較著名的有金山游俠、FPE等。
如何訪問游戲程序的內存
當我們的修改器運行于Windows時,首先遇到的問題便是如何訪問游戲的內存。
一. 首先,在訪問游戲的內存前我們還必須獲得游戲進程的句柄:
這可以通過ToolHelp函數獲取系統中當前運行的所有進程的列表和各進程的ID,經由用戶選擇之后通過OpenProcess函數來獲取游戲進程的句柄。
若您的修改器運行于后臺,而前臺是游戲的話,也可以使用GetForegroundWindow函數獲取游戲窗口的HWND,再使用GetWindowThreadProcessId轉換成游戲進程的ID,再使用OpenProcess函數獲取游戲進程的句柄。
二. 修改游戲內存:
有了游戲進程的句柄之后,便可以使用Windows提供的ReadProcessMemory和WriteProcessMemory這兩個API來讀寫游戲的內存了。