iOS套用逆向與安全之道

iOS套用逆向與安全之道

《iOS套用逆向與安全之道》是2020年1月機械工業出版社出版的圖書,作者是“飄雲閣安全論壇”創始人羅巍(飄雲)。

基本介紹

  • 中文名:iOS套用逆向與安全之道 
  • 作者:羅巍 
  • 出版時間:2020年1月
  • 出版社:機械工業出版社
  • 頁數:423 頁
  • ISBN:9787111643586
  • 定價:129 元
  • 開本:16 開
內容簡介,圖書目錄,作者簡介,讀者對象,大咖推薦,

內容簡介

iOS套用逆向與安全之道 始終遵循“大道至簡”之法則,僅保留必要的理論知識,以實戰為主線來揭開iOS套用逆向與安全的神秘面紗。主要內容包括:環境搭建、Mach-O檔案格式、ARM彙編、套用脫殼、運行時分析、靜態分析、動態調試、iOS外掛程式開發、Hook與注入、套用安全、協定安全等。本書涵蓋了時下*熱門的iOS逆向技術,以及飄雲閣論壇版主、信息安全領域一線軟體安全專家和筆者自己的多年實戰經驗,是軟體安全研究人員的一本必備秘籍。

圖書目錄

序一
序二
序三
序四
前言
第一篇 初 出 茅 廬
第1章 背景知識
1.1 iOS逆向工程簡介
1.1.1 iOS逆向工程學習路線
1.1.2 iOS逆向工程基本流程
1.1.3 iOS逆向工程意義所在
1.2 iOS越獄平台簡介
1.2.1 iOS越獄及其定義
1.2.2 iOS越獄商店
1.2.3 iOS系統目錄
1.2.4 iOS沙盒結構
1.2.5 iOS套用結構
1.2.6 iOS檔案許可權
1.3 本章小結
第2章 環境搭建
2.1 開發環境
2.1.1 Xcode
2.1.2 Homebrew
2.2 越獄環境
2.2.1 iOS越獄設備的選擇
2.2.2 Cydia Substrate(iOS 11以下)
2.2.3 Substitute(iOS 11~iOS 13)
2.2.4 必備小工具
2.3 SSH配置
2.3.1 安裝OpenSSH
2.3.2 配置dropbear
2.3.3 免密碼登錄
2.3.4 USB連線設備
2.3.5 修改默認密碼
2.3.6 使用scp傳輸檔案
2.4 實用工具推薦
2.5 本章小結
第3章 逆向基礎
3.1 Mach-O檔案格式
3.1.1 通用二進制檔案
3.1.2 Mach-O頭部
3.1.3 載入命令
3.2 ARM彙編基礎
3.2.1 暫存器
3.2.2 指令集
3.2.3 棧及傳參規則
3.2.4 內聯彙編
3.2.5 Objective-C的彙編機制
3.3 本章小結
第二篇 小 試 牛 刀
第4章 套用脫殼
4.1 檢測是否加殼
4.2 Clutch
4.2.1 安裝Clutch
4.2.2 Clutch脫殼實戰
4.3 dumpdecrypted
4.3.1 編譯dumpdecrypted
4.3.2 dumpdecrypted脫殼實戰
4.4 bfinject
4.4.1 安裝bfinject
4.4.2 bfinject脫殼實戰
4.4.3 修復閃退
4.5 CrackerXI(iOS 11~iOS 13)
4.6 frida-ios-dump
4.6.1 一鍵快速脫殼
4.6.2 修復閃退
4.6.3 ipa檔案安裝失敗處理
4.7 使用lipo分離架構
4.8 本章小結
第5章 運行時分析
5.1 class-dump
5.2 Cycript
5.2.1 越獄環境安裝Cycript
5.2.2 Cycript實戰
5.2.3 Cycript高級用法
5.2.4 iOS 11使用Cycript
5.3 Reveal
5.3.1 越獄環境使用Reveal
5.3.2 iOS 11~iOS 13使用Reveal
5.3.3 Reveal實戰
5.4 FLEX
5.4.1 越獄環境使用FLEX
5.4.2 FLEX實戰
5.5 Frida
5.5.1 Frida安裝
5.5.2 Frida入門
5.5.3 Frida實戰
5.5.4 Frida進階
5.6 本章小結
第三篇 登 堂 入 室
第6章 靜態分析
6.1 Hopper
6.1.1 安裝Hopper
6.1.2 認識Hopper
6.1.3 編寫Hopper腳本實戰
6.2 IDA Pro
6.2.1 載入檔案
6.2.2 功能劃分
6.2.3 保存idb檔案
6.2.4 常用功能及快捷鍵
6.2.5 編寫IDA腳本實戰
6.3 如何定位切入點
6.3.1 通過Runtime定位
6.3.2 通過輸入函式定位
6.3.3 通過輸出函式定位
6.3.4 通過字元串定位
6.3.5 通過網路行為定位
6.4 實例分析
6.4.1 使用class-dump定位按鈕事件
6.4.2 使用Hopper分析驗證流程
6.4.3 使用IDA分析序列號及修改代碼
6.5 本章小結
第7章 動態調試
7.1 LLDB動態調試
7.1.1 配置debugserver
7.1.2 與LLDB建立連線
7.1.3 LLDB命令詳解
7.1.4 LLDB手動脫殼
7.1.5 LLDB腳本編寫
7.1.6 LLDB高效技巧
7.2 IDA動態調試
7.2.1 直接啟動調試
7.2.2 遠程附加調試
7.3 Xcode動態調試
7.3.1 遠程附加調試
7.3.2 直接啟動調試
7.3.3 恢復符號表
7.3.4 UI調試功能
7.4 本章小結
第8章 越獄開發
8.1 Theos簡介
8.1.1 Theos安裝
8.1.2 Theos常用模組
8.2 外掛程式開發
8.2.1 創建工程
8.2.2 解讀工程檔案
8.2.3 編譯+打包+安裝
8.3 命令行工具開發
8.3.1 創建工程
8.3.2 兼容iOS 11~iOS 13
8.4 系統級套用開發
8.4.1 創建工程
8.4.2 以root許可權運行(iOS 11以下)
8.4.3 以root許可權運行(iOS 11、iOS 12)
8.4.4 以root許可權運行(iOS 13)
8.5 守護進程開發
8.5.1 創建工程
8.5.2 自動部署
8.6 進程間通信
8.6.1 Notification通信
8.6.2 XPC通信
8.6.3 RocketBootstrap通信
8.7 MonkeyDev
8.7.1 MonkeyDev安裝
8.7.2 Logos Tweak
8.7.3 CaptainHook Tweak
8.7.4 Command-line Tool
8.8 跟蹤函式調用
8.8.1 使用logify跟蹤
8.8.2 使用ANYMethodLog跟蹤
8.8.3 使用BigBang跟蹤
8.9 增加系統設定項
8.9.1 PreferenceLoader
8.9.2 AppList
8.10 deb重打包
8.11 本章小結
第9章 Hook與注入
9.1 Method Swizzling
9.1.1 Method Swizzling原理
9.1.2 Method Swizzling實例
9.1.3 MSHookMessageEx實例
9.1.4 獲取類成員變數實例
9.2 Inline Hook
9.2.1 MSHookFunction實例
9.2.2 fishhook實例
9.2.3 HookZz實例
9.3 Swift Hook
9.3.1 Swift逆向分析
9.3.2 Swift Hook實例
9.4 注入技術
9.4.1 越獄環境注入
9.4.2 非越獄環境注入
9.4.3 注入dylib實例
9.5 套用重簽名
9.5.1 手動重簽名
9.5.2 使用iOSAppSigner重簽名
9.5.3 使用fastlane重簽名
9.5.4 使用MonkeyDev重簽名
9.6 本章小結
第10章 套用安全
10.1 調試器對抗
10.1.1 反調試
10.1.2 反-反調試
10.2 注入對抗
10.2.1 反注入
10.2.2 注入檢測
10.2.3 注入防護
10.3 Hook檢測
10.3.1 Method Swizzing檢測
10.3.2 Inline Hook檢測
10.4 越獄檢測
10.4.1 檢測越獄商店及其附屬檔案
10.4.2 嘗試讀取系統套用列表
10.4.3 檢測URLSchemes是否有效
10.5 完整性檢測
10.5.1 載入命令檢測
10.5.2 代碼段檢測
10.5.3 簽名信息檢測
10.6 代碼保護
10.7 本章小結
第11章 協定安全
11.1 HTTP分析利器:Charles
11.1.1 配置Charles
11.1.2 修改數據包
11.1.3 重放數據包
11.1.4 模擬弱網路
11.1.5 HTTPS抓包
11.1.6 取消證書校驗
11.2 TCP/IP分析利器:Wireshark
11.2.1 創建遠程虛擬接口
11.2.2 認識Wireshark
11.2.3 TCP抓包分析示例
11.2.4 數據包過濾
11.3 常見算法識別
11.3.1 壓縮算法
11.3.2 摘要算法
11.3.3 對稱加密算法
11.3.4 非對稱加密算法
11.3.5 利用外掛程式識別
11.4 本章小結
第四篇 融 會 貫 通
第12章 實戰1:某著名社交App小程式格式分析
12.1 目標App介紹
12.2 尋找切入點
12.3 分析檔案結構
12.3.1 分析偽代碼
12.3.2 定義檔案結構
12.4 分析包頭結構
12.4.1 推導包頭大小
12.4.2 定義包頭結構
12.5 分析描述信息結構
12.6 編寫解包工具
12.7 本章小結
第13章 實戰2:某短視頻App水印控制及配置開關分析
13.1 目標App介紹
13.2 尋找切入點
13.2.1 抓包分析
13.2.2 用FLEXible獲取Controller
13.2.3 用Frida定位按鈕回響方法
13.3 水印控制邏輯分析
13.4 配置開關分析
13.4.1 獲取“通用設定”頁面的Controller
13.4.2 尋找數據源
13.4.3 尋找數據模型
13.4.4 分析數據模型
13.5 本章小結
第14章 實戰3:某遊戲廣告及內購流程分析
14.1 目標App介紹
14.2 分析廣告邏輯
14.2.1 使用Reveal定位廣告視窗
14.2.2 定位GADBannerView類的初始化方法
14.2.3 定位GADBannerView類載入廣告的方法
14.2.4 定位GADBannerView對象的創建方法
14.3 分析內購流程
14.3.1 定位關鍵類
14.3.2 追蹤CMPPurchaseManager類
14.3.3 追蹤Purchase類
14.3.4 分析回調處理邏輯
14.3.5 分析內購結果構造過程
14.4 本章小結
第15章 實戰4:某物聯網設備登錄協定及安全隱患分析
15.1 目標App介紹
15.2 登錄協定分析
15.2.1 確定可變欄位
15.2.2 定位關鍵點
15.2.3 分析參數來源
15.2.4 分析verify算法
15.2.5 分析salt值
15.3 安全隱患分析
15.3.1 安全隱患成因
15.3.2 安全隱患復現
15.4 本章小結
第16章 實戰5:某樂譜App下載協定與安全問題分析
16.1 目標App介紹
16.2 數據包採樣
16.2.1 確定可變欄位
16.2.2 欄位依賴分析
16.3 簽名算法分析
16.3.1 靜態定位關鍵函式
16.3.2 動態調試獲取主要參數
16.3.3 棧回溯找出其他參數
16.3.4 協定下載樂譜
16.4 VIP許可權校驗的安全問題
16.4.1 安全問題成因
16.4.2 分析VIP許可權控制邏輯
16.5 樂譜解密過程分析
16.6 本章小結
第17章 實戰6:某經典GPS外掛程式授權機制分析
17.1 目標App介紹
17.2 抓包分析
17.2.1 數據包採樣
17.2.2 判斷關鍵欄位
17.3 定位關鍵函式
17.4 授權機制分析
17.4.1 進入調試過程
17.4.2 確定算法
17.4.3 分析RSA公鑰讀取邏輯
17.4.4 驗證算法
17.4.5 主程式驗證流程
17.4.6 二次驗證流程
17.5 本章小結

