iOS應用逆嚮工程 第2版

iOS應用逆嚮工程 第2版 pdf epub mobi txt 电子书 下载 2025

沙梓社,吳航 著
圖書標籤:
  • iOS
  • 逆嚮工程
  • 安全
  • 應用
  • 技術
  • 開發
  • 調試
  • 破解
  • 實戰
  • 攻防
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111494362
版次:2
商品编码:11670145
品牌:机工出版
包装:平装
丛书名: 信息安全技术丛书
开本:16开
出版时间:2015-04-01
用纸:胶版纸
页数:408

具体描述

編輯推薦

適讀人群 :iOS狂熱愛好者;中高級iOS開發人員;架構師
  

  全球首本講解iOS8應用逆嚮工程的實戰手冊,作者毫無保留地分享瞭數年來在iOS逆嚮工程領域的經驗;

  內容係統深入,邏輯緊密,實戰性強,從iOS係統架構等理論齣發,以多個實例貫穿全書,闡述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;

  總結提煉齣一套從UI觀察切入代碼分析的iOS應用逆嚮工程方法論,授人以漁。

內容簡介

    你是否曾因應用上綫的第一天即遭破解而無奈苦惱,想要加以防範,卻又束手無策?  你是否曾為某一應用深深摺服,想要藉鑒學習,卻又無從下手?  你是否已不滿足於public API,想要進軍Cydia開發,卻又求學無門?  你是否已産生“不識Apple真麵目,隻緣身在App Store中”的危機感,想要通過閱讀來一窺這冰山一角外的整個北極,卻又找不到閤適的書?  你是否已經因無法跨越開發路上的重重障礙而斷瞭研究iOS逆嚮工程的念頭?Are you a quitter?  看完本書,相信你會有全新的感受!
  

作者簡介

   沙梓社,iOS越獄社區骨灰級活躍份子,思路開闊思想傳統,對蘋果的研究癡迷到連女朋友都沒有的地步。作品見諸於Cydia,有SMSNinja、LowPowerBanner、DimInCall等。
   吳 航,十餘年程序開發經驗的資深碼農,曆經方正、NEC、Juniper等國內國外知名IT企業,2011年進入iOS領域,專注於iOS app/逆嚮等方嚮的開發,主要作品有安全管傢、知乎月刊HD等。

精彩書評

  仔細閱讀瞭本書,從字裏行間可以感受到作者的認真,在當今這個浮躁的大環境中,這是非常難得的,單從認真這點來看,這本書絕不是一本“水貨”,強烈推薦大傢閱讀,尤其是初學者。
  

  本書的前六章側重於理論的介紹,但又不局限於理論,幾乎每章都有至少一個小例子來幫助讀者理解相關的理論。後麵的幾章側重於實踐,並且使用瞭一些大傢耳熟能詳的App作為例子,以此來降低讀者的陌生感,可見作者用心之良苦。
  逆嚮工程對實踐性要求非常高,因此學會與沒學會的標準隻有一個,那就是能不能拋開書本,使用與書中相同或者不同的方法,實現齣相同的效果。大傢在實踐的過程中必然會遇到睏難,可能會感覺學不下去瞭,但是希望大傢在這時絕不要放棄,有句話叫“念念不忘,必有迴響”,在感覺自己學不會時,可以先把這件事情放一放,但是不要忘記,過段時間再繼續。經過幾次這樣的迭代後,相信你會掌握iOS逆嚮工程相關的理論與技巧。  
  ——Proteas 獨立iOS研究員


  

  每一個iOS開發者都應瞭解的逆嚮知識都在這裏瞭。這本書詳細地介紹瞭常用的靜態分析手法以及實用的動態分析技巧。不但可以幫助逆嚮新手快速上手,同時也能激發iOS開發熟手對應用安全的思考,把主動防禦的思想滲透到項目開發中。
  ——念茜 支付寶iOS開發工程師

  如果你覺得對普通iOS App的開發已經有點疲倦瞭,iOS逆嚮工程絕對是你值得嘗試的新領域。

  本書非常適閤有一定iOS開發經驗的讀者,一步一步引導你走進逆嚮工程的大門。

  各種實用工具的講解,讓你倦意頓失;手把手的實踐,讓你意猶未盡。

  現在iOS越獄進入常態化,越獄開發的勢頭很猛,學會瞭逆嚮開發,多一種選擇,對於普通開發也是受益頗多。

  ——瀋悅 獨立iOS開發者

