注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)iOS應(yīng)用逆向與安全

iOS應(yīng)用逆向與安全

iOS應(yīng)用逆向與安全

定 價:¥85.00

作 者: 劉培慶 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121340994 出版時間: 2018-06-01 包裝: 平裝
開本: 16 頁數(shù): 404 字?jǐn)?shù):  

內(nèi)容簡介

  《iOS應(yīng)用逆向與安全》從正向開發(fā)、工具的使用、逆向?qū)崙?zhàn)及安全保護(hù)等方面,對iOS應(yīng)用的逆向與安全進(jìn)行了講解。本書內(nèi)容包括基本概念、逆向環(huán)境的準(zhǔn)備、常用逆向分析工具、類的結(jié)構(gòu)、App簽名、Mach-O文件格式、hook原理等,并通過在越獄平臺和非越獄平臺上的逆向分析實(shí)例,帶領(lǐng)讀者學(xué)習(xí)逆向分析的思路和方法。在應(yīng)用安全及保護(hù)方面,本書內(nèi)容涉及網(wǎng)絡(luò)傳輸、安全檢測、代碼混淆等。 《iOS應(yīng)用逆向與安全》適合高校計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生、iOS開發(fā)工程師、逆向工程師、越獄開發(fā)工程師、iOS安全工程師及應(yīng)用安全審計(jì)人員閱讀參考。

作者簡介

  劉培慶(@Alone_Monkey) iOS逆向愛好者,網(wǎng)易云課堂“iOS逆向與安全”主講。大學(xué)畢業(yè)后在網(wǎng)易負(fù)責(zé)iOS安全保護(hù)、基礎(chǔ)組件開發(fā)、質(zhì)量保障等工作。目前就職于阿里巴巴米諾斯實(shí)驗(yàn)室,從事安全保護(hù)相關(guān)工作。開源作品有MonkeyDev、frida-ios-dump等。

圖書目錄

第1章 概述
1.1 逆向工程簡介 1
1.1.1 iOS逆向?qū)W習(xí)基礎(chǔ) 1
1.1.2 iOS逆向的流程 1
1.1.3 iOS逆向使用的工具 2
1.1.4 iOS逆向的應(yīng)用場景 2
1.2 應(yīng)用面臨的安全風(fēng)險 2
1.2.1 靜態(tài)修改文件 3
1.2.2 動態(tài)篡改邏輯 3
1.2.3 協(xié)議分析 3
1.3 應(yīng)用保護(hù)手段 3
1.3.1 數(shù)據(jù)加密 3
1.3.2 程序混淆 4
1.3.3 安全監(jiān)測 4
1.4 本書工具 4
1.4.1 效率工具 4
1.4.2 實(shí)用工具 5
1.4.3 逆向工具 5

第2章 越獄設(shè)備
2.1 什么是越獄 6
2.2 Cydia 6
2.3 SSH 7
2.3.1 安裝OpenSSH 8
2.3.2 配置dropbear 10
2.3.3 修改默認(rèn)密碼 11
2.3.4 公鑰登錄 11
2.3.5 通過USB登錄 13
2.4 iOS系統(tǒng)結(jié)構(gòu) 14
2.4.1 文件目錄 15
2.4.2 文件權(quán)限 17
2.5 Cydia Substrate 18
2.5.1 MobileHooker 19
2.5.2 MobileLoader 19
2.5.3 Safe mode 20
2.6 越獄必備工具 21
2.6.1 adv-cmds 21
2.6.2 appsync 21
2.6.3 iFile 21
2.6.4 scp 22

第3章 逆向工具詳解
3.1 應(yīng)用解密 23
3.1.1 dumpdecrypted 23
3.1.2 Clutch 28
3.1.3 小結(jié) 30
3.2 class-dump 30
3.2.1 class-dump的使用 30
3.2.2 class-dump的原理 33
3.2.3 OC和Swift混編 40
3.3 Reveal 41
3.3.1 開發(fā)集成Reveal 41
3.3.2 越獄注入Reveal 42
3.4 Cycript 43
3.4.1 開發(fā)集成Cycript 44
3.4.2 使用Cycript越獄 45
3.4.3 使用Cycript分析應(yīng)用 46
3.4.4 Cycript的高級用法 49
3.5 抓包 52
3.5.1 Charles抓包 53
3.5.2 修改網(wǎng)絡(luò)請求 55
3.5.3 HTTPS抓包 59
3.5.4 Wireshark抓包 60