作者簡介

羅巍,湖南長沙人,網名飄雲,“飄雲閣安全論壇”創始人、安全專家。2000年開始接觸逆向工程,擅長Windows和macOS逆向開發、iOS越獄開發、App協定級分析、IoT安全研究,具有豐富的實戰經驗,早年就職於阿里巴巴、PP助手,現任廣州啦咔網路科技有限公司逆向研發總監。

讀者對象

iOS套用逆向與安全之道 適合iOS愛好者、對iOS調試技術和對iOS套用協定分析感興趣的讀者、對iOS套用保護感興趣的開發人員、從其他平台轉戰iOS平台的逆向工程師、想提高實戰技巧的iOS逆向工程師及計算機相關專業的師生閱讀。

大咖推薦

飄雲閣是國內最早的專業軟體安全論壇之一,站長飄雲是軟體安全行業領域的技術專家,本書的所有內容均為飄雲多年的實戰經驗分享,是軟體安全研究人員的必備技術寶典。
《macOS軟體安全與逆向分析》《Android軟體安全權 威指南》作者:豐生強(非蟲)
iOS屬於閉源系統,給逆向工程師帶來巨大挑戰。本書由淺入深論述了套用檔案解構方法,靜態、動態的逆向方案,調試及逆向對抗的技術模型,並結合多個案例進行了實戰分析,由此可見本書是iOS系統逆向工程方面不可多得的學習參考用書。
金窩窩區塊鏈科技董事長、北斗區塊鏈首席科學家:李立中(kvllz)
iOS系統的逆向技術相對於Windows平台要神秘很多,封閉的系統環境和逆向資料的匱乏一度成為iOS系統的逆向困境。令人高興的是,這些年來iOS的逆向技術也越來越趨於成熟了,這些進展是與作者這樣的人密不可分的。他們有狂熱的逆向愛好,正好又有機緣進入專業的iOS逆向環境中刻苦鑽研。飄雲願意把自己多年的研究成果分享給讀者,讓讀者可以從淺顯處入手,在實戰中鍛鍊。滿紙書香,也是汗水心血所聚,令人欽佩、值得推薦
遊戲安全專家、上海好連網路CEO:衛鵬飛(fly)
目 前研究iOS安全的專業書籍相對較少,本書的推出可謂是一場及時雨。本書理論結合實戰,深入淺出,翻開目錄就讓人有迫不及待學習的渴望。信息安全人才的培養離不開大量優秀安全技術書籍的出版,本書的問世定能成為眾多信息安全愛好者的重要參考並為其指明學習方向。
麥洛科菲信息安全培訓創始人、騰訊課堂周哥教IT創始人:周揚榮(布強)
飄雲閣作為最早的技術論壇,論壇的創始人技 術精 湛,培養了大批的技術核心骨幹人員,為信息安全的發展貢獻了巨大力量。縱觀市場上的諸多iOS安全書籍,都未能把一些核心技術講明白,本書正好填補了此項空白,很榮幸能為本書寫推薦,這本書對眾多高校和培訓機構來說,是一本不可多得的好書
著名信息安全專家:陳 亮(OWASP)

相關詞條

熱門詞條

聯絡我們