目錄

目 錄
推薦序一
推薦序二
第2版序
第1版序
前言
第一部分 概 念 篇
第1章 iOS逆嚮工程簡介 3
1.1 iOS逆嚮工程的要求 3
1.2 iOS應用逆嚮工程的作用 4
1.2.1 安全相關的iOS逆嚮工程 5
1.2.2 開發相關的iOS逆嚮工程 6
1.3 iOS應用逆嚮工程的過程 7
1.3.1 係統分析 7
1.3.2 代碼分析 8
1.4 iOS應用逆嚮工程的工具 8
1.4.1 監測工具 9
1.4.2 反匯編工具 9
1.4.3 調試工具 10
1.4.4 開發工具 11
1.5 小結 11
第2章 越獄iOS平颱簡介 12
2.1 iOS係統結構 12
2.1.1 iOS目錄結構簡介 13
2.1.2 iOS文件權限簡介 16
2.2 iOS二進製文件類型 17
2.2.1 Application 17
2.2.2 Dynamic Library 20
2.2.3 Daemon 20
2.3 小結 22
第二部分 工 具 篇
第3章 OSX工具集 25
3.1 class-dump 25
3.2 Theos 27
3.2.1 Theos簡介 27
3.2.2 安裝Theos 28
3.2.3 Theos用法介紹 30
3.2.4 Theos開發tweak示例 51
3.3 Reveal 53
3.4 IDA 57
3.4.1 IDA簡介 57
3.4.2 IDA使用說明 58
3.4.3 IDA分析示例 68
3.5 iFunBox 71
3.6 dyld_decache 72
3.7 小結 73
第4章 iOS工具集 74
4.1 CydiaSubstrate 74
4.1.1 MobileHooker 74
4.1.2 MobileLoader 84
4.1.3 Safe mode 84
4.2 Cycript 85
4.3 LLDB與debugserver 89
4.3.1 LLDB簡介 89
4.3.2 debugserver簡介 90
4.3.3 配置debugserver 90
4.3.4 用debugserver啓動或附加進程 91
4.3.5 LLDB的使用說明 92
4.3.6 LLDB使用小提示 107
4.4 dumpdecrypted 107
4.5 OpenSSH 111
4.6 usbmuxd 112
4.7 iFile 113
4.8 MTerminal 114
4.9 syslogd to /var/log/syslog 115
4.10 小結 115
第三部分 理 論 篇
第5章 Objective-C相關的iOS逆嚮理論基礎 119
5.1 tweak在Objective-C中的工作方式 119
5.2 tweak 的編寫套路 121
5.2.1 尋找靈感 121
5.2.2 定位目標文件 123
5.2.3 定位目標函數 127
5.2.4 測試函數功能 129
5.2.5 解析函數參數 130
5.2.6 class-dump的局限性 133
5.3 實例演示 133
5.3.1 得到靈感 134
5.3.2 定位文件 135
5.3.3 定位函數 143
5.3.4 測試函數 145
5.3.5 編寫實例代碼 145
5.4 小結 147
第6章 ARM匯編相關的iOS逆嚮理論基礎 148
6.1 ARM匯編基礎 148
6.1.1 基本概念 149
6.1.2 ARM/THUMB指令解讀 152
6.1.3 ARM調用規則 159
6.2 tweak的編寫套路 161
6.2.1 從現象切入App,找齣UI函數 162
6.2.2 以UI函數為起點,尋找目標函數 173
6.3 LLDB的使用技巧 203
6.3.1 尋找函數調用者 203
6.3.2 更改進程執行邏輯 208
6.4 小結 211
第四部分 實 戰 篇
第7章 實戰1:Characount for Notes 8 215
7.1 備忘錄 215
7.2 搭建tweak原型 216
7.2.1 定位Notes的可執行文件 217
7.2.2 class-dump齣MobileNotes的頭文件 218
7.2.3 用Cycript找到閱覽界麵及其controller 218
7.2.4 從NoteDisplayController找到當前note對象 220
7.2.5 找到實時監測note內容變化的方法 223
7.3 逆嚮結果整理 227
7.4 編寫tweak 228
7.4.1 用Theos新建tweak工程“CharacountForNotes8” 228
7.4.2 構造CharacountForNotes8.h 229
7.4.3 編輯Tweak.xm 229
7.4.4 編輯Makefile及control 230
7.4.5 測試 230
7.5 小結 233
第8章 實戰2:自動將指定電子郵件標記為已讀 234
8.1 電子郵件 234
8.2 搭建tweak原型 235
8.2.1 定位Mail的可執行文件並class-dump它 237
8.2.2 把頭文件導入Xcode 238
8.2.3 用Cycript找到Mailboxes界麵的controller 239
8.2.4 用Reveal和Cycript找到All Inboxes界麵的delegate 240
8.2.5 在MailboxContentViewController中定位“刷新完成”的響應函數 242
8.2.6 從MessageMegaMall中拿到所有郵件 246
8.2.7 從MFLibraryMessage中提取發件人地址,用MessageMegaMall標記
已讀 248
8.3 逆嚮結果整理 254
8.4 編寫tweak 255
8.4.1 用Theos新建tweak工程“iOSREMailMarker” 255
8.4.2 構造iOSREMailMarker.h 255
8.4.3 編輯Tweak.xm 256
8.4.4 編輯Makefile及control 257
8.4.5 測試 258
8.5 小結 259
第9章 實戰3:保存與分享微信小視頻 260
9.1 微信 260
9.2 搭建tweak原型 261
9.2.1 觀察小視頻播放窗口,尋找逆嚮切入點 261
9.2.2 class-dump獲取頭文件 262
9.2.3 把頭文件導入Xcode 263
9.2.4 用Reveal找到小視頻播放窗口 264
9.2.5 找到長按手勢響應函數 265
9.2.6 用Cycript定位小視頻的controller 270
9.2.7 從WCTimeLineViewController找到小視頻對象 272
9.2.8 從WCContentItemViewTemplateNewSight中提取WCDataItem對象 276
9.2.9 從WCDataItem中提取目標信息 278
9.3 逆嚮結果整理 288
9.4 編寫tweak 289
9.4.1 用Theos新建tweak工程“iOSREWCVideoDownloader” 289
9.4.2 構造iOSREWCVideoDownloader.h 289
9.4.3 編輯Tweak.xm 290
9.4.4 編輯Makefile及control 292
9.4.5 測試 293
9.5 彩蛋放送 294
9.5.1 從UIMenuItem切入,找到小視頻對象 294
9.5.2 微信曆史版本頭文件個數變遷 295
9.6 小結 298
第10章 實戰4:檢測與發送iMessage 299
10.1 iMessage 299
10.2 檢測一個號碼或郵箱地址是否支持iMessage 299
10.2.1 觀察MobileSMS界麵元素的變化,尋找逆嚮切入點 299
10.2.2 用Cycript找齣placeholder 302
10.2.3 用IDA和LLDB找齣placeholderText的一重數據源 308
10.2.4 用IDA和LLDB找齣placeholderText的N重數據源 311
10.2.5 還原原始數據源生成placeholderText的過程 340
10.3 發送iMessage 341
10.3.1 從MobileSMS界麵元素尋找逆嚮切入點 341
10.3.2 用Cycript找齣“Send”按鈕的響應函數 342
10.3.3 在響應函數中尋找可疑的發送操作 344
10.4 逆嚮結果整理 369
10.5 編寫tweak 370
10.5.1 用Theos新建tweak工程“iOSREMadridMessenger” 370
10.5.2 構造iOSREMadridMessenger.h 371
10.5.3 編輯Tweak.xm 372
10.5.4 編輯Makefile及control 372
10.5.5 用Cycript測試 373
10.6 小結 373
越獄開發一覽 375
沙箱逃脫 380
編寫tweak——新時代的hacking 382




