iOS應用逆向工程:分析與實戰

iOS應用逆向工程:分析與實戰
定價:414
NT $ 360
  • 作者:沙梓社
  • 出版社:機械工業出版社
  • 出版日期:2014-01-01
  • 語言:簡體中文
  • ISBN10:7111450728
  • ISBN13:9787111450726
  • 裝訂:269頁 / 普通級 / 1-1
 

內容簡介

本書是iOS應用逆向工程方面的權威著作,三位作者都是iOS領域內的專家,擁有扎實的理論知識和豐富的實踐經驗。本書內容以工具+代碼的形式全面、系統地展開知識點,由淺入深,圖文並茂地帶着讀者一步步探索常規iOS App之外的世界。

本書分為四大部分,分別是概念、工具、理論和實戰。前三部分介紹iOS逆向分析領域的背景、知識體系,以及相應的工具集、理論知識;第四部分則通過4個實際案例來將前面的知識以實戰的方式展開。第一部分為概念篇,簡單介紹iOS逆向分析的概念以及iOS平台系統架構。第二部分為工具篇,介紹一系列基於Mac和iOS平台的配套工具,並且重點講解其中的class-dump、Theos、Reveal、IDA、GDB等5個工具的使用方法,前3個側重於使用,后2個側重於分析。第三部分為理論篇,主要講述iOS逆向/越獄方向的進階必備理論知識。第四部分為實戰篇,通過對3個App Store App及1個系統App進行逆向分析的實戰操作,讓讀者能夠了解並同步實踐已掌握的知識。
 

目錄

