注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)信息安全九陰真經(jīng) iOS黑客攻防秘籍

九陰真經(jīng) iOS黑客攻防秘籍

九陰真經(jīng) iOS黑客攻防秘籍

定 價(jià):¥89.00

作 者: 陳德 著
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈原創(chuàng)
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787115516107 出版時(shí)間: 2019-08-01 包裝: 平裝
開本: 16開 頁數(shù): 348 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書內(nèi)容易于理解,可以讓讀者循序漸進(jìn)、系統(tǒng)性地學(xué)習(xí)iOS 安全技術(shù)。書中首先細(xì)致地介紹了越獄環(huán)境的開發(fā)與逆向相關(guān)工具,然后依次講解了匯編基礎(chǔ)、動(dòng)態(tài)調(diào)試、靜態(tài)分析、注入與hook、文件格式,最后為大家呈現(xiàn)了應(yīng)用破解與應(yīng)用保護(hù)、隱私獲取與取證、刷量與作弊、**設(shè)備ID、寫殼內(nèi)幕等多個(gè)主題。

作者簡(jiǎn)介

  陳德,安全專家,軟件安全研究員。2007年開始自學(xué)安全技術(shù),在安全領(lǐng)域精通多方面技術(shù),個(gè)人作品有eXfaker、FileMonitorKit和SystemKit等,其博客地址為http: www.exchen.net。

圖書目錄