精彩書摘

  第1章

  iOS逆嚮工程簡介

  雖然可口可樂的配方是高度機密,但還是有些公司可以調製齣跟可樂幾乎沒有差彆的味道。雖然我們拿不到彆人App的源碼和文檔,但仍可以通過逆嚮工程來一窺究竟。

  1.1 iOS逆嚮工程的要求

  iOS逆嚮工程指的是在軟件層麵上進行逆嚮分析的一個過程。讀者如果想要具備較強的iOS逆嚮工程能力,最好能非常熟悉iOS設備的硬件構成、iOS係統的運行原理,還要具備豐富的iOS開發經驗。如果你拿到任意一個App之後能夠大緻推斷齣它的項目規模和使用的技術,比如它的MVC(Model-View-Controller,請Google“iOS MVC”)模型是怎麼建立的,引用瞭哪些 framework和經典的開源代碼,說明你的iOS逆嚮工程能力已經不容小覷瞭。

  這要求高嗎?好像確實有點高!不過,這些條件都是充分非必要的。如果你目前還不具備這些充分條件,那麼一定要滿足兩個必要條件:強烈的好奇心和鍥而不捨的精神。因為在iOS逆嚮工程中,好奇心會驅動你去研究經典的App,而在研究的過程中一定會遇到一係列的睏難和障礙,但你又不可能對任何問題都胸有成竹,所以這時就需要有鍥而不捨的精神來支撐你剋服一個又一個睏難。請相信,在投入大量精力去編寫代碼、調試程序、分析邏輯之後,你會在不斷的試驗和錯誤中感受到逆嚮工程的藝術之美,你的個人能力也會得到質的提升。

  1.2 iOS應用逆嚮工程的作用

  打個比喻,iOS逆嚮工程就像一杆長矛,專門刺破App看似安全的防護盾。有趣的是,很多製作App的公司還沒有意識到這樣一杆長矛的存在,固步自封地以為自己的盾堅不可摧。

  對於微信和WhatsApp之類的IM應用,交流的信息是它們的核心;對於銀行、支付、電商類的軟件,交易數據和客戶信息是它們的核心。所有的核心數據都是需要重點保護的,於是,開發人員通過反調試、數據加密、代碼混淆等各種手段重重保護自己App,為的就是增加逆嚮工程的難度,避免類似的安全問題影響用戶體驗。

  可是目前App防護所用到的技術跟iOS逆嚮工程所使用的技術根本就不是同一個維度的。一般的App防護,感覺就像是一個城堡,將App的MVC布置在城堡內部,外圍圈上厚厚的城牆,看上去易守難攻,就像圖1-1所示的這樣。

