iOS應用逆嚮與安全 平裝
劉培慶 (作者)
齣版社: 電子工業齣版社; 1版 (2018年6月1日)
ISBN: 9787121340994
品牌: 電子工業齣版社
《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
我一直對iOS應用的內部工作原理感到好奇,尤其是那些背後隱藏的安全機製。這本書的齣現,正好滿足瞭我這種探索欲。作者劉培慶先生在書中對於iOS安全防護的講解,真是鞭闢入裏。他不僅僅是列舉瞭一些已知的安全漏洞,而是深入剖析瞭iOS係統本身的安全設計理念,比如沙盒機製、代碼簽名、內存安全等。他用清晰的語言解釋瞭這些機製是如何工作的,以及它們在防止惡意攻擊中的作用。更讓我驚喜的是,書中還涉及到瞭iOS應用程序的加密和混淆技術。我之前對這些技術隻停留在概念層麵,但這本書通過實際的代碼示例,詳細演示瞭如何對應用進行加殼、加密,以及如何進行代碼混淆。這對於理解如何繞過這些防護措施,進行逆嚮分析,提供瞭非常寶貴的思路。我尤其對作者在講解如何分析混淆代碼的部分印象深刻,他提供瞭一些非常實用的技巧和工具,能夠幫助我們逐步還原齣混淆後的真實代碼邏輯。感覺這本書就像一本武林秘籍,將iOS安全的各種“攻防”套路都一一揭示齣來。我迫不及待地想通過這本書,掌握這些“武功秘籍”,成為一名更加齣色的iOS安全研究者。
評分這本書的目錄結構簡直就是為我量身定做的!我一直在思考,學習iOS應用逆嚮,到底應該從哪裏入手,纔能避免走彎路。這本書的編排順序,從最基礎的準備工作,到各種工具的使用,再到核心的逆嚮分析技巧,一步步遞進,邏輯清晰得讓人贊嘆。第一部分關於環境搭建的部分,作者非常細緻地列齣瞭各種軟件和硬件的要求,並且對每一個軟件的安裝過程都進行瞭詳細的圖文說明,這對於很多初學者來說,簡直是福音。我之前也嘗試過自己配置開發環境,但總是因為一些小細節卡住,浪費瞭不少時間。這本書在這方麵做得非常到位,讓我能夠快速地進入到實操階段。接著,作者又花瞭相當大的篇幅來介紹常用的逆嚮工具,比如IDA Pro、Hopper Disassembler,以及一些iOS特有的調試工具。他不僅講解瞭這些工具的基本功能,更重要的是,他還分享瞭如何在實際場景中靈活運用它們。我特彆喜歡作者在介紹工具時,不僅僅是羅列功能,而是通過一些實際的案例,來展示這些工具是如何解決具體問題的。這種“授人以魚不如授人以漁”的教學方式,讓我感覺這本書不僅僅是知識的傳授,更是能力的培養。我已經被作者的講解吸引住瞭,感覺接下來的逆嚮分析章節,一定會更加精彩。
評分這本書給我最深的感受,就是它不僅僅教你“做什麼”,更教你“為什麼這麼做”。很多技術書籍,可能隻是告訴你如何使用某個工具,或者如何執行某個操作,但很少去解釋背後的原理。而這本書,在講解每一個技術點的時候,都會深入到背後的原理。例如,在講解如何進行靜態分析時,作者不僅僅是介紹瞭靜態分析的常用方法,還詳細解釋瞭為什麼靜態分析能夠發現某些類型的問題,以及靜態分析的局限性。這種深入的原理講解,讓我能夠更好地理解技術的本質,並且在遇到新的問題時,能夠舉一反三,找到更有效的解決方案。我特彆喜歡書中關於“代碼混淆原理及破解思路”的章節,作者不僅僅是介紹瞭一些常見的混淆技術,更重要的是,他分析瞭這些混淆技術是如何工作的,以及它們可能存在的弱點。這種從原理齣發的講解方式,讓我能夠真正地掌握這項技術,而不是停留在錶麵。感覺這本書就像一位睿智的導師,在引領我深入思考,成為一名真正懂得iOS應用逆嚮和安全的開發者。
評分這本書的封麵設計就透著一股子專業勁兒,深邃的藍色背景,輔以科技感十足的銀色字體,中間赫然印著“劉培慶”的名字,讓人一看就知道這是有分量的作品。我之前接觸過一些iOS開發的入門書籍,但總覺得在安全和逆嚮這塊兒,總像隔著一層窗戶紙,摸不著門道。拿到這本書,我迫不及待地翻開瞭第一章,雖然還沒深入到具體的代碼分析,但作者開篇對iOS係統架構的梳理,以及對安全防護體係的宏觀介紹,就足以讓人茅塞頓開。他沒有直接跳到晦澀難懂的匯編指令,而是循序漸進地講解瞭iOS應用是如何構建的,從Objective-C的運行時機製,到Swift的編譯過程,再到Mach-O可執行文件的格式,這些基礎知識的鋪墊,對於理解後續的逆嚮分析至關重要。特彆是關於內存管理和堆棧的概念,作者用非常形象的比喻來解釋,讓原本枯燥的技術術語變得生動易懂。我尤其欣賞的是,他並沒有迴避一些復雜的概念,而是選擇用一種更加易於理解的方式去呈現,這對於像我這樣,雖然有一定開發背景,但對底層原理瞭解不深的讀者來說,無疑是雪中送炭。我感覺,這本書不僅僅是教你如何“看懂”彆人寫的代碼,更重要的是,它在培養你一種“思考”問題的方式,一種從安全和對抗的角度去審視代碼的視角。我已經迫不及待地想深入到後麵的章節,看看作者將如何一步步地剖析iOS應用的秘密。
評分我之前對iOS應用的安全漏洞瞭解不多,總覺得那些漏洞離我比較遙遠。但這本書的齣現,徹底改變瞭我的看法。作者在書中對於iOS應用漏洞的講解,既有深度又有廣度。他不僅僅是列舉瞭一些已知的漏洞類型,比如SQL注入、越獄檢測繞過等,而是深入剖析瞭這些漏洞産生的原因,以及它們在實際應用中的危害。更讓我印象深刻的是,作者在講解漏洞時,並沒有止步於理論,而是提供瞭非常多的實際案例和演示。他通過分析一些真實應用中的漏洞,來展示這些漏洞是如何被發現和利用的。我尤其對書中關於“如何利用內存損壞漏洞獲取敏感信息”的章節,印象深刻。作者詳細講解瞭iOS內存管理機製,以及常見的內存損壞漏洞類型,並且通過一個具體的例子,演示瞭如何利用這些漏洞來讀取應用的敏感數據。這種從原理到實踐的講解方式,讓我對iOS應用安全有瞭全新的認識。我感覺,這本書不僅僅是一本技術教程,更是一本“安全意識”的啓濛書,它讓我明白瞭,在享受便捷的應用帶來的便利的同時,也要警惕那些潛在的安全風險。
評分讀這本書,我感覺自己就像在與一位經驗豐富的iOS安全專傢進行麵對麵的交流。作者劉培慶先生的寫作風格非常獨特,他沒有使用那種枯燥乏味的理論陳述,而是將深奧的技術知識,融入到生動有趣的講解之中。我尤其喜歡他在書中穿插的一些“實戰技巧”和“避坑指南”。這些內容,往往是在其他書籍中很難找到的,卻是在實際工作中能夠派上大用場的。例如,他在講解如何進行代碼混淆分析時,分享瞭一些自己總結的經驗,比如如何通過分析字符串、分析調用棧來尋找突破口,這些都是非常寶貴的“內功”。而且,作者在講解過程中,並沒有迴避一些復雜的技術難題,而是選擇用一種更加平實的語言去解釋,讓我感覺那些曾經遙不可及的技術,也變得觸手可及。我特彆欣賞他對於“越獄”相關技術的講解,不僅僅是介紹瞭越獄的原理,還深入探討瞭越獄後的安全風險,以及如何進行相應的安全防護。這種全方位的視角,讓我對iOS安全有瞭更全麵的理解。感覺這本書就像一位良師益友,在指引我一步步地探索iOS安全的奧秘。
評分這本書的案例分析部分,簡直是學習iOS應用逆嚮的“實戰演練場”。我之前看的一些技術書籍,雖然理論知識講得頭頭是道,但在實際操作方麵,往往顯得不夠接地氣。而這本書,從第一個案例開始,就緊緊抓住瞭讀者的注意力。作者選擇的案例都是一些具有代錶性的iOS應用,涵蓋瞭不同類型的應用場景,比如社交應用、支付應用,甚至是一些小眾的工具類應用。他不僅僅是簡單地展示如何使用某個工具來獲取應用信息,而是深入到代碼層麵,一步步地講解如何識彆關鍵的函數,如何理解復雜的算法,以及如何找到隱藏的敏感信息。我尤其佩服作者在分析過程中,那種抽絲剝繭的邏輯思維能力。他能夠從龐雜的代碼中,迅速定位到問題的核心,並且用簡潔明瞭的方式進行解釋。我反復閱讀瞭書中關於“如何查找並hook特定函數”的章節,作者通過一個實際的例子,演示瞭如何使用Cycript等工具,來動態地修改應用的運行行為,這讓我對iOS應用的動態分析有瞭更深入的理解。感覺跟著作者一起分析這些案例,就像在進行一場精彩的偵探遊戲,每一次的發現都充滿瞭成就感。
評分這本書的作者,劉培慶先生,絕對是一位經驗豐富的iOS安全領域的專傢。他在書中的每一個字,都透露著對iOS應用逆嚮與安全的深刻理解。我尤其欣賞他在書中所分享的那些“獨門秘籍”,這些內容往往是作者在多年的實踐中總結齣來的,非常寶貴。例如,他在講解如何分析Objective-C運行時機製時,提供瞭一些非常實用的技巧,能夠幫助我們快速定位到方法的調用關係,以及理解方法的執行流程。我反復閱讀瞭書中關於“Objective-C消息轉發機製的深入分析”的章節,作者通過圖文並茂的方式,詳細解釋瞭消息轉發的整個過程,以及如何通過hook消息轉發來達到某種目的。這種深入的原理分析,讓我對Objective-C的運行時機製有瞭全新的認識。感覺這本書就像一位經驗豐富的老兵,在毫不保留地分享他的“戰場經驗”,讓我能夠少走彎路,更快地成長。
評分這本書的排版設計,真的非常用心。我之前也讀過不少技術書籍,有些書的內容很精彩,但排版卻讓人望而卻步,密密麻麻的文字,缺乏圖示,看得人頭昏腦漲。而這本書,在這一點上做得非常齣色。大量的代碼示例,清晰的流程圖,以及精美的圖錶,都讓原本枯燥的技術內容變得生動形象。尤其是書中對於匯編代碼的講解,作者並沒有簡單地堆砌大量的匯編指令,而是通過圖示化的方式,來解析每一條指令的作用,以及它們是如何共同構成一個完整的函數。這對於我這種對匯編不太熟悉的讀者來說,簡直是太友好瞭。我反復翻閱瞭書中關於“Mach-O文件格式分析”的章節,作者用大量的圖示,清晰地展示瞭Mach-O文件的各個段落和結構,以及它們之間的關係。這讓我能夠非常直觀地理解,一個iOS應用在磁盤上是如何存儲的。感覺這本書就像一本“可視化”的教程,讓復雜的概念變得觸手可及。我已經迫不及待地想通過這些圖示,進一步深入理解iOS應用底層的秘密。
評分我一直對iOS應用的安全加固技術非常感興趣,但相關的資料卻比較零散。這本書的齣現,就像一本“安全加固百科全書”,將我一直以來尋找的知識都囊括其中。作者在書中對iOS應用安全加固技術的講解,非常全麵,從最基礎的抗反編譯、抗調試,到更高級的內存保護、代碼完整性校驗,都有涉及。他不僅僅是列舉瞭各種加固技術,更重要的是,他詳細講解瞭這些技術是如何實現的,以及它們能夠提供什麼樣的安全防護。我尤其對書中關於“如何實現代碼虛擬化來對抗靜態分析”的章節,印象深刻。作者通過詳細的步驟和代碼示例,演示瞭如何將應用的關鍵代碼進行虛擬化,從而增加靜態分析的難度。這種從原理到實現的講解方式,讓我對iOS應用安全加固有瞭更深入的理解。我感覺,這本書不僅僅是一本技術教程,更是一本“實用的武器庫”,它能夠幫助我為自己的應用提供更強大的安全防護。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有