游戲安全手游安全技術入門pdf是一本移動游戲安全開山之作,由騰訊游戲研發(fā)部游戲安全中心全體人員編著。本書是一本充斥著大量的專業(yè)術語和專業(yè)知識的書籍,具備了技術暢銷書的各種品質,內(nèi)容全面、精辟、流暢、成熟,講解由淺入深,完美覆蓋手游安全基礎、外掛實現(xiàn)經(jīng)驗、實戰(zhàn)代碼、案例和干貨,是學習手游安全技術入門的必讀圖書。
內(nèi)容介紹
《游戲安全 手游安全技術入門》是國內(nèi)移動游戲安全領域的開山之作,填補了移動游戲安全書籍的空白,揭開了移動游戲外掛的神秘面紗。隨著移動互聯(lián)網(wǎng)的日益普及,業(yè)內(nèi)對移動安全領域的專業(yè)人才的需求逐年增加,而該領域的專業(yè)人才相對匱乏,很多開發(fā)人員和有志于從事相關行業(yè)的在校學生等一直缺少相關的參考資料和書籍。作為移動安全領域的入門書籍,《游戲安全 手游安全技術入門》中(涵蓋了Android 和iOS兩大平臺)的游戲逆向分析和外掛技術為切入點,詳細講述了手游安全領域的諸多基礎知識和技能,包括:移動端開發(fā)和調(diào)試環(huán)境搭建、典型的移動游戲特性、與外掛相關的安全開發(fā)技術、游戲和外掛的逆向分析方法、外掛開發(fā)實戰(zhàn)演練、游戲引擎逆向分析等內(nèi)容,書中的部分源代碼可免費從網(wǎng)上下載。讀者在掌握本書的內(nèi)容之后,便可入門手游安全領域,同時可以很容易地將在本書中學到的知識擴展至移動端的其他領域,例如:安全方案開發(fā)、病毒分析、軟件逆向及保護等。
本書可作為高等院校計算機安全相關專業(yè)的輔助教材,也可供移動端安全技術人員、游戲開發(fā)人員,以及有志于從事游戲安全相關工作的學生等參考。
《游戲安全 手游安全技術入門》內(nèi)容導讀
第 1 篇概述篇(第 1~3 章)
概述篇首先介紹了手游面臨的安全風險;然后講解了什么是外掛,并對常見的外掛進行分類和介紹;最后匯總了手游外掛涉及的安全技術。
第 2 篇環(huán)境搭建篇(第 4~6 章)
環(huán)境搭建篇首先介紹了移動端開發(fā)環(huán)境的搭建過程,包括:Android 平臺開發(fā)環(huán)境搭建、iOS平臺非越獄和越獄開發(fā)環(huán)境搭建;然后介紹了調(diào)試環(huán)境的搭建過程,包括:Android 平臺IDA 調(diào)試環(huán)境搭建、iOS平臺32 位GDB 調(diào)試環(huán)境搭建、iOS平臺 64位lldb調(diào)試環(huán)境搭建;最后介紹了手游安全領域中常用工具的基本使用方法。
第 3 篇游戲基礎篇(第 7~9 章)
游戲基礎篇講解了入門手游安全所需掌握的游戲基礎知識,包括:游戲開發(fā)基礎知識、引擎的概念、常見引擎簡介、游戲漏洞概述及不同游戲類型的漏洞風險分類。
第 4 篇逆向篇(第 10~11 章)
逆向篇從靜態(tài)分析和動態(tài)分析兩方面展開:靜態(tài)分析介紹了ARM 匯編的基礎知識、Android 平臺的ELF 文件格式、iOS平臺的Mach-O 文件格式及IDA 靜態(tài)分析;動態(tài)分析介紹了Android 平臺的IDA 動態(tài)調(diào)試、iOS平臺的GDB 和lldb動態(tài)調(diào)試。
第 5 篇開發(fā)篇(第 12~17 章)
開發(fā)篇剖析了在手游外掛開發(fā)過程中涉及的安全技術的實現(xiàn)原理,并提供代碼配合講解,干貨十足。其中剖析的安全技術包括:注入、Hook、內(nèi)存篡改、進程信息獲取及反調(diào)試。
第 6 篇實戰(zhàn)篇(第 18~21 章)
實戰(zhàn)篇首先講解了不同類型的游戲的分析和破解方法,并且通過實例剖析了各種類型的游戲的分析方法;其次通過實例講解了手游外掛的分析過程;然后以《2048》游戲為實例,對游戲通關功能進行了分析,并對快速通關的作弊功能進行了實現(xiàn);最后講解了Unity 3D 引擎的逆向分析,包括:Unity 3D 引擎在iOS和Android 平臺下邏輯代碼的編譯處理原理、Unity 3D 引擎的AssetBundle機制的實現(xiàn)原理及《天天來戰(zhàn)》游戲的AB 包破解過程。
章節(jié)目錄
第 1 篇概述篇 1
第1 章手游面臨的安全風險 2
1.1 靜態(tài)修改文件 3
1.1.1 修改游戲資源 3
1.1.2 修改代碼 4
1.1.3 修改配置 4
1.2 動態(tài)篡改邏輯 4
1.2.1 修改代碼 5
1.2.2 修改數(shù)據(jù) 6
1.3 游戲協(xié)議 6
1.3.1 篡改游戲協(xié)議 6
1.3.2 重發(fā)游戲協(xié)議 7
1.4 游戲盜號 7
1.5 惡意發(fā)言 8
1.6 工作室 8
1.7 小結 8
第 2 章外掛的定義、分類及實現(xiàn)原理 9
2.1 外掛的定義 9
2.2 外掛的分類 10
2.2.1 輔助版外掛 10
2.2.2 破解版外掛 15
2.3 外掛的實現(xiàn)原理 15
2.3.1 輔助版外掛的實現(xiàn)原理 16
2.3.2 破解版外掛的實現(xiàn)原理 17
2.4 小結 18
第 3 章手游外掛技術匯總 19
3.1 ARM 匯編 19
3.2 C、C++語言 19
3.3 Android 開發(fā) 20
3.4 iOS開發(fā) 20
3.5 了解常用的游戲引擎 20
3.6 靜態(tài)分析(IDA 分析) 21
3.7 動態(tài)分析(Android、iOS調(diào)試) 21
3.8 有必要了解的其他編程語言 21
3.9 靜態(tài)修改 22
3.10 動態(tài)修改 22
3.11 小結 22
第 2 篇環(huán)境搭建篇 23
第4 章開發(fā)環(huán)境搭建 24
4.1 Android 開發(fā)環(huán)境搭建 24
4.1.1 Cygwin 環(huán)境搭建 24
4.1.2 Eclipse 環(huán)境搭建 27
4.1.3 Android 平臺的Native 程序編寫 29
4.1.4 Android Native 程序的NDK 編譯 30
4.1.5 Android Native 程序的加載運行 30
4.2 iOSXcode開發(fā)環(huán)境搭建 31
4.2.1 下載Xcode 31
4.2.2 真機部署 32
4.3 iOS越獄開發(fā)環(huán)境搭建 33
4.3.1 Theos越獄開發(fā)環(huán)境搭建 34
4.3.2 iOSOpenDev下載與安裝 35
4.3.3 如何創(chuàng)建和編譯iOS動態(tài)庫文件 36
4.3.4 如何加載、運行iOS動態(tài)庫 37
4.4 小結 38
第 5 章調(diào)試環(huán)境搭建 39
5.1 Android 平臺調(diào)試環(huán)境的搭建 39
5.2 iOS 32 位調(diào)試環(huán)境的搭建 41
5.2.1 軟件安裝 41
5.2.2 iOS 32 位程序的調(diào)試 42
5.3 iOS 64 位程序調(diào)試環(huán)境的搭建 44
5.3.1 iPhone 設備的CPU 類型介紹 44
5.3.2 lldb環(huán)境搭建 45
5.3.3 lldb調(diào)試介紹 46
5.4 小結 48
第 6 章工具匯總與使用 49
6.1 IDA Pro 49
6.1.1 用IDA 加載可執(zhí)行文件 50
6.1.2 用IDA 分析可執(zhí)行文件 52
6.1.3 IDA 功能界面 54
6.2 APKTool工具 61
6.2.1 反編譯APK 文件 62
6.2.2 重打包APK 文件 63
6.3 ILSpy工具 64
6.3.1 加載文件 64
6.3.2 保存反編譯代碼 65
6.4 MachOView工具 66
6.4.1 加載Mach-O 文件 67
6.4.2 文件頭信息 68
6.4.3 加密信息獲取 69
6.5 MobileSubStrate工具組件 70
6.5.1 MobileHooker 71
6.5.2 MobileLoader 71
6.5.3 Safe Mode 72
6.6 小結 72
第 3 篇游戲基礎篇 73
第7 章手游開發(fā)基礎概述 74
7.1 游戲玩法與分類 74
7.1.1 MMORPG 類游戲 75
7.1.2 FPS 類游戲 77
7.1.3 ARPG 類游戲 78
7.1.4 卡牌類游戲 79
7.1.5 RTS 類游戲 79
7.1.6 消除類游戲 80
7.1.7 MOBA 類游戲 81
7.1.8 跑酷類游戲 81
7.2 游戲系統(tǒng)及開發(fā)的相關概念 82
7.2.1 手游系統(tǒng)的組成 82
7.2.2 手游開發(fā)語言 88
7.2.3 手游網(wǎng)絡模式 88
7.3 小結 89
第 8 章游戲引擎的基本概念及常見引擎介紹 90
8.1 什么是游戲引擎 90
8.2 游戲引擎子系統(tǒng) 91
8.2.1 渲染系統(tǒng) 91
8.2.2 音頻系統(tǒng) 92
8.2.3 物理系統(tǒng) 93
8.2.4 人工智能 93
8.3 常用手游引擎 94
8.3.1 Cocos2D 引擎 94
8.3.2 Unity 3D 引擎 95
8.4 小結 96
第 9 章游戲漏洞概述 97
9.1 游戲安全漏洞的基本概念 97
9.1.1 游戲邏輯漏洞 98
9.1.2 游戲協(xié)議穩(wěn)定型漏洞 98
9.1.3 游戲服務端校驗疏忽型漏洞 99
9.2 游戲漏洞風險點分類 99
9.2.1 手游常見類型 99
9.2.2 手游風險 100
9.3 小結 104
第 4 篇逆向篇 105
第10 章靜態(tài)分析 106
10.1 ARM 反匯編速成 106
10.1.1 ARM 體系簡介 106
10.1.2 ARM 指令樣例解析 107
10.1.3 Thumb 指令簡述 110
10.1.4 函數(shù)傳參 111
10.1.5 浮點數(shù)基礎 111
10.2 Android 平臺的ELF 文件格式 113
10.2.1 文件頭信息 114
10.2.2 程序頭信息 115
10.2.3 節(jié)表頭信息 117
10.3 iOS平臺的Mach-O 文件格式 118
10.3.1 文件頭格式 119
10.3.2 Load Command 信息 121
10.4 IDA 靜態(tài)分析 123
10.4.1 IDA 啟動及加載文件 123
10.4.2 IDA 靜態(tài)分析主界面及窗口 124
10.4.3 用IDA 保存靜態(tài)分析結果 128
10.4.4 IDA 靜態(tài)分析的常用功能及快捷鍵 129
10.5 小結 132
第 11 章動態(tài)分析 133
11.1 Android 平臺的IDA 動態(tài)調(diào)試 133
11.1.1 啟動IDA 調(diào)試器 133
11.1.2 加載Android 原生動態(tài)鏈接庫 135
11.1.3 動態(tài)調(diào)試主界面 138
11.1.4 IDA 動態(tài)調(diào)試斷點和腳本功能 139
11.1.5 IDA 動態(tài)調(diào)試修改數(shù)據(jù)功能 141
11.1.6 用IDA 調(diào)試器修改代碼 143
11.2 iOS平臺中的GDB 動態(tài)調(diào)試 144
11.2.1 用GDB 加載調(diào)試程序 144
11.2.2 GDB 常用的調(diào)試功能 146
11.3 iOS平臺的lldb動態(tài)調(diào)試 151
11.3.1 用lldb加載調(diào)試程序 151
11.3.2 lldb的調(diào)試功能 154
11.3.3 其他功能 157
11.4 小結 158
第 5 篇開發(fā)篇 159
第12 章定制化外掛開發(fā)流程 160
12.1 什么是定制化外掛 160
12.2 定制化外掛開發(fā)的基礎流程 161
12.3 定制化外掛開發(fā)各環(huán)節(jié)介紹 161
12.3.1 逆向分析游戲邏輯 162
12.3.2 驗證外掛功能是否可行 162
12.3.3 注入游戲進程 163
12.3.4 枚舉游戲進程模塊 163
12.3.5 Hook 關鍵函數(shù) 163
12.3.6 游戲內(nèi)存數(shù)據(jù)修改 164
12.3.7 反調(diào)試功能 164
12.4 小結 165
第 13 章注入技術的實現(xiàn)原理 166
13.1 什么是進程注入技術 166
13.2 Android 平臺下ptrace注入技術的實現(xiàn) 167
13.2.1 ptrace函數(shù)介紹 167
13.2.2 ptrace注入進程流程 168
13.2.3 ptrace注入的實現(xiàn) 169
13.2.4 ptrace注入實例測試 173
13.3 Android 平臺下Zygote 注入技術的實現(xiàn) 174
13.3.1 Zygote 注入技術的原理 174
13.3.2 Zygote 注入技術的實現(xiàn)流程 174
13.3.3 Zygote 注入器的實現(xiàn)方式 175
13.3.4 注入Zygote 的模塊功能實現(xiàn) 182
13.3.5 Zygote 注入實例測試 182
13.4 Android 平臺感染ELF 文件的注入技術實現(xiàn) 184
13.4.1 ELF 文件的格式 185
13.4.2 感染ELF 文件的注入實現(xiàn)原理 186
13.4.3 感染ELF 文件的注入實現(xiàn)過程 187
13.4.4 感染ELF 文件的注入實例分析 188
13.4.5 感染ELF 文件的注入編程實現(xiàn) 192
13.4.6 感染ELF 文件的注入實例測試 194
13.5 iOS平臺越獄環(huán)境的注入實現(xiàn) 195
13.5.1 利用Theos環(huán)境創(chuàng)建注入工程 195
13.5.2 工程文件說明 196
13.5.3 編譯和安裝 200
13.5.4 iOS注入原理介紹 202
13.6 小結 203
第 14 章 Hook 技術的實現(xiàn)原理 205
14.1 Hook 技術簡介 205
14.2 Android 平臺基于異常的Hook 實現(xiàn) 206
14.2.1 基于異常Hook 的實現(xiàn)原理 206
14.2.2 Android 平臺基于異常Hook 的實現(xiàn)流程 207
14.2.3 基于異常Hook 的實現(xiàn)代碼 208
14.2.4 基于異常Hook 的實例測試 212
14.3 Android 平臺的Inline Hook 實現(xiàn) 214
14.3.1 Inline Hook 的實現(xiàn)原理 214
14.3.2 Inline Hook 的實現(xiàn)流程 215
14.3.3 Inline Hook 的實現(xiàn)代碼 216
14.3.4 Inline Hook 的實例測試 220
14.4 Android 平臺下導入表Hook 的實現(xiàn) 224
14.4.1 導入表Hook 的實現(xiàn)原理 224
14.4.2 導入表Hook 的實現(xiàn)流程 224
14.4.3 導入表Hook 的實現(xiàn)代碼 225
14.4.4 Android 平臺下導入表Hook 的實例測試 229
14.5 小結 230
第 15 章游戲進程的模塊信息獲取 231
15.1 Android 平臺進程模塊的信息獲取 231
15.1.1 Android 內(nèi)存模塊遍歷的原理 232
15.1.2 Android 內(nèi)存模塊遍歷的實現(xiàn) 233
15.1.3 實例測試 236
15.2 iOS平臺進程模塊信息的獲取 237
15.2.1 Dyld API 遍歷模塊的原理 237
15.2.2 Dyld API 遍歷模塊實現(xiàn) 239
15.2.3 通過內(nèi)存遍歷法獲取模塊的原理 239
15.2.4 通過內(nèi)存遍歷法獲取模塊信息的實現(xiàn) 241
15.2.5 實例測試 247
15.3 小結 249
第 16 章篡改游戲內(nèi)容的實現(xiàn)原理 250
16.1 游戲內(nèi)容讀寫方式分類 250
16.2 非注入式篡改 251
16.2.1 篡改APK 安裝包 251
16.2.2 篡改游戲的安裝目錄文件 253
16.2.3 篡改“/proc/”目錄文件 253
16.3 注入式篡改 258
16.3.1 篡改內(nèi)存數(shù)據(jù) 259
16.3.2 篡改邏輯代碼 259
16.3.3 注入式篡改代碼實例講解 260
16.4 小結 263
第 17 章反調(diào)試技術 264
17.1 Android 平臺的常規(guī)反調(diào)試技術 264
17.1.1 Android 平臺的Self-Debugging 反調(diào)試方案 265
17.1.2 Android 平臺的輪詢檢測反調(diào)試方案 268
17.1.3 Android 平臺Java 層的反調(diào)試技術 270
17.2 iOS平臺的反調(diào)試技術 270
17.2.1 iOS平臺拒絕被附加反調(diào)試方案 271
17.2.2 iOS平臺的輪詢檢測反調(diào)試方案 272
17.3 小結 273
第 6 篇實戰(zhàn)篇 275
第18 章游戲逆向分析實戰(zhàn)篇 276
18.1 C++游戲分析實戰(zhàn)篇 276
18.1.1 C++游戲識別 277
18.1.2 C++基礎 278
18.1.3 C++游戲的逆向分析方法 279
18.1.4 C++游戲的破解思路 281
18.1.5 C++游戲逆向分析實戰(zhàn)篇——《雷霆戰(zhàn)機》無敵和秒殺功能分析 281
18.2 Unity 3D 游戲分析實戰(zhàn)篇 289
18.2.1 識別Unity 3D 游戲 289
18.2.2 Unity 3D 游戲的破解方法 290
18.2.3 Unity 3D 游戲分析涉及的工具 291
18.2.4 Unity 3D 游戲分析實戰(zhàn)篇——《星河戰(zhàn)神》的無限沖刺功能分析 292
18.3 Lua游戲分析實戰(zhàn) 295
18.3.1 識別Lua游戲 295
18.3.2 破解Lua游戲的方法 296
18.3.3 常用工具 298
18.3.4 Lua游戲實戰(zhàn)——破解《疾風獵人》的Lua代碼 298
18.3.5 Lua游戲分析實戰(zhàn)——破解《游龍英雄》的Lua代碼 300
18.4 小結 302
第 19 章外掛逆向分析實戰(zhàn)——《雷霆戰(zhàn)機》圈圈外掛分析 303
19.1 外掛整體分析 303
19.2 外掛注入功能分析 304
19.2.1 com.oozhushou-1.apk 文件分析 304
19.2.2 hhloader模塊分析 309
19.2.3 外掛注入的實現(xiàn)方式 311
19.3 外掛作弊功能分析 312
19.3.1 秒殺功能的實現(xiàn)分析 312
19.3.2 忽略傷害功能的實現(xiàn)分析 315
19.3.3 護盾延遲功能的實現(xiàn)分析 316
19.4 小結 317
第 20 章外掛開發(fā)實戰(zhàn)——《2048》手游快速通關功能分析及開發(fā) 318
20.1 游戲功能分析 318
20.1.1 功能可行性分析 318
20.1.2 游戲引擎的確認 320
20.1.3 關鍵邏輯的逆向分析 320
20.2 外掛功能的實現(xiàn) 326
20.2.1 實現(xiàn)思路 326
20.2.2 實現(xiàn)原理 327
20.2.3 實現(xiàn)流程 327
20.2.4 實現(xiàn)代碼 328
20.3 測試結果 329
20.4 小結 330
第 21 章Unity3D 引擎逆向分析 332
21.1 Unity 3D 引擎概述 332
21.2 Android 平臺Unity 3D 引擎的Mono 機制分析 333
21.2.1 Mono 介紹 333
21.2.2 Mono 主框架的執(zhí)行流程 334
21.2.3 C#函數(shù)調(diào)用的執(zhí)行過程 335
21.3 iOS平臺的Unity 3D 引擎IL2CPP 機制分析 338
21.3.1 IL2CPP 機制生成代碼的對比 338
21.3.2 逆向分析IL2CPP 機制中C#函數(shù)的調(diào)用方式 342
21.3.3 Unity 3D 引擎的IL2CPP 機制安全性分析 347
21.4 Unity 3D 引擎AB 機制分析及《天天來戰(zhàn)》AB 包還原 349
21.4.1 Unity 3D 的AB 打包實現(xiàn) 349
21.4.2 C#腳本的AB 包加載及運行過程 351
21.4.3 《天天來戰(zhàn)》游戲的AB 包處理方式分析及還原 352
21.5 小結 358
免責聲明:
來源于網(wǎng)絡,僅用于分享知識,學習和交流!請下載完在24小時內(nèi)刪除。
禁用于商業(yè)用途!請購買正版,謝謝合作。
使用說明
1、下載并解壓,得出pdf文件
2、如果在電腦上打不開pdf文件,別著急,那么您需要先在電腦上下載一個pdf閱讀軟件
3、有pdf閱讀文件直接雙擊即可打開pdf文件
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 得間免費小說電腦版 v5.2.7.172.56M / 簡體中文
- 網(wǎng)易新聞電腦版 v112.697.63M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- 京東讀書電腦版 v1.13.4官方版1.98M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- 本草綱目 5.34M / 簡體中文
- docker入門實戰(zhàn) pdf完整版1.38M / 簡體中文
- Scala程序設計第二版 pdf高清完整版15.83M / 簡體中文