前言/序言

推薦序一
前一段時間跟吳航在微博上私信聊天,他說正在寫一本iOS方麵的圖書,我讓他書齣來的時候送一本給我。之後他在私信上跟我說書寫完瞭,讓我給寫個序,我當即錶示“壓力山大”,但還是欣然答應瞭。
我認識吳航是在2011年9月,當時安全管傢在找iOS開發高手,吳航作為我們安全管傢iOS開發組的第一個工程師進來瞭,他和我們從零開始搭建iOS團隊,並著手安全管傢越獄版的開發。到瞭2012年年中,我認識到iOS自身的安全性非常好,在非越獄的iOS上我們能做的關於安全的事情並不多,而越獄行為本身就是一個最大的安全風險,是用戶主動選擇的結果,跟我們自身的安全理念不符,因此無須投入太多關注,恰好吳航本人也想齣去做自己的事情,於是我支持瞭他的決定。
在那大半年的接觸中,我發現吳航是個難得的技術人纔,在技術的鑽研上有股子狠勁,擁有豐富的開發實戰經驗,又善於利用各種工具解決問題,因此在他帶團隊的時候,評估齣來的開發進度基本上都能達成。我印象深刻的有兩件事,第一件是在開發越獄版安全管傢時,由於這方麵官方公開的資料幾乎沒有,很多涉及係統底層的開發,需要自己摸著石頭過河,並得反復嘗試。當時我們製定瞭一個比較緊的開發周期,希望在較短的時間內開發齣越獄版安全管傢的原型。吳航的壓力不小,他接連幾個月都在研究係統底層,嚮各路高人請教,通過Google找尋國外網站上的資料,沒日沒夜地想辦法,後來終於在既定的時間內完成,這讓我看到瞭吳航不僅不懼睏難,而且敢於負責任。另一件事是在開發App Store版安全管傢時,有個版本在我的手機上在不同頁麵間快速切換時會有極小的概率導緻安全管傢崩潰,我就反饋給瞭吳航。雖然隻是小概率事件,但他親自反復高強度測試,細緻地排查代碼,最終揪齣瞭導緻這個問題的內存指針Bug,這足見其嚴謹的技術態度和對質量高標準的追求。
雖然我不做開發很多年瞭,但是至今仍忘不瞭年輕時作為一個工程師,非常渴望與更高水平的人交流,希望聆聽高手們實戰經驗分享的情景。吳航願意把他的經驗總結成書,是廣大iOS開發者的福音,這本書能夠帶給大傢實實在在的乾貨,讓大傢都能在技術的道路再攀高峰。

趙崗
安全管傢創始人


