iOS 應(yīng)用逆向工程分析流程圖

制作 by JamesHopbourn
iOS應(yīng)用逆向與安全

購書鏈接

京東:?https://item.jd.com/12361729.html?6

天貓:?https://detail.tmall.com/item.htm?id=570691214072?1

當(dāng)當(dāng):?http://product.dangdang.com/25283164.html

亞馬遜:?https://www.amazon.cn/dp/B07D5952BR/

多多支持正版

目錄

第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 實用工具 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 類與方法的底層實現(xiàn) 84

4.3.2 運行時類的結(jié)構(gòu) 89

4.3.3 消息機制 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章 實戰(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項目 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實戰(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 完整性校驗 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帐要,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌怔毛,老刑警劉巖官册,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡农曲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門驻债,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乳规,“玉大人,你說我怎么就攤上這事合呐⊙蓖” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵合砂,是天一觀的道長青扔。 經(jīng)常有香客問我,道長翩伪,這世上最難降的妖魔是什么微猖? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮缘屹,結(jié)果婚禮上凛剥,老公的妹妹穿的比我還像新娘。我一直安慰自己轻姿,他們只是感情好犁珠,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布逻炊。 她就那樣靜靜地躺著,像睡著了一般犁享。 火紅的嫁衣襯著肌膚如雪余素。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天炊昆,我揣著相機與錄音桨吊,去河邊找鬼。 笑死凤巨,一個胖子當(dāng)著我的面吹牛视乐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敢茁,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼佑淀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了彰檬?” 一聲冷哼從身側(cè)響起渣聚,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎僧叉,沒想到半個月后奕枝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡瓶堕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年隘道,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郎笆。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谭梗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宛蚓,到底是詐尸還是另有隱情激捏,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布凄吏,位于F島的核電站远舅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏痕钢。R本人自食惡果不足惜图柏,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望任连。 院中可真熱鬧蚤吹,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至二驰,卻和暖如春扔罪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诸蚕。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留氧猬,地道東北人背犯。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像盅抚,于是被迫代替她去往敵國和親漠魏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容