推薦序一
推薦序二
自序
前言
第一部分 概念篇
第1章  iOS 逆向工程簡介 2
1.1  iOS 軟件逆向工程的要求 2
1.2  iOS 軟件逆向工程的作用 2
1.2.1  與安全相關的iOS 逆向工程 4
1.2.2  與開發相關的iOS 逆向工程 5
1.3  iOS 軟件逆向工程的一般過程 6
1.3.1  系統分析 7
1.3.2  代碼分析 7
1.4  iOS 軟件逆向工程用到的工具 8
1.4.1  監測工具 8
1.4.2  開發工具 9
1.4.3  反編譯器 9
1.4.4  調試器 10
1.5  小結 11
第2章 越獄iOS 平台簡介 12
2.1  iOS 系統架構 12
2.1.1  iOS 目錄結構 13
2.1.2  iOS 文件權限 15
2.2  iOS 程序類型 16
2.2.1  Application 16
2.2.2  Dynamic Library 19
2.2.3  Daemon 19
2.3  小結 20
第二部分 工具篇
第3章 Mac 工具集 22
3.1  class-dump 22
3.1.1  class-dump 介紹及下載 22
3.1.2  class-dump 使用演示 23
3.1.3  關於class-dump 的補充說明 25
3.2  Theos 25
3.2.1  Theos 簡介 25
3.2.2  Theos 安裝及編譯 26
3.2.3  Theos 用法簡介 28
3.2.4  Theos 開發tweak 示例 47
3.3  Reveal 49
3.3.1  Reveal 簡介 49
3.3.2  Reveal 安裝及功能擴展 50
3.4  IDA 55
3.4.1  IDA 簡介 55
3.4.2  IDA 使用說明 56
3.4.3  IDA 分析示例 65
3.5  其他工具 68
3.5.1  iTools 68
3.5.2  dyld_decache 69
3.5.3  MesaSQLite 69
3.6  小結 70
第4章 iOS 工具集 71
4.1  SBSettings 71
4.2  MobileSubstrate 72
4.3  OpenSSH 73
4.4  GDB 74
4.4.1  GDB 簡介 74
4.4.2  GDB 的使用說明 74
4.5  Cycript 85
4.6  其他常用工具 88
4.6.1  BigBoss RecommendedTools 88
4.6.2  AppCrackr 88
4.6.3  iFile 89
4.6.4  MobileTerminal 89
4.6.5  Vi IMproved 90
4.6.6  SQLite 90
4.6.7  top 91
4.6.8  syslogd 92
4.7  小結 92
第三部分 理論篇
第5章  Objective-C 相關的iOS逆向理論基礎 94
5.1  tweak 的作用原理 94
5.1.1  Objective-C 語言的特性 94
5.1.2  MobileSubstrate 96
5.2  tweak 的編寫套路 97
5.2.1  靈感的來源 98
5.2.2  分析文件,尋找切入點 99
5.2.3  定位目標函數 102
5.2.4  測試函數功能 104
5.2.5  解析函數參數 105
5.2.6  class-dump 的局限性 108
5.3  實例演示 108
5.3.1  得到靈感 108
5.3.2  分析文件 109
5.3.3  定位函數 115
5.3.4  測試函數 117
5.3.5  編寫實例代碼 117
5.4  小結 119
第6章  ARM 匯編相關的iOS逆向理論基礎 120
6.1  ARM 匯編基礎 120
6.1.1  基本概念 121
6.1.2  ARM/THUMB 指令解讀 123
6.1.3  ARM 調用規則 129
6.2  在IDA 中分析目標文件 131
6.2.1  分析函數實現細節 132
6.2.2  驗證分析結果 139
6.3  在GDB 中分析目標文件 142
6.3.1  跟蹤代碼執行流程 142
6.3.2  動態更改代碼 147
6.4  小結 157
第四部分 實戰篇
第7章  實戰1:去除OPlayerLite 的廣告 160
7.1  OPlayer Lite 簡介 160
7.2  分析源代碼結構,並定位廣告橫幅的代碼 161
7.2.1  class-dump 獲取.h 文件 161
7.2.2  猜測廣告橫幅的出現位置 161
7.2.3  分析PlayViewController.h 162
7.3  去除廣告橫幅,節省流量 167
7.3.1  找到「准備」廣告的位置 167
7.3.2  追溯到網絡連接的起點 173
7.4  編寫調試代碼 175
7.4.1  編寫Tweak_OPlayerLite.xm 175
7.4.2  編輯control 176
7.4.3  編輯RemoveOPlayerAds.plist 176
7.4.4  編輯Makefile 177
7.4.5  編譯+ 打包 177
7.4.6  安裝 177
7.5  調試去廣告插件 177
7.6  代碼結果整理 178
7.7  小結 179
第8章  實戰2:WhatsApp消息攔截 180
8.1  WhatsApp 簡介 180
8.2  分析源代碼結構,並定位監聽點 180
8.2.1  class-dump 獲取.h 文件 180
8.2.2  導入Xcode 182
8.2.3  找到WhatsAppAppDelegate 182
8.2.4  找到ChatManager 183
8.3  編寫調試代碼 184
8.3.1  分析函數列表 184
8.3.2  編寫Tweak_WhatsApp.xm 185
8.3.3  編輯control 186
8.3.4  編輯monitor.plist 186
8.3.5  編輯Makefile 186
8.3.6  編譯+打包 187
8.3.7  安裝 187
8.4  調試運行監聽插件 187
8.4.1  運行WhatsApp,SSH 連接 187
8.4.2  發送/ 接收消息,監控日志 188
8.4.3  保存數據 189
8.5  代碼結果整理 194
8.6  小結 195
第9章  實戰3:Instagram 圖片保存 196
9.1  Instagram 簡介 196
9.2  分析源代碼結構,並定位圖片展示點 196
9.2.1  用class-dump獲取.h 文件 196
9.2.2  導入Xcode 198
9.2.3  找到AppDelegate 198
9.2.4  注入Reveal 199
9.2.5  尋找圖片頁相關class 200
9.3  保存圖片 205
9.3.1  嘗試保存圖片 205
9.3.2  對.h 文件進行瘦身 206
9.3.3  編譯測試 208
9.4  彈出提示菜單 208
9.4.1  彈出菜單代碼 208
9.4.2  使用Theos 新增函數 210
9.4.3  使用runtime 新增函數 211
9.5  代碼結果整理 214
9.6  小結 215
第10章 實戰4:iOS 電話操作 216
10.1  常用電話操作 216
10.2  分析源代碼結構,並定位電話操作的代碼 216
10.2.1  class-dump 獲取.h 文件 216
10.2.2  尋找撥打電話的函數 217
10.2.3  尋找接聽電話的函數 229
10.2.4  尋找掛斷電話的函數 234
10.2.5  尋找刪除通話記錄的函數 236
10.2.6  尋找攔截電話的方法 238
10.3  編寫調試代碼 250
10.3.1  編寫Tweak_PhoneOperation.xm 250
10.3.2  編輯control 254
10.3.3  編輯PhoneOperation.plist 255
10.3.4  編輯Makefile 255
10.3.5  編譯+ 打包+ 安裝 255
10.4  調試電話操作插件 255
10.5  代碼結果整理 257
10.6  小結 257
越獄開發一覽 258
沙箱逃脫 263
編寫tweak新時代的hacking 265
網路書店 類別 折扣 價格
  1. 新書
    87
    $360