第 1章 iOS安全機(jī)制1
1.1 應(yīng)用的安裝源 1
1.2 沙盒 2
1.3 代碼簽名 3
1.4 用戶權(quán)限隔離 4
1.5 數(shù)據(jù)執(zhí)行保護(hù) 4
1.6 地址隨機(jī)化 5
1.7 后臺(tái)程序 5
第 2章 越獄環(huán)境開發(fā)工具的準(zhǔn)備 8
2.1 越獄與Cydia 8
2.2 文件管理工具 10
2.2.1 iFile:在手機(jī)上管理文件 10
2.2.2 AFC2:通過USB管理手機(jī)
文件 10
2.3 命令行工具 11
2.3.1 MTerminal:手機(jī)中執(zhí)行
命令行 11
2.3.2 OpenSSH:在電腦上執(zhí)行
命令行 12
2.4 代碼注入測(cè)試工具 13
2.5 遠(yuǎn)程調(diào)試工具 14
2.5.1 debugserver的配置與啟動(dòng) 14
2.5.2 LLDB連接debugserver及其
調(diào)試 15
2.5.3 通過USB連接SSH進(jìn)行調(diào)試 17
2.6 反匯編工具 18
2.6.1 IDA 18
2.6.2 Hopper 21
2.7 其他工具 22
第3章 ARM匯編基礎(chǔ) 30
3.1 ARMv7 30
3.1.1 編寫32位匯編代碼 30
3.1.2 寄存器與棧 32
3.1.3 基礎(chǔ)指令 32
3.1.4 條件跳轉(zhuǎn)與循環(huán) 33
3.1.5 函數(shù)參數(shù)的調(diào)用過程 34
3.1.6 Thumb指令 35
3.2 ARM64 36
3.2.1 編寫64位的匯編代碼 36
3.2.2 寄存器與棧 36
3.2.3 函數(shù)參數(shù)的調(diào)用過程 37
3.3 在Xcode中使用內(nèi)聯(lián)匯編 38
3.3.1 C C++ Objective-C調(diào)用匯編
函數(shù) 39
3.3.2 直接編寫內(nèi)聯(lián)匯編 39
第4章 應(yīng)用逆向分析 41
4.1 尋找main函數(shù)的入口 41
4.1.1 編寫一個(gè)測(cè)試程序 41
4.1.2 ARMv7的main函數(shù)入口 42
4.1.3 ARM64的main函數(shù)入口 43
4.2 動(dòng)態(tài)調(diào)試 44
4.2.1 反匯編 44
4.2.2 添加斷點(diǎn) 45
4.2.3 打印數(shù)據(jù) 50
4.2.4 讀寫數(shù)據(jù) 51
4.2.5 修改程序的執(zhí)行流程 52
4.2.6 查看信息 54
4.2.7 執(zhí)行到上層調(diào)用棧 56
4.2.8 臨時(shí)修改變量的值 57
4.2.9 使用幫助與搜索 57
4.3 靜態(tài)分析 58
4.3.1 通過字符串定位到代碼的
引用位置 58
4.3.2 查看函數(shù)被調(diào)用的位置 62
4.3.3 重設(shè)基地址 63
4.3.4 修改代碼并保存文件 64
4.3.5 使用IDA Python腳本 65
4.4 逆向分析實(shí)例 65
第5章 Tweak編寫技術(shù) 76
5.1 Theos開發(fā)環(huán)境的使用 76
5.1.1 編寫第 一個(gè)Tweak 76
5.1.2 Theos工程文件 80
5.2 逆向分析與編寫Tweak 83
5.2.1 逆向分析 83
5.2.2 編寫Tweak 91
第6章 注入與hook 94
6.1 注入動(dòng)態(tài)庫 94
6.1.1 編寫動(dòng)態(tài)庫 94
6.1.2 DynamicLibraries目錄 95
6.1.3 DYLD_INSERT_LIBRARIES環(huán)境
變量 95
6.1.4 不越獄注入動(dòng)態(tài)庫 96
6.2 hook 97
6.2.1 Cydia Substrate 97
6.2.2 Symbol Table 100
6.2.3 Method Swizzing 102
第7章 Mach-O文件格式解析 104
7.1 Mach-O文件格式 104
7.1.1 Fat頭部 106
7.1.2 Mach頭部 108
7.1.3 Load command 109
7.1.4 符號(hào)表與字符串表 122
7.2 CFString的運(yùn)行過程 124
7.2.1 編寫測(cè)試代碼 124
7.2.2 CFString的數(shù)據(jù)結(jié)構(gòu) 125
7.2.3 調(diào)試運(yùn)行過程 126
7.3 Mach-O ARM函數(shù)綁定的調(diào)用
過程分析 127
7.3.1 編寫測(cè)試代碼 127
7.3.2 分析ARMv7函數(shù)綁定的
調(diào)用過程 128
7.3.3 分析ARM64函數(shù)綁定的
調(diào)用過程 136
7.3.4 總結(jié) 140
7.4 靜態(tài)庫文件格式 142
7.5 class-dump導(dǎo)出頭文件的原理 143
7.6 關(guān)于Bitcode 147
7.6.1 Bitcode的作用 148
7.6.2 在Xcode中如何生成Bitcode 148
7.6.3 通過命令行編譯Bitcode 150
7.6.4 將Bitcode編譯成可執(zhí)行文件 152
7.6.5 編譯器相關(guān)參數(shù) 153
第8章 唯一設(shè)備ID 154
8.1 UDID與設(shè)備ID 154
8.2 IDFA 157
8.3 IDFV 157
8.4 OpenUDID 158
8.5 SimulateIDFA 159
8.6 MAC地址 160
8.7 ID的持久化存儲(chǔ) 163
8.8 DeviceToken 167
第9章 刷量與作弊 168
9.1 越獄環(huán)境下獲取root權(quán)限 168
9.2 修改手機(jī)信息 169
9.2.1 修改基本信息 169
9.2.2 修改Wi-Fi信息 176
9.2.3 修改DeviceToken 177
9.2.4 修改位置信息 178
9.3 清除應(yīng)用數(shù)據(jù) 179
9.4 清除Keychain 181
9.5 清除剪貼板 183
9.6 發(fā)布應(yīng)用 183
9.6.1 將App打包成deb 183
9.6.2 制作Cydia源發(fā)布應(yīng)用 184
9.7 權(quán)限的切換 185
9.8 變化IP地址 186
9.9 反越獄檢測(cè) 188
9.10 不用越獄修改任意位置信息 190
9.11 在兩個(gè)手機(jī)上同時(shí)登錄同一微信 192
9.12 微信的62數(shù)據(jù) 193
第 10章 重要信息獲取與取證 195
10.1 通訊錄 195
10.2 短信 196
10.3 通話記錄 197
10.4 位置信息 197
10.5 網(wǎng)絡(luò)信息 199
10.6 傳感器信息 206
10.7 系統(tǒng)信息 210
10.8 硬件ID信息 214
10.9 已安裝的應(yīng)用列表 216
10.10 使用idb分析泄露的數(shù)據(jù) 218
10.11 重要的文件與目錄 223
10.12 libimobiledevice獲取手機(jī)信息 226
第 11章 應(yīng)用破解 228
11.1 重打包應(yīng)用與多開 228
11.1.1 重打包應(yīng)用 228
11.1.2 多開 235
11.2 應(yīng)用重簽名 238
11.2.1 代碼簽名 238
11.2.2 授權(quán)機(jī)制 241
11.2.3 配置文件 243
11.2.4 重簽名 244
11.3 抓包和改包 245
11.3.1 tcpdump抓包 245
11.3.2 Wireshark抓包 248
11.3.3 Charles抓取HTTPS數(shù)據(jù)包 250
11.3.4 Charles修改數(shù)據(jù)包與重發(fā) 254
11.3.5 突破SSL雙向認(rèn)證 257
11.4 文件監(jiān)控 258
11.5 破解登錄驗(yàn)證 259
11.5.1 得到HTTP傳輸?shù)臄?shù)據(jù) 259
11.5.2 得到解密的數(shù)據(jù) 260
11.5.3 破解方法 261
第 12章 應(yīng)用保護(hù) 262
12.1 函數(shù)名混淆 262
12.2 字符串加密 262
12.3 代碼混淆 265
12.3.1 inline內(nèi)聯(lián)函數(shù) 265
12.3.2 obfuscator-llvm編譯器 266
12.3.3 Xcode集成配置obfuscator-
llvm 268
12.3.4 Theos集成配置obfuscator-
llvm 270
12.4 越獄檢測(cè) 270
12.4.1 判斷相關(guān)文件是否存在 270
12.4.2 直接讀取相關(guān)文件 271
12.4.3 使用stat函數(shù)判斷文件 271
12.4.4 檢查動(dòng)態(tài)庫列表 272
12.4.5 檢查環(huán)境變量 272
12.4.6 檢查函數(shù)是否被劫持 272
12.5 反盜版 273
12.5.1 檢查Bundle identifier 273
12.5.2 檢查來源是否為App Store 273
12.5.3 檢查重簽名 276
12.5.4 代碼校驗(yàn) 277
12.6 反調(diào)試與反反調(diào)試 278
12.6.1 反調(diào)試方法 279
12.6.2 反反調(diào)試 281
12.7 反注入與反反注入 285
第 13章 代碼入口點(diǎn)劫持 287
13.1 實(shí)現(xiàn)原理 287
13.2 編寫ShellCode 287
13.2.1 編寫ARM匯編 288
13.2.2 計(jì)算main函數(shù)的跳轉(zhuǎn)地址 292
13.2.3 最終的ShellCode 294
13.3 插入代碼 295
13.4 修改入口點(diǎn) 296
13.4.1 關(guān)于指令切換 296
13.4.2 ARMv7入口點(diǎn) 297
13.4.3 ARM64入口點(diǎn) 297
13.5 重簽名 298
第 14章 寫殼內(nèi)幕 300
14.1 判斷文件格式類型 300
14.2 代碼的插入 301
14.3 修改程序入口點(diǎn) 303
14.4 Shellcode如何調(diào)用函數(shù) 304
14.5 編寫和調(diào)試Shellcode 308
14.5.1 ARMv7 Shellcode 309
14.5.2 ARM64 Shellcode 316
14.6 總結(jié) 329
第 15章 系統(tǒng)相關(guān) 331
15.1 Cydia的相關(guān)問題及修復(fù)方法 331
15.2 降級(jí)傳說 334
15.3 訪問限制密碼的安全隱患 335
15.4 掃碼在線安裝應(yīng)用 338
15.5 CVE-2018-4407遠(yuǎn)程溢出漏洞 344
15.6 解決磁盤空間不足的問題 345
附錄A 書中用到的工具列表 347

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)