推薦序二
In our lives, we pay very little attention to things that work. Everything we interact with hides a fractal of complexity—hundreds of smaller components, all of which serve a vital role, each disappearing into its destined form and function. Every day, millions of people take to the streets with phones in their hands, and every day hardware, firmware, and software blend into one contiguous mass of games, photographs, phone calls, and text messages.
It holds, then, that each component retains leverage over the others. Hardware owns firmware, firmware loads and reins in software, and software in turn directs hardware. If you could take control of one of them, could you influence a device to enact your own desires?
iOS 8 App Reverse Engineering provides a unique view inside the software running on iOS?, the operating system that powers the Apple iPhone? and iPad?. Within, you will learn what makes up application code and how each component fits into the software ecosystem at large. You will explore the hidden second life your phone leads, wherein it is a full-fledged computer and software development platform and there is no practical limit to its functionality.
So, young developer, break free of restricted software and find out exactly what makes your iPhone tick!
(在生活中,我們經常會忽略許多習以為常的事物。事實上,那些我們每天都與之打交道的東西,往往都蘊含瞭一種“復雜”的美感——它們由成百上韆的微小組件構成,各個微小組件各司其職,在各自的崗位上發揮著不可替代的關鍵作用。現代生活中,智能手機已經成瞭我們每天必不可少的工具,通過硬件、軟件和固件協同閤作,它為我們帶來瞭好玩的遊戲、有趣的照片,以及便利的溝通渠道——電話和短信。
在一個巴掌大的手機裏,各個組件之間的關係錯綜復雜,互相影響。硬件為固件的運行提供支撐平颱,固件掌管軟件,而軟件又迴過頭來調度硬件。如果你能控製它們之中的哪怕一個,不就可以讓手機聽命於你瞭嗎?但App Store的插手,又為你對它們的控製加上瞭重重阻力。
本書從獨特的角度剖析iOS應用,你會從比App Store App更低一級的深度去瞭解軟件的各個組件在構造整個軟件時起到的作用,你會由此發現手機的“裏世界”——它的能力遠不止App Store所許可的那樣有限,確切地說,它是一颱功能齊全的計算機,在它的“裏世界”裏,一切皆有可能。
年輕的開發者,從這裏開始打破App Store的限製,重新認識真正的iPhone吧!)

Dustin L. Howett
iPhone Tweak 開發者


第2版序
轉眼,本書第1版麵世已經快1年瞭,在這一年裏,因為有大傢的認可與推廣,本書得到瞭廣泛關注。與此同時,iOS逆嚮工程也在國內iOS開發者圈子裏“漫延”開來,並達到瞭前所未有的高度,正是因為大傢的努力,纔使得該技術得到發展,而我們作者團隊也貢獻瞭一點力量,甚感欣慰!
隨著盤古、太極等國內越獄團隊的橫空齣世,以及各種第三方市場的蓬勃發展,iOS技術層麵的較量已經從App開發轉嚮底層研究;隨著WireLurker等病毒的齣現,一些深藏不露的安全問題也開始浮齣水麵,蘋果構建的封閉係統正在齣現一條條裂縫。不管是進攻還是防守,都離不開iOS逆嚮工程技術的使用。在可以預見的未來,蘋果將進入惡意軟件重度防禦時
代,iOS逆嚮工程的應用一定會越來越廣泛,讓我們拭目以待。
自本書第1版上市後,反響一直不錯,京東等各大網店的好評率高達95%以上。隨著iOS 8的發布,我們清楚地意識到第1版的內容已經不再適閤最新的iOS 8。同時根據一年多以來跟大傢不斷的溝通和交流,也意識到第1版存在缺憾和不足,例如講解不夠細緻,術多道少等,影響瞭書的可讀性。因此,在即將推齣全新升級的《iOS應用逆嚮工程》裏,不但全麵支持iOS 8,還大幅更新瞭章節內容,涵蓋更多細節,配備瞭更多的例子,增加瞭“道”的分量,比第1版的邏輯性更強,更易讀瞭。在升級版中,我們嘗試從抽象的逆嚮工程中抽離齣一個通用的方法論,試圖傳遞給大傢一種逆嚮工程的思想,而不僅僅是工具的使用。
本書第1版上市之後,我曾把書的目錄和內容框架發布到國際iOS越獄社區上,得到瞭非常正麵的反饋,包括Cydia的作者saurik、OSX著名研究員fG!、Theos作者DHowett等國際一綫開發者均對本書錶示瞭濃厚的興趣,這也讓我萌生瞭讓該書走嚮國際的想法。在整理這一版時,我與編輯溝通瞭該想法,沒想到還真促成瞭此事。國際版將由美國CRC齣版社在全球齣版發行,由8位國外知名研究員(5位美國籍、1位加拿大籍、1位阿根廷籍、1位丹麥籍)審核,全球iOS逆嚮工程社區對國際版寄予瞭厚望。在第1版的前言裏,航哥曾提到我誇下的海口:“弟的目標遠大,要玩就朝著國際一綫大牛的目標去!”雖然離這個目標還差得很遠,但我已經在朝這個目標努力邁進瞭,不是麼?

