逆向工程視頻遊戲的初學者學習材料
這是基於個人推薦的學習材料的編譯列表,可幫助人們學習如何逆轉工程視頻遊戲的過程。
我希望這將幫助他人花更多的時間學習,而搜索時間更少。
此處的大多數收集資源將集中於在Microsoft Windows操作系統上扭轉PC遊戲,並在X64上考慮X86組件,因為它更容易學習。
逆轉工程視頻遊戲通常與“遊戲黑客”有關,它們來來去去,所以如果某些學習材料來自此類網站/來源,請不要感到驚訝。
建議學習的命令
- 了解如何在Google上有效搜索,您的所有答案和資源都在互聯網上找到
- 學習使用作弊引擎
- 了解十六進制和二進制編號系統,以及一般的計算機內存
- 學習X86組件
- 學習C ++
- 學習使用IDA/GHIDRA
- 學習遊戲編程的基礎知識
- 學習Win32 API的基礎知識
- 了解Windows操作系統的內部工作,又稱Windows內部設備
- 練習,練習,練習...
逆轉所需的軟件
不建議在玩具有防治系統的多人遊戲時運行這些工具(尤其是作弊引擎),除非您知道自己在做什麼。
首先要熟悉作弊引擎,以及IDA或Ghidra。
內存掃描儀:
拆卸器 /分解器 /辯論者:
- IDA(免費軟件版)
- 吉德拉
- x64dbg
- DNSPY(C#應用程序的分解器,調試器和編輯器)
流程工具:
- ProcessHacker(監視過程和系統資源)
- ProcessMonitor(監視實時文件系統,註冊表和過程/線程活動)
- API監視器(監視器和控制API調用)
PE工具:
- Explorer Suite(PE編輯器)
- 檢測到它很容易(文件類型和包裝器標識符)
- tridnet(文件標識符)
網絡工具:
其他:
- HXD編輯器(基本十六進制編輯器)
- IMHEX(高級十六進制編輯器)
- reclass.net(內存中的反向工程數據結構)
選擇正確的工具
在開始遊戲之前,您必須了解您的目標,因此收集一些信息很重要,例如:
- 它使用了哪些軟件技術
- 它已經開發了哪種編程語言和編譯器
- 它是否有任何反向反轉或反篡改技術
- 它是在任何流行的第三方遊戲引擎(Unity,Unreal Engine,Source Engine等)上運行的
共享相同發動機的遊戲通常具有非常相似且經常性的代碼庫,您可以利用自己的優勢。對於第三方遊戲引擎(例如虛幻引擎或Unity),在線有許多自定義工具可以減輕反向工程的過程。
與C/C ++相比,使用高級解釋/中間編程語言(例如C#或Java)編碼的遊戲通常更容易反向工程,因為元數據未丟失,因為它們未彙編為低級機器代碼。
對於基於團結的遊戲(以及使用.NET框架開發的任何其他遊戲),請使用DNSpy代替IDA/GHIDRA。
我們主要將專注於逆轉在C ++中編碼的遊戲,因為它仍然是視頻遊戲編程中的黃金標準。
用C ++製作的遊戲示例:
- 反擊
- 大盜竊自動V
- Fortnite
- 魔獸世界
- 湯姆·克蘭西(Tom Clancy)的彩虹六攻城
- 輻射4
- 邊境
- 火箭聯盟
- 命運2
- 方舟:生存進化
用C#製作的遊戲示例:
- Genshin影響
- 擊敗薩伯
- 銹
- 爐石
- 亞納圖卡
- Rimworld
- 空心騎士
- 杯頭
- 克服它
- 降雨的風險2
必讀初學者級別的材料
指導遊戲逆轉:
- 遊戲黑客學院
- 從編碼到黑客:實用(外部)遊戲黑客入侵的簡介指南
向X86組裝的指南:
- 什麼是彙編語言? -Javidx9
- X86組件中的速效課程用於反向工程師 - Sensepost
向艾達的指南:
基本遊戲編程概念:
- 遊戲編程算法和技術-Sanjay Madhav(本文共有7頁,閱讀至第5-6頁)
- 了解遊戲主循環-Rodrigo Monteiro
圖書:
- 逆轉和遊戲黑客:
- 遊戲黑客:開髮用於在線遊戲的自動機器人 - 尼克·卡諾(Nick Cano)
- 實用惡意軟件分析:剖析惡意軟件的動手指南-Michael Sikorski和Andrew Honig
- 遊戲編程:
- Windows Game編程大師的技巧,第二版(2002) - 安德烈·拉莫特(Andre Lamothe)
- 遊戲編碼完整,第四版(2012)-Mike McShaffry
Google:
- 如何有效地搜索互聯網 - 網絡工具公司
- Google備忘單
- 最終的Google搜索操作員作弊表-Helvis smoteks
必須觀看YouTube頻道
- 指導黑客YouTube頻道進行逆向工程和遊戲黑客教程
- 斯蒂芬·查普曼(Stephen Chapman)的作弊引擎教程YouTube頻道
其他真正有用的材料
一路上有用的網站
- Google(認真地使用,很多時間,一直在
- Microsoft官方文檔(包括有關MSVC,DirectX,Win32 API等的文檔)
- Godbolt(對於驗證編譯器生成的C ++代碼非常有用)
您一般要學習的關鍵字
- 內存掃描
- 內存編輯
- 內存補丁
- 圖案掃描
- x86組件
- X64組件
- 過程調試
- 拆卸代碼
- 分解代碼
- 功能鉤
- API鉤
- 繞道功能
- DLL注入
- 內部作弊
- 外部作弊
- 線程
- Windows PE格式
- Win32 API
- Windows內部設備
- 反欺騙
- 反逆轉
- 抗tamper
- 軟件包裝工
- 軟件解開包裝