iOS套用逆向與安全

iOS套用逆向與安全

《iOS套用逆向與安全》是2018年6月電子工業出版社出版的圖書,作者是劉培慶。

基本介紹

  • 中文名:iOS套用逆向與安全
  • 作者:劉培慶
  • 出版社:電子工業出版社
  • 出版時間:2018年6月
  • 頁數:404 頁
  • 定價:85 元
  • 開本:16 開
  • ISBN: 9787121340994
編輯推薦,內容簡介,目錄,作者簡介,讀者對象,

編輯推薦

這是一本從基礎、理論、實踐到保護,全面介紹iOS套用逆向與安全的書。通過閱讀本書,讀者不僅可以快速上手編寫iOS外掛程式,還可以深入理解逆向原理、擴展iOS安全方面的相關知識。

內容簡介

《iOS套用逆向與安全》從正向開發、工具的使用、逆向實戰及安全保護等方面,對iOS套用的逆向與安全進行了講解。本書內容包括基本概念、逆向環境的準備、常用逆向分析工具、類的結構、App簽名、Mach-O檔案格式、hook原理等,並通過在越獄平台和非越獄平台上的逆向分析實例,帶領讀者學習逆向分析的思路和方法。在套用安全及保護方面,本書內容涉及網路傳輸、安全檢測、代碼混淆等。
《iOS套用逆向與安全》適合高校計算機相關專業的學生、iOS開發工程師、逆向工程師、越獄開發工程師、iOS安全工程師及套用安全審計人員閱讀參考。

目錄

第1章 概述
1.1 逆向工程簡介 1
1.1.1 iOS逆向學習基礎 1
1.1.2 iOS逆向的流程 1
1.1.3 iOS逆向使用的工具 2
1.1.4 iOS逆向的套用場景 2
1.2 套用面臨的安全風險 2
1.2.1 靜態修改檔案 3
1.2.2 動態篡改邏輯 3
1.2.3 協定分析 3
1.3 套用保護手段 3
1.3.1 數據加密 3
1.3.2 程式混淆 4
1.3.3 安全監測 4
1.4 本書工具 4
1.4.1 效率工具 4
1.4.2 實用工具 5
1.4.3 逆向工具 5
第2章 越獄設備
2.1 什麼是越獄 6
2.2 Cydia 6
2.3 SSH 7
2.3.1 安裝OpenSSH 8
2.3.2 配置dropbear 10
2.3.3 修改默認密碼 11
2.3.4 公鑰登錄 11
2.3.5 通過USB登錄 13
2.4 iOS系統結構 14
2.4.1 檔案目錄 15
2.4.2 檔案許可權 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 套用解密 23
3.1.1 dumpdecrypted 23
3.1.2 Clutch 28
3.1.3 小結 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 開發集成Reveal 41
3.3.2 越獄注入Reveal 42
3.4 Cycript 43
3.4.1 開發集成Cycript 44
3.4.2 使用Cycript越獄 45
3.4.3 使用Cycript分析套用 46
3.4.4 Cycript的高級用法 49
3.5 抓包 52
3.5.1 Charles抓包 53
3.5.2 修改網路請求 55
3.5.3 HTTPS抓包 59
3.5.4 Wireshark抓包 60
第4章 開發儲備
4.1 App的結構及構建 66
4.1.1 獲取套用包 66
4.1.2 套用包的格式 71
4.1.3 套用的構建過程 72
4.2 界面結構和事件傳遞 76
4.2.1 界面的組成 76
4.2.2 界面事件的回響 79
4.3 類與方法 83
4.3.1 類與方法的底層實現 84
4.3.2 運行時類的結構 89
4.3.3 訊息機制 91
4.3.4 runtime的套用 94
4.4 App簽名 98
4.4.1 配置Xcode簽名 98
4.4.2 App簽名的原理 100
4.4.3 重簽名 107
第5章 分析與調試
5.1 靜態分析 109
5.1.1 Hopper 109
5.1.2 IDA 118
5.1.3 靜態庫分析 125
5.2 動態調試 128
5.2.1 LLDB調試 128
5.2.2 LLDB解密 141
5.2.3 用Xcode調試第三方套用 144
5.2.4 LLDB的高級調試技巧 151
5.3 Theos 167
5.3.1 Theos的安裝 168
5.3.2 Theos的基本套用 168
5.3.3 Theos的高級套用 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章 逆向進階
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架構和指令集 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 動態庫 259
6.5.1 編譯和注入 260
6.5.2 導出和隱藏符號 260
6.5.3 C++ 和OC動態庫 263
6.5.4 其他常見問題 267
第7章 實戰演練
7.1 越獄設備分析 270
7.1.1 分析準備 270
7.1.2 開始分析 272
7.1.3 編寫Tweak 284
7.1.4 安裝與小結 287
7.2 非越獄設備分析 288
7.2.1 創建MonkeyDev項目 288
7.2.2 非越獄逆向實戰 291
7.2.3 編寫hook代碼 303
7.2.4 製作非越獄Pod 304
7.2.5 小結 308
7.3 Frida實戰套用 309
7.3.1 Frida的安裝 309
7.3.2 Frida的初級使用 311
7.3.3 Frida的高級使用 319
7.3.4 小結 326
第8章 安全保護
8.1 數據加密 327
8.1.1 本地存儲加密 328
8.1.2 網路傳輸加密 328
8.1.3 字元串加密 333
8.2 靜態混淆 341
8.2.1 宏定義 342
8.2.2 二進制修改 347
8.3 動態保護 349
8.3.1 反調試 349
8.3.2 反反調試 352
8.3.3 反注入 359
8.3.4 hook檢測 360
8.3.5 完整性校驗 361
8.4 代碼混淆 363
8.4.1 什麼是LLVM 363
8.4.2 下載和編譯LLVM 364
8.4.3 開發和調試Pass 366
8.4.4 OLLVM原始碼分析 373
8.4.5 替換Xcode編譯器 379
8.4.6 靜態庫混淆 389
8.5 本章總結 390

作者簡介

劉培慶(@Alone_Monkey)
iOS逆向愛好者,網易雲課堂“iOS逆向與安全”主講。大學畢業後在網易負責iOS安全保護、基礎組件開發、質量保障等工作。就職於阿里巴巴米諾斯實驗室,從事安全保護相關工作。開源作品有MonkeyDev、frida-ios-dump等。

讀者對象

本書介紹了iOS開發、逆向和安全等方面的內容,面向以下讀者:
*高校計算機相關專業的學生
*iOS開發工程師
*逆向工程師
*越獄開發工程師
*iOS安全工程師
*套用安全審計人員

相關詞條

熱門詞條

聯絡我們