前 言
為什麼要寫這本書
兩年前我正式從傳統網絡設備行業轉行進入移動互聯網行業,當時正是移動應用開發市場最火爆的時候,創業公司如雨後春筍般的成立,尤其社交類App更是大受追捧,隻要有一個不錯的構想就可能拿到韆萬級投資,高價挖人組隊的信息更是讓人眼花繚亂。那時我已經開發瞭幾個頗具難度的企業應用類App,對於那些輕量級的普通社交App不是太看得上,想著要玩點比較酷的技術,機緣巧閤進入瞭安全管傢(北京安管佳科技有限公司),從零開始搭建iOS團隊,負責包括越獄方嚮在內的iOS開發。
其實iOS越獄開發的基礎就是iOS逆嚮工程,那個時候我並沒有這方麵的經驗,麵嚮的是一個完全未知的領域,不過好在有Google,國內國外的信息多少還是能夠搜到點,而且對於iOS開發者,越獄開發和逆嚮工程並不是一個完全隔離的世界,雖然被分享齣來的都是零零散散甚至重復度很高的知識,但是隻要投入大量精力,把知識歸納總結,慢慢可以整理齣一幅完整的圖譜。
然而獨自一人學習的過程是孤獨的,尤其是遇見睏難和問題無人交流,讓人一籌莫展。每次一個人扛下所有問題的時候,總是感嘆:要是有一個水平不錯的交流者該是多麼幸福?雖然也可以給Ryan Petrich等一綫大牛發郵件請教,但很多在我們看來當時解決不瞭的難題在這類高手眼中很可能就是個低級問題,不苦心鑽研一番根本不好意思去問。這個階段大概持續瞭有大半年,直到2012年在微博上遇到本書的另一作者snakeninny,那時他還是一個麵臨畢業的研究生,整天“不務正業”地研究iOS底層,而且研究得還相當有深度。我曾和他提過:“你看,有多少人都投入到App領域撈錢去瞭,你咋不去呢?”他說:“弟的目標遠大,要玩就朝著國際一綫大牛的目標去!”小兄弟,你夠狠!
不過,多數時候我們都是自己在摺騰,隻是偶爾在網上交流一下問題及解決方法,但往往能碰撞齣一些有價值的內容。在一起閤寫本書之前,我們曾經閤作逆嚮分析過陌陌,做瞭一個插件用於在陌陌iOS版上把美女的位置標注在地圖上。當然我們都是善意的開發者,主動將這個漏洞告訴瞭陌陌,他們很快就修復瞭。這次,我們再次閤作,將iOS逆嚮工程方嚮的知識整理齣版,呈現給各位讀者。
在接觸越獄開發、逆嚮工程的這些年,個人感覺最大的收獲就是看待App時,完全以一種庖丁解牛的眼光去審視:App如何構成、性能如何,可以直接反映齣開發團隊水平高低。這些經驗知識不僅可用於越獄開發,也適用於傳統的App開發,至於帶來的影響,有正有負吧!我們不能因為蘋果不提倡越獄就否定這個領域的存在,盲目地相信本書曝光的安全問題不存在不過是掩耳盜鈴罷瞭。
有經驗的開發者都明白,知識掌握得越深,越會接觸到底層技術。比如sandbox保護機製具體體現在哪些方麵?runtime隻用來研究理論知識是不是有點大材小用瞭?
在Android領域,底層技術已經被擴散開,而在iOS領域,這個方嚮展現齣來的內容還隻是冰山一角。雖然國外也有幾本iOS安全方嚮的書籍,比如《Hacking and Securing iOS Applications》、《iOS Hacker’s Handbook》,但是內容太難,絕大多數人根本讀不懂,即使我們這些有一定經驗的開發者,讀這些書也非常吃力,效果不好。
陽春白雪不為我們這些喜歡實踐的技術宅所好,那麼來點下裏巴人的,不必遮遮掩掩,直接全麵展開這些知識豈不是更痛快?於是就有瞭我們這本書,書中的內容以概念、工具、理論、實戰的形式全麵、係統地展開知識點,由淺入深,圖文並茂,帶著讀者一步步地探索App的內在。我們不會像一些技術博客那樣貌似很高深地獨立分析某一片段的代碼,也不糾結“茴”字有幾種寫法,而是盡我們所能將一個完整的知識體係呈現給讀者,提供一整套iOS應用逆嚮工程的方法論,相信讀者一定會有所收獲。
近些年,國內投入在越獄iOS這個方嚮的人越來越多,但都比較低調,他們開發齣的越獄工具、App助手、Cydia插件影響著整個iOS的發展。他們積纍的技術非我們這些散兵遊勇所能及,但我們更願意分享這些知識,希望能夠拋磚引玉。
讀者對象
本書主要麵嚮以下讀者:
iOS狂熱愛好者。
中高級iOS開發人員。他們在掌握瞭App開發之後對iOS有更深的渴求。
架構師。在逆嚮App的整個過程中,架構師能學習那些優秀App的架構設計,以這種方式博采眾長,提高自己的架構設計能力。
在彆的係統上從事逆嚮工程,想要轉嚮iOS逆嚮工程的工程師。
如何閱讀本書
本書將分為四大部分,分彆是概念、工具、理論和實戰。前三部分介紹iOS逆嚮工程這個領域的背景、知識體係,以及相應的工具集、理論知識;第四部分則以4個具體案例將前麵的知識以實戰的方式展開,讓讀者可以實踐驗證前麵學到的知識,加深對iOS逆嚮工程的理解。
如果讀者不具備iOS逆嚮工程經驗,建議還是從頭開始按順序閱讀,而不要直接跨越到第四部分去模擬實戰。雖然實戰的成果很炫,但知其然而不知其所以然也沒意思,對不對?
勘誤和支持
由於作者的水平有限,編寫的時間也很倉促,書中難免會齣現一些錯誤或者不準確的地方,懇請讀者批評指正,歡迎訪問本書的官方論壇,全球的iOS逆嚮工程師都在這裏聚集,你的問題應該會得到滿意的解答。如果你有更多的寶貴意見,也歡迎你通過微博@iOS應用逆嚮工程或官方論壇與我們聯係,我們很期待能夠聽到你們的真摯反饋。
緻謝
首先要感謝evad3rs、盤古、太極、saurik等頂級團隊與高手,他們奠定瞭越獄iOS的基石;還要感謝DHowett,是他提供瞭Theos這個強大的開發工具使我得以邁進iOS逆嚮工程的大門。
感謝安全管傢,為我進入iOS逆嚮工程領域提供瞭一個充分發揮的環境,雖然我早已離開,但希望它發展得更好。
感謝微博上每一位熱心的朋友——唐巧_boy、盧明華、你在瓦西裏、isdada、Jagie、onevcat、戴銘、費西FISH、xuzhanji、Life無法Debug、移動開發小冉、HorseLuke、網絡蠍子、hongjiang_wang、月之舞狼、StayNStay、bluesea哈哈哈、鄭州IOS、青年土豆的煩惱、木土吉吉,以及這個倉促寫就的名單之外的更多朋友,感謝你們對我的支持和鼓勵。特地感謝唐巧_boy的引薦,他的熱心幫助促成瞭本書的齣版。
感謝機械工業齣版社華章公司的編輯楊綉國老師,感謝她的魄力和遠見,在這三個月的時間裏始終支持我的寫作,她的指點和幫助引導我們順利完成全部書稿。
謹以此書獻給我最親愛的傢人,以及眾多熱愛iOS開發的朋友們。

吳航(hangcom2010)



用户评价

评分

还没时间看 感觉不错

评分

还没时间看 感觉不错

评分

看了电子书后再买的实体书籍,收藏用,给力的iOS资料,给个好评和赞!

评分

iOS拓展性图书 主要是工具介绍

评分

书中全是干货,十本难得的好书

评分

看上去不错!内容还在检阅中!学无止境!

评分

IOS开发人员进阶的书,包装完好

评分

搞得定

评分

作为逆向入门不错

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有