這是一本移動安全領域的開山之作,具備瞭技術暢銷書的各種品質。它全麵、精闢、流暢、成熟,講解由淺入深,內容完美覆蓋手遊安全基礎、外掛實現經驗、實戰代碼、案例和乾貨。作者們積纍瞭十多年的前綫安全經驗和所站的高度必將使本書成為遊戲安全領域的寶作!相信我,拿起本書感受一下吧!
《遊戲安全——手遊安全技術入門》是國內移動遊戲安全領域的開山之作,填補瞭移動遊戲安全書籍的空白,揭開瞭移動遊戲外掛的神秘麵紗。
隨著移動互聯網的日益普及,業內對移動安全領域的專業人纔的需求逐年增加,而該領域的專業人纔相對匱乏,很多開發人員和有誌於從事相關行業的在校學生等一直缺少相關的參考資料和書籍。作為移動安全領域的入門書籍,《遊戲安全——手遊安全技術入門》以移動端(涵蓋瞭Android 和iOS兩大平颱)的遊戲逆嚮分析和外掛技術為切入點,詳細講述瞭手遊安全領域的諸多基礎知識和技能,包括:移動端開發和調試環境搭建、典型的移動遊戲特性、與外掛相關的安全開發技術、遊戲和外掛的逆嚮分析方法、外掛開發實戰演練、遊戲引擎逆嚮分析等內容,書中的部分源代碼可免費從網上下載。讀者在掌握本書的內容之後,便可入門手遊安全領域,同時可以很容易地將在本書中學到的知識擴展至移動端的其他領域,例如:安全方案開發、病毒分析、軟件逆嚮及保護等。
《遊戲安全——手遊安全技術入門》可作為高等院校計算機安全相關專業的輔助教材,也可供移動端安全技術人員、遊戲開發人員,以及有誌於從事遊戲安全相關工作的學生等參考。
鄧立豐
在2010年加入騰訊公司,早期從事端遊客戶端的安全工作,負責過《地下城與勇士》《QQ飛車》《劍靈》等大型PC端網絡遊戲的反外掛對抗工作;從2014年開始從事手遊客戶端的安全工作,先後負責過《天天酷跑》《全民飛機大戰》《雷霆戰機》《天天炫鬥》《穿越火綫:槍戰王者》等移動端遊戲的反外掛對抗工作。從事遊戲安全行業6年,積纍瞭豐富的遊戲安全反外掛對抗經驗,對遊戲安全領域有較為深入的理解和認知。
陳誌豪
在2014年本科畢業於中南大學,以應屆畢業生身份進入騰訊公司,擔任客戶端安全工程師。主要從事騰訊所有自研或代理手遊的安全評審、《天天飛車》《天天炫鬥》等遊戲的外掛對抗,以及其他手遊的漏洞挖掘工作。對各種類型的主流遊戲的外掛和反外掛原理都有所積纍。
王彬
在2014年以應屆畢業生身份加入騰訊公司的遊戲部門,負責手遊前端的安全對抗工作。目前主要負責《全民飛機大戰》《王者榮耀》《穿越火綫:槍戰王者》等手遊的反外掛工作,同時開發工具以支持手遊安全評審及漏洞挖掘等相關工作。
潘宇峰
畢業於武漢大學,曾任百度安全工程師,在2015年加入騰訊公司,主要負責騰訊公司手遊的安全評審和漏洞挖掘工作。熟悉基於Unity 3D、Cocos2d-x引擎的C++、C#、Lua遊戲的分析和外掛製作。
劉從剛
在2015年加入騰訊公司的遊戲安全部門,參與多個移動端遊戲的反外掛對抗和運營工作,平時熱愛逆嚮分析。
彭智偉
在2014年以應屆畢業生身份進入騰訊公司,負責手遊安全性評審和外掛分析工作。
黎偉柱
在2009年大學畢業,先後從事嵌入式係統和Android軟件開發。在2014年加入騰訊公司,從事手遊外掛對抗工作。熟悉Android軟件框架,擅長軟件開發及架構。
丁笑一
在2015年以應屆畢業生身份進入騰訊公司的遊戲部門,負責手遊安全開發和對抗工作。熟悉各類手遊的玩法和外掛原理,擅長Android和iOS平颱的遊戲安全方案的設計及分析工具的開發。
王宏俊
從2013年開始涉足Android安全行業,對Android安全的攻防有一定的經驗,曾主導開發瞭Android版的《叉叉助手》。在2014年加入騰訊公司的業務安全中心,現在主要從事Android客戶端安全方案的開發工作。
“GAD 遊戲學院係列叢書”的各位作者都是騰訊互娛的業務骨乾。他們在這次叢書寫作中把多年積纍的乾貨傾囊相授,我們可以從書中感受到他們滿滿的誠意和認真、嚴謹的態度。希望“GAD 遊戲學院係列叢書”能夠真正幫助新人學習優秀的知識,讓他們少走彎路;並能夠為中國遊戲行業的持續發展和人纔培養貢獻自己的力量。
——騰訊高級副總裁馬曉軼
軟件安全行業從無到有,是隨著安全對象的價值變化而逐步發展起來的。病毒和木馬的肆意妄為、殺毒軟件的興盛、共享軟件的蓬勃發展、殼等保護軟件雨後春筍般的齣現、端遊的大行其道,以及遊戲外掛與反外掛係統的流行,這些都讓軟件安全從業者大顯身手。在手遊開發技術迅猛發展的今天,手遊的安全問題已是需要我們迫切解決的問題,本書的齣版非常及時和必要。在遊戲安全領域,從新手成長為高手的過程非常艱難,要坐得住冷闆凳、耐得住寂寞,還要守得住本心和走正道。本書將會對你大有裨益,值得推薦!
——巨人網絡奇點工作室負責人、安全專傢衛鵬飛(fly)
無論是齣於好奇還是本著學習的態度去閱讀本書,本書都不能算作一本通俗讀物,而是一本充斥著大量的專業術語和專業知識的書籍。閱讀本書,代錶你對手遊安全有專業的追求和期許,代錶你對學習有自我驅動的渴望,因為在專業麵前無論是新手還是老手、外行還是內行、跨界還是不跨界都不重要,重要的是做得好與不好、專業與不專業。任何時候,“專業”都是具有說服力的武器,隻有專業,纔能成為專傢,隻有專傢纔能成為贏傢。祝大傢閱讀愉快!
——《軟件加密技術內幕》編委、暴風TV CTO、安全專傢裴來隆(pll621)
第 1 篇概述篇 1
第1 章手遊麵臨的安全風險 2
1.1 靜態修改文件 3
1.1.1 修改遊戲資源 3
1.1.2 修改代碼 4
1.1.3 修改配置 4
1.2 動態篡改邏輯 4
1.2.1 修改代碼 5
1.2.2 修改數據 6
1.3 遊戲協議 6
1.3.1 篡改遊戲協議 6
1.3.2 重發遊戲協議 7
1.4 遊戲盜號 7
1.5 惡意發言 8
1.6 工作室 8
1.7 小結 8
第 2 章外掛的定義、分類及實現原理 9
2.1 外掛的定義 9
2.2 外掛的分類 10
2.2.1 輔助版外掛 10
2.2.2 破解版外掛 15
2.3 外掛的實現原理 15
2.3.1 輔助版外掛的實現原理 16
2.3.2 破解版外掛的實現原理 17
2.4 小結 18
第 3 章手遊外掛技術匯總 19
3.1 ARM 匯編 19
3.2 C、C++語言 19
3.3 Android 開發 20
3.4 iOS開發 20
3.5 瞭解常用的遊戲引擎 20
3.6 靜態分析(IDA 分析) 21
3.7 動態分析(Android、iOS調試) 21
3.8 有必要瞭解的其他編程語言 21
3.9 靜態修改 22
3.10 動態修改 22
3.11 小結 22
第 2 篇環境搭建篇 23
第4 章開發環境搭建 24
4.1 Android 開發環境搭建 24
4.1.1 Cygwin 環境搭建 24
4.1.2 Eclipse 環境搭建 27
4.1.3 Android 平颱的Native 程序編寫 29
4.1.4 Android Native 程序的NDK 編譯 30
4.1.5 Android Native 程序的加載運行 30
4.2 iOSXcode開發環境搭建 31
4.2.1 下載Xcode 31
4.2.2 真機部署 32
4.3 iOS越獄開發環境搭建 33
4.3.1 Theos越獄開發環境搭建 34
4.3.2 iOSOpenDev下載與安裝 35
4.3.3 如何創建和編譯iOS動態庫文件 36
4.3.4 如何加載、運行iOS動態庫 37
4.4 小結 38
第 5 章調試環境搭建 39
5.1 Android 平颱調試環境的搭建 39
5.2 iOS 32 位調試環境的搭建 41
5.2.1 軟件安裝 41
5.2.2 iOS 32 位程序的調試 42
5.3 iOS 64 位程序調試環境的搭建 44
5.3.1 iPhone 設備的CPU 類型介紹 44
5.3.2 lldb環境搭建 45
5.3.3 lldb調試介紹 46
5.4 小結 48
第 6 章工具匯總與使用 49
6.1 IDA Pro 49
6.1.1 用IDA 加載可執行文件 50
6.1.2 用IDA 分析可執行文件 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 章手遊開發基礎概述 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 遊戲係統及開發的相關概念 82
7.2.1 手遊係統的組成 82
7.2.2 手遊開發語言 88
7.2.3 手遊網絡模式 88
7.3 小結 89
第 8 章遊戲引擎的基本概念及常見引擎介紹 90
8.1 什麼是遊戲引擎 90
8.2 遊戲引擎子係統 91
8.2.1 渲染係統 91
8.2.2 音頻係統 92
8.2.3 物理係統 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 遊戲協議穩定型漏洞 98
9.1.3 遊戲服務端校驗疏忽型漏洞 99
9.2 遊戲漏洞風險點分類 99
9.2.1 手遊常見類型 99
9.2.2 手遊風險 100
9.3 小結 104
第 4 篇逆嚮篇 105
第10 章靜態分析 106
10.1 ARM 反匯編速成 106
10.1.1 ARM 體係簡介 106
10.1.2 ARM 指令樣例解析 107
10.1.3 Thumb 指令簡述 110
10.1.4 函數傳參 111
10.1.5 浮點數基礎 111
10.2 Android 平颱的ELF 文件格式 113
10.2.1 文件頭信息 114
10.2.2 程序頭信息 115
10.2.3 節錶頭信息 117
10.3 iOS平颱的Mach-O 文件格式 118
10.3.1 文件頭格式 119
10.3.2 Load Command 信息 121
10.4 IDA 靜態分析 123
10.4.1 IDA 啓動及加載文件 123
10.4.2 IDA 靜態分析主界麵及窗口 124
10.4.3 用IDA 保存靜態分析結果 128
10.4.4 IDA 靜態分析的常用功能及快捷鍵 129
10.5 小結 132
第 11 章動態分析 133
11.1 Android 平颱的IDA 動態調試 133
11.1.1 啓動IDA 調試器 133
11.1.2 加載Android 原生動態鏈接庫 135
11.1.3 動態調試主界麵 138
11.1.4 IDA 動態調試斷點和腳本功能 139
11.1.5 IDA 動態調試修改數據功能 141
11.1.6 用IDA 調試器修改代碼 143
11.2 iOS平颱中的GDB 動態調試 144
11.2.1 用GDB 加載調試程序 144
11.2.2 GDB 常用的調試功能 146
11.3 iOS平颱的lldb動態調試 151
11.3.1 用lldb加載調試程序 151
11.3.2 lldb的調試功能 154
11.3.3 其他功能 157
11.4 小結 158
第 5 篇開發篇 159
第12 章定製化外掛開發流程 160
12.1 什麼是定製化外掛 160
12.2 定製化外掛開發的基礎流程 161
12.3 定製化外掛開發各環節介紹 161
12.3.1 逆嚮分析遊戲邏輯 162
12.3.2 驗證外掛功能是否可行 162
12.3.3 注入遊戲進程 163
12.3.4 枚舉遊戲進程模塊 163
12.3.5 Hook 關鍵函數 163
12.3.6 遊戲內存數據修改 164
12.3.7 反調試功能 164
12.4 小結 165
第 13 章注入技術的實現原理 166
13.1 什麼是進程注入技術 166
13.2 Android 平颱下ptrace注入技術的實現 167
13.2.1 ptrace函數介紹 167
13.2.2 ptrace注入進程流程 168
13.2.3 ptrace注入的實現 169
13.2.4 ptrace注入實例測試 173
13.3 Android 平颱下Zygote 注入技術的實現 174
13.3.1 Zygote 注入技術的原理 174
13.3.2 Zygote 注入技術的實現流程 174
13.3.3 Zygote 注入器的實現方式 175
13.3.4 注入Zygote 的模塊功能實現 182
13.3.5 Zygote 注入實例測試 182
13.4 Android 平颱感染ELF 文件的注入技術實現 184
13.4.1 ELF 文件的格式 185
13.4.2 感染ELF 文件的注入實現原理 186
13.4.3 感染ELF 文件的注入實現過程 187
13.4.4 感染ELF 文件的注入實例分析 188
13.4.5 感染ELF 文件的注入編程實現 192
13.4.6 感染ELF 文件的注入實例測試 194
13.5 iOS平颱越獄環境的注入實現 195
13.5.1 利用Theos環境創建注入工程 195
13.5.2 工程文件說明 196
13.5.3 編譯和安裝 200
13.5.4 iOS注入原理介紹 202
13.6 小結 203
第 14 章 Hook 技術的實現原理 205
14.1 Hook 技術簡介 205
14.2 Android 平颱基於異常的Hook 實現 206
14.2.1 基於異常Hook 的實現原理 206
14.2.2 Android 平颱基於異常Hook 的實現流程 207
14.2.3 基於異常Hook 的實現代碼 208
14.2.4 基於異常Hook 的實例測試 212
14.3 Android 平颱的Inline Hook 實現 214
14.3.1 Inline Hook 的實現原理 214
14.3.2 Inline Hook 的實現流程 215
14.3.3 Inline Hook 的實現代碼 216
14.3.4 Inline Hook 的實例測試 220
14.4 Android 平颱下導入錶Hook 的實現 224
14.4.1 導入錶Hook 的實現原理 224
14.4.2 導入錶Hook 的實現流程 224
14.4.3 導入錶Hook 的實現代碼 225
14.4.4 Android 平颱下導入錶Hook 的實例測試 229
14.5 小結 230
第 15 章遊戲進程的模塊信息獲取 231
15.1 Android 平颱進程模塊的信息獲取 231
15.1.1 Android 內存模塊遍曆的原理 232
15.1.2 Android 內存模塊遍曆的實現 233
15.1.3 實例測試 236
15.2 iOS平颱進程模塊信息的獲取 237
15.2.1 Dyld API 遍曆模塊的原理 237
15.2.2 Dyld API 遍曆模塊實現 239
15.2.3 通過內存遍曆法獲取模塊的原理 239
15.2.4 通過內存遍曆法獲取模塊信息的實現 241
15.2.5 實例測試 247
15.3 小結 249
第 16 章篡改遊戲內容的實現原理 250
16.1 遊戲內容讀寫方式分類 250
16.2 非注入式篡改 251
16.2.1 篡改APK 安裝包 251
16.2.2 篡改遊戲的安裝目錄文件 253
16.2.3 篡改“/proc/”目錄文件 253
16.3 注入式篡改 258
16.3.1 篡改內存數據 259
16.3.2 篡改邏輯代碼 259
16.3.3 注入式篡改代碼實例講解 260
16.4 小結 263
第 17 章反調試技術 264
17.1 Android 平颱的常規反調試技術 264
17.1.1 Android 平颱的Self-Debugging 反調試方案 265
17.1.2 Android 平颱的輪詢檢測反調試方案 268
17.1.3 Android 平颱Java 層的反調試技術 270
17.2 iOS平颱的反調試技術 270
17.2.1 iOS平颱拒絕被附加反調試方案 271
17.2.2 iOS平颱的輪詢檢測反調試方案 272
17.3 小結 273
第 6 篇實戰篇 275
第18 章遊戲逆嚮分析實戰篇 276
18.1 C++遊戲分析實戰篇 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++遊戲逆嚮分析實戰篇——《雷霆戰機》無敵和秒殺功能分析 281
18.2 Unity 3D 遊戲分析實戰篇 289
18.2.1 識彆Unity 3D 遊戲 289
18.2.2 Unity 3D 遊戲的破解方法 290
18.2.3 Unity 3D 遊戲分析涉及的工具 291
18.2.4 Unity 3D 遊戲分析實戰篇——《星河戰神》的無限衝刺功能分析 292
18.3 Lua遊戲分析實戰 295
18.3.1 識彆Lua遊戲 295
18.3.2 破解Lua遊戲的方法 296
18.3.3 常用工具 298
18.3.4 Lua遊戲實戰——破解《疾風獵人》的Lua代碼 298
18.3.5 Lua遊戲分析實戰——破解《遊龍英雄》的Lua代碼 300
18.4 小結 302
第 19 章外掛逆嚮分析實戰——《雷霆戰機》圈圈外掛分析 303
19.1 外掛整體分析 303
19.2 外掛注入功能分析 304
19.2.1 com.oozhushou-1.apk 文件分析 304
19.2.2 hhloader模塊分析 309
19.2.3 外掛注入的實現方式 311
19.3 外掛作弊功能分析 312
19.3.1 秒殺功能的實現分析 312
19.3.2 忽略傷害功能的實現分析 315
19.3.3 護盾延遲功能的實現分析 316
19.4 小結 317
第 20 章外掛開發實戰——《2048》手遊快速通關功能分析及開發 318
20.1 遊戲功能分析 318
20.1.1 功能可行性分析 318
20.1.2 遊戲引擎的確認 320
20.1.3 關鍵邏輯的逆嚮分析 320
20.2 外掛功能的實現 326
20.2.1 實現思路 326
20.2.2 實現原理 327
20.2.3 實現流程 327
20.2.4 實現代碼 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 主框架的執行流程 334
21.2.3 C#函數調用的執行過程 335
21.3 iOS平颱的Unity 3D 引擎IL2CPP 機製分析 338
21.3.1 IL2CPP 機製生成代碼的對比 338
21.3.2 逆嚮分析IL2CPP 機製中C#函數的調用方式 342
21.3.3 Unity 3D 引擎的IL2CPP 機製安全性分析 347
21.4 Unity 3D 引擎AB 機製分析及《天天來戰》AB 包還原 349
21.4.1 Unity 3D 的AB 打包實現 349
21.4.2 C#腳本的AB 包加載及運行過程 351
21.4.3 《天天來戰》遊戲的AB 包處理方式分析及還原 352
21.5 小結 358
推薦序一
十多年前我剛進入遊戲行業時,國內做網絡遊戲的公司屈指可數,那時遊戲行業還不被主流社會所接納,被媒體妖魔化更是傢常便飯。遊戲的製作者們背負著巨大的輿論壓力還能毅然、決然地去做遊戲,正是因為他們都是被遊戲本身的魅力所徵服的資深玩傢。隻有我們自己知道,遊戲是一種非常棒的體驗,和看電影、聽音樂一樣是一種有益的娛樂形式。我知道有很多人不是為瞭尋求一份高薪工作,也不是看好遊戲行業所謂的發展前景,隻是齣於自己對遊戲的熱愛,就不顧一切地進入瞭這個不被世人所理解的行業。
這是不是像極瞭矽榖創業傳奇故事的開頭?一群充滿激情、創意並且有想法的年輕人執著地、不計迴報地做著被世人視為異端的事情。當然,其結局和矽榖創業的結局一樣美好。十多年過去瞭,在這群偏執狂的努力下,我國的遊戲行業不論是産業規模還是技術能力,都已經在全世界舉足輕重,並且擁有瞭像騰訊、網易這樣能位列整個行業前茅的遊戲公司,而遊戲也已經上升為國傢的戰略文化産業。不論在資本、市場還是政策層麵,當年人見人躲的“醜小鴨”,如今已通過自己的努力成為陽光下耀眼的“白天鵝”。
騰訊公司在遊戲行業耕耘多年,有得也有失,經驗和教訓都不少。作為行業的龍頭老大,騰訊除瞭自身的發展經營,也肩負著行業責任和社會義務。這套“GAD遊戲學院係列叢書”的編纂,匯集瞭來自騰訊各個不同項目、工作室和部門的頂尖遊戲製作者的智慧和經驗。我們將這些智慧和經驗和盤托齣,希望能為遊戲行業策劃新人的成長和能力提高盡到自己的一份力。
現在是最好的時代,信息大爆炸與互聯網的高速發展極大地消滅瞭特權,知識的獲取高效而簡單,為所有人史無前例地創造瞭一個公平的世界。大傢站到瞭同一個起跑綫上,每個有理想的年輕人都有彎道超車的機會,在互聯網這條偉大的航路上,遊戲行業絕對是你值得上的船!
我們在一個最好的時代,任何足夠優秀的産品都會被足夠多的人熱愛!
騰訊公司副總裁
姚曉光
推薦序二
早高峰的地鐵上,一名上班族雖然被人群擠壓著,可還是艱難地舉著手來玩遊戲;校園的一個寢室裏,室友們大呼小叫,聯機到深夜,也在玩遊戲;現在,3歲的孩子都會趁大人不玩手機的間隙,熟練地解鎖手機來玩手機遊戲;甚至與你相隔韆裏、上瞭年紀的爸爸媽媽,打電話給你就是為瞭問他們玩遊戲時遇到的問題……遊戲已經無差彆地進入無數人的生活中,就像吃飯、睡覺一樣,每日必做,不可或缺。
隨著這些年來遊戲政策的解禁、遊戲輿論的改變及遊戲玩傢的成長,從各種意義上講,玩遊戲都成為一種再正常不過的全民娛樂方式瞭。相應地,從事遊戲行業也不再是不務正業,這不僅是一份正經工作,更是一份可以為彆人創造快樂和迴憶、為自己實現理想和價值的創意性職業。
作為較早入行的遊戲人,我非常欣喜地看到有這麼多年輕人熱愛遊戲,想把做遊戲作為自己的職業。這些年輕的準遊戲人,比我們當年有更多的玩遊戲經驗,比我們當年有更紮實的遊戲科班知識,比我們當年有更廣闊的眼界與衝勁。當他們成長為遊戲行業的中堅力量時,一定會創造齣更多、更有趣、更天馬行空和更令人驚嘆的作品。未來的遊戲是什麼樣子的,在什麼硬件平颱上玩,用什麼交互方式操作,我無法預測。現在行業裏最新潮的VR、AR遊戲,在遊戲曆史的長河中,也許隻是一個片斷。遊戲的未來充滿瞭未知的機會和無限的可能。
騰訊遊戲的諸位資深專傢,毫無保留地貢獻瞭自己的工作經驗,編寫瞭這套“GAD遊戲學院係列叢書”,希望這套叢書能幫助各位準遊戲人打開遊戲世界的大門。遊戲的新世界,由你們來創造!
騰訊公司副總裁
陳宇
隨著電子遊戲的快速發展,特彆是網絡遊戲的興起,遊戲虛擬社交、PVP 係統、團隊協作及高價值的遊戲經濟係統讓遊戲真正成為一個虛擬世界。為瞭不讓這個虛擬世界成為法外之地,我們需要建立一套完整的遊戲安全體係來解決其中可能麵臨的安全問題。例如:遊戲外掛帶來的遊戲公平性問題、盜號木馬引發的密碼泄露和遊戲虛擬財産損失、打金工作室對遊戲經濟係統的衝擊等。遊戲越流行,對安全的需求就越強烈。通過在《地下城與勇士》《穿越火綫》《天天酷跑》等遊戲中長期積纍的安全運營實戰對抗經驗,騰訊遊戲安全團隊不斷完善遊戲安全係統,並希望通過編寫一係列遊戲安全書籍(本書是其中之一)來沉澱和分享我們的經驗。
遊戲外掛是最突齣、最難以解決的遊戲安全問題。遊戲設計上的安全缺陷、服務器校驗的缺失及特定的遊戲玩法等都可能引入容易被外掛利用的遊戲安全漏洞。對於外掛問題,我們幾乎不可能通過一套安全係統徹底解決,往往需要長期的持續運營,對於代理的海外遊戲更是如此。除瞭反外掛係統的開發,在遊戲研發中如何提升遊戲的基礎安全性,在運營中如何建立高效的外掛監控、打擊流程,如何訓練檢測模型並結閤各種處罰手段來提高使用外掛的門檻,等等,這些都是我們在實際運營中必須要考慮的問題。
騰訊遊戲安全團隊從2013 年開始,隨著微信、手Q 遊戲平颱的建立,啓動瞭籌備移動遊戲反外掛的方案。早期上綫的休閑類遊戲雖然通過外掛獲取的收益不高,但由於用戶群龐大,而且早期遊戲的基礎安全性不高,所以熱門遊戲還是經曆瞭一波外的強烈攻勢。從最原始的內存修改器發展到專用外掛、內含外掛邏輯的重打包遊戲安裝包,雖然外掛的使用量已經迴落到很低的水平,但是對抗仍然在持續。現在,外掛反對抗的手段不斷復雜化,錶現齣直接對抗安全方案的特點,未來可能趨嚮於PC端的更加復雜的外掛對抗形式。隨著移動遊戲玩法不斷重度化的發展趨勢,遊戲領域勢必會引入更多的PVP 玩法及更自由的遊戲虛擬財産交易模式,移動遊戲反外掛對抗任重道遠。
知己知彼,百戰不殆。反外掛係統具備很強的實戰性,為瞭更深入地理解反外掛係統,我們首先要充分瞭解外掛的開發流程和工作原理。作為遊戲安全領域的入門書籍,本書介紹瞭移動遊戲平颱的外掛開發所需要的工具和技能,並梳理瞭必要的知識框架。希望本書能夠為對客戶端安全技術、遊戲安全技術感興趣的在校學生及初學者打開遊戲安全技術的大門,也歡迎大傢通過GSLAB.qq.com 平颱來交流和分享關於遊戲安全攻防相關的經驗和心得。
本書內容導讀
本書以深入淺齣的方式講解瞭手遊安全領域涉及的移動端安全技術,重點講解手遊外掛技術,並提供部分源代碼給讀者使用,源代碼的下載地址為http://gad.qq.com/article/detail/7158994。本書分為6 篇,共計21 章,以下是對各篇內容的簡要介紹。
第 1 篇概述篇(第 1~3 章)
概述篇首先介紹瞭手遊麵臨的安全風險;然後講解瞭什麼是外掛,並對常見的外掛進行分類和介紹;最後匯總瞭手遊外掛涉及的安全技術。
第 2 篇環境搭建篇(第 4~6 章)
環境搭建篇首先介紹瞭移動端開發環境的搭建過程,包括:Android 平颱開發環境搭建、iOS平颱非越獄和越獄開發環境搭建;然後介紹瞭調試環境的搭建過程,包括:Android 平颱IDA 調試環境搭建、iOS平颱32 位GDB 調試環境搭建、iOS平颱 64位lldb調試環境搭建;最後介紹瞭手遊安全領域中常用工具的基本使用方法。
第 3 篇遊戲基礎篇(第 7~9 章)
遊戲基礎篇講解瞭入門手遊安全所需掌握的遊戲基礎知識,包括:遊戲開發基礎知識、引擎的概念、常見引擎簡介、遊戲漏洞概述及不同遊戲類型的漏洞風險分類。
第 4 篇逆嚮篇(第 10~11 章)
逆嚮篇從靜態分析和動態分析兩方麵展開:靜態分析介紹瞭ARM 匯編的基礎知識、Android 平颱的ELF 文件格式、iOS平颱的Mach-O 文件格式及IDA 靜態分析;動態分析介紹瞭Android 平颱的IDA 動態調試、iOS平颱的GDB 和lldb動態調試。
第 5 篇開發篇(第 12~17 章)
開發篇剖析瞭在手遊外掛開發過程中涉及的安全技術的實現原理,並提供代碼配閤講解,乾貨十足。其中剖析的安全技術包括:注入、Hook、內存篡改、進程信息獲取及反調試。
第 6 篇實戰篇(第 18~21 章)
實戰篇首先講解瞭不同類型的遊戲的分析和破解方法,並且通過實例剖析瞭各種類型的遊戲的分析方法;其次通過實例講解瞭手遊外掛的分析過程;然後以《2048》遊戲為實例,對遊戲通關功能進行瞭分析,並對快速通關的作弊功能進行瞭實現;最後講解瞭Unity 3D 引擎的逆嚮分析,包括:Unity 3D 引擎在iOS和Android 平颱下邏輯代碼的編譯處理原理、Unity 3D 引擎的AssetBundle機製的實現原理及《天天來戰》遊戲的AB 包破解過程。
緻謝
感謝GAD 遊戲學院組織並提供瞭這樣一個寫作平颱,感謝電子工業齣版社博文視點提供瞭優質的齣版平颱,感謝所有在本書撰寫過程中給予我們幫助和指導的小夥伴們,感謝騰訊互娛的各位領導對這次圖書寫作工作的重視和支持。
騰訊遊戲研發部遊戲安全中心
看看企鵝的東西到底有沒有乾貨。看看企鵝的東西到底有沒有乾貨
評分物流一如既往給力,業界第一部係統策劃的書,肯定是正品,學習瞭!
評分不錯 不錯 不錯 不錯 不錯 不錯 不錯
評分不錯不錯不錯不錯不錯
評分京東購物還是一如既往的給力,全五星好評吧
評分很好很滿意!
評分語言風格幽默風趣,非常喜歡
評分挺不錯的呀
評分書一般,送貨比較快
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有