第4章 開發(fā)儲備
4.1 App的結(jié)構(gòu)及構(gòu)建 66
4.1.1 獲取應(yīng)用包 66
4.1.2 應(yīng)用包的格式 71
4.1.3 應(yīng)用的構(gòu)建過程 72
4.2 界面結(jié)構(gòu)和事件傳遞 76
4.2.1 界面的組成 76
4.2.2 界面事件的響應(yīng) 79
4.3 類與方法 83
4.3.1 類與方法的底層實(shí)現(xiàn) 84
4.3.2 運(yùn)行時類的結(jié)構(gòu) 89
4.3.3 消息機(jī)制 91
4.3.4 runtime的應(yīng)用 94
4.4 App簽名 98
4.4.1 配置Xcode簽名 98
4.4.2 App簽名的原理 100
4.4.3 重簽名 107

第5章 分析與調(diào)試
5.1 靜態(tài)分析 109
5.1.1 Hopper 109
5.1.2 IDA 118
5.1.3 靜態(tài)庫分析 125
5.2 動態(tài)調(diào)試 128
5.2.1 LLDB調(diào)試 128
5.2.2 LLDB解密 141
5.2.3 用Xcode調(diào)試第三方應(yīng)用 144
5.2.4 LLDB的高級調(diào)試技巧 151
5.3 Theos 167
5.3.1 Theos的安裝 168
5.3.2 Theos的基本應(yīng)用 168
5.3.3 Theos的高級應(yīng)用 172
5.4 MonkeyDev 177
5.4.1 安裝MonkeyDev 178
5.4.2 Logos Tweak 179
5.4.3 CaptainHook Tweak 181
5.4.4 Command-line Tool 185

第6章 逆向進(jìn)階
6.1 程序加載 186
6.1.1 dyld簡介 186
6.1.2 dyld加載流程 187
6.2 Mach-O文件格式 206
6.2.1 Mach-O文件的基本格式 206
6.2.2 Mach-O頭部 208
6.2.3 Load Command 210
6.2.4 虛擬地址和文件偏移 214
6.2.5 懶加載和非懶加載 217
6.2.6 Code Signature 223
6.3 ARM匯編 228
6.3.1 ARM架構(gòu)和指令集 228
6.3.2 AArch64寄存器 229
6.3.3 指令集編碼 231
6.3.4 AArch64指令 233
6.3.5 棧和方法 236
6.3.6 Objective-C匯編 245
6.4 hook 247
6.4.1 Method Swizzle 247
6.4.2 fishhook 248
6.4.3 Cydia Substrate 253
6.4.4 Swift hook 256
6.5 動態(tài)庫 259
6.5.1 編譯和注入 260
6.5.2 導(dǎo)出和隱藏符號 260
6.5.3 C++ 和OC動態(tài)庫 263
6.5.4 其他常見問題 267

第7章 實(shí)戰(zhàn)演練
7.1 越獄設(shè)備分析 270
7.1.1 分析準(zhǔn)備 270
7.1.2 開始分析 272
7.1.3 編寫Tweak 284
7.1.4 安裝與小結(jié) 287
7.2 非越獄設(shè)備分析 288
7.2.1 創(chuàng)建MonkeyDev項(xiàng)目 288
7.2.2 非越獄逆向?qū)崙?zhàn) 291
7.2.3 編寫hook代碼 303
7.2.4 制作非越獄Pod 304
7.2.5 小結(jié) 308
7.3 Frida實(shí)戰(zhàn)應(yīng)用 309
7.3.1 Frida的安裝 309
7.3.2 Frida的初級使用 311
7.3.3 Frida的高級使用 319
7.3.4 小結(jié) 326

第8章 安全保護(hù)
8.1 數(shù)據(jù)加密 327
8.1.1 本地存儲加密 328
8.1.2 網(wǎng)絡(luò)傳輸加密 328
8.1.3 字符串加密 333
8.2 靜態(tài)混淆 341
8.2.1 宏定義 342
8.2.2 二進(jìn)制修改 347
8.3 動態(tài)保護(hù) 349
8.3.1 反調(diào)試 349
8.3.2 反反調(diào)試 352
8.3.3 反注入 359
8.3.4 hook檢測 360
8.3.5 完整性校驗(yàn) 361
8.4 代碼混淆 363
8.4.1 什么是LLVM 363
8.4.2 下載和編譯LLVM 364
8.4.3 開發(fā)和調(diào)試Pass 366
8.4.4 OLLVM源代碼分析 373
8.4.5 替換Xcode編譯器 379
8.4.6 靜態(tài)庫混淆 389
8.5 本章總結(jié) 390

本目錄推薦

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