注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)iOS應(yīng)用逆向工程(第2版)

iOS應(yīng)用逆向工程(第2版)

iOS應(yīng)用逆向工程(第2版)

定 價(jià):¥79.00

作 者: 沙梓社,吳航
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787111494362 出版時(shí)間: 2015-04-01 包裝:
開本: 16開 頁數(shù): 408 字?jǐn)?shù):  

內(nèi)容簡介

  你是否曾因應(yīng)用上線的第一天即遭破解而無奈苦惱,想要加以防范,卻又束手無策?你是否曾為某一應(yīng)用深深折服,想要借鑒學(xué)習(xí),卻又無從下手?你是否已不滿足于public API,想要進(jìn)軍Cydia開發(fā),卻又求學(xué)無門?你是否已產(chǎn)生“不識Apple真面目,只緣身在App Store中”的危機(jī)感,想要通過閱讀來一窺這冰山一角外的整個(gè)北極,卻又找不到合適的書?你是否已經(jīng)因無法跨越開發(fā)路上的重重障礙而斷了研究iOS逆向工程的念頭?Are you a quitter?看完本書,相信你會(huì)有全新的感受!

作者簡介

  沙梓社,iOS越獄社區(qū)骨灰級活躍份子,思路開闊思想傳統(tǒng),對蘋果的研究癡迷到連女朋友都沒有的地步。作品見諸于Cydia,有SMSNinja、LowPowerBanner、DimInCall等。 吳 航,十余年程序開發(fā)經(jīng)驗(yàn)的資深碼農(nóng),歷經(jīng)方正、NEC、Juniper等國內(nèi)國外知名IT企業(yè),2011年進(jìn)入iOS領(lǐng)域,專注于iOS app/逆向等方向的開發(fā),主要作品有安全管家、知乎月刊HD等。

圖書目錄

目 錄
推薦序一
推薦序二
第2版序
第1版序
前言
第一部分 概 念 篇
第1章 iOS逆向工程簡介  3
1.1 iOS逆向工程的要求  3
1.2 iOS應(yīng)用逆向工程的作用  4
1.2.1 安全相關(guān)的iOS逆向工程  5
1.2.2 開發(fā)相關(guān)的iOS逆向工程  6
1.3 iOS應(yīng)用逆向工程的過程  7
1.3.1 系統(tǒng)分析  7
1.3.2 代碼分析  8
1.4 iOS應(yīng)用逆向工程的工具  8
1.4.1 監(jiān)測工具  9
1.4.2 反匯編工具  9
1.4.3 調(diào)試工具  10
1.4.4 開發(fā)工具  11
1.5 小結(jié)  11
第2章 越獄iOS平臺簡介  12
2.1 iOS系統(tǒng)結(jié)構(gòu)  12
2.1.1 iOS目錄結(jié)構(gòu)簡介  13
2.1.2 iOS文件權(quán)限簡介  16
2.2 iOS二進(jìn)制文件類型  17
2.2.1 Application  17
2.2.2 Dynamic Library  20
2.2.3 Daemon  20
2.3 小結(jié)  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開發(fā)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 小結(jié)  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啟動(dòng)或附加進(jìn)程  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 小結(jié)  115
第三部分 理 論 篇
第5章 Objective-C相關(guān)的iOS逆向理論基礎(chǔ)  119
5.1 tweak在Objective-C中的工作方式  119
5.2 tweak 的編寫套路  121
5.2.1 尋找靈感   121
5.2.2 定位目標(biāo)文件  123
5.2.3 定位目標(biāo)函數(shù)   127
5.2.4 測試函數(shù)功能   129
5.2.5 解析函數(shù)參數(shù)  130
5.2.6 class-dump的局限性  133
5.3 實(shí)例演示  133
5.3.1 得到靈感  134
5.3.2 定位文件  135
5.3.3 定位函數(shù)   143
5.3.4 測試函數(shù)   145
5.3.5 編寫實(shí)例代碼   145
5.4 小結(jié)  147
第6章 ARM匯編相關(guān)的iOS逆向理論基礎(chǔ)  148
6.1 ARM匯編基礎(chǔ)  148
6.1.1 基本概念  149
6.1.2 ARM/THUMB指令解讀  152
6.1.3 ARM調(diào)用規(guī)則  159
6.2 tweak的編寫套路  161
6.2.1 從現(xiàn)象切入App,找出UI函數(shù)  162
6.2.2 以UI函數(shù)為起點(diǎn),尋找目標(biāo)函數(shù)  173
6.3 LLDB的使用技巧  203
6.3.1 尋找函數(shù)調(diào)用者  203
6.3.2 更改進(jìn)程執(zhí)行邏輯  208
6.4 小結(jié)  211
第四部分 實(shí) 戰(zhàn) 篇
第7章 實(shí)戰(zhàn)1:Characount for Notes 8  215
7.1 備忘錄  215
7.2 搭建tweak原型  216
7.2.1 定位Notes的可執(zhí)行文件  217
7.2.2 class-dump出MobileNotes的頭文件  218
7.2.3 用Cycript找到閱覽界面及其controller  218
7.2.4 從NoteDisplayController找到當(dāng)前note對象  220
7.2.5 找到實(shí)時(shí)監(jiān)測note內(nèi)容變化的方法  223
7.3 逆向結(jié)果整理  227
7.4 編寫tweak  228
7.4.1 用Theos新建tweak工程“CharacountForNotes8”  228
7.4.2 構(gòu)造CharacountForNotes8.h  229
7.4.3 編輯Tweak.xm  229
7.4.4 編輯Makefile及control  230
7.4.5 測試  230
7.5 小結(jié)  233
第8章 實(shí)戰(zhàn)2:自動(dòng)將指定電子郵件標(biāo)記為已讀  234
8.1 電子郵件  234
8.2 搭建tweak原型  235
8.2.1 定位Mail的可執(zhí)行文件并class-dump它  237
8.2.2 把頭文件導(dǎo)入Xcode  238
8.2.3 用Cycript找到Mailboxes界面的controller  239
8.2.4 用Reveal和Cycript找到All Inboxes界面的delegate  240
8.2.5 在MailboxContentViewController中定位“刷新完成”的響應(yīng)函數(shù)  242
8.2.6 從MessageMegaMall中拿到所有郵件  246
8.2.7 從MFLibraryMessage中提取發(fā)件人地址,用MessageMegaMall標(biāo)記
已讀  248
8.3 逆向結(jié)果整理  254
8.4 編寫tweak  255
8.4.1 用Theos新建tweak工程“iOSREMailMarker”  255
8.4.2 構(gòu)造iOSREMailMarker.h  255
8.4.3 編輯Tweak.xm  256
8.4.4 編輯Makefile及control  257
8.4.5 測試  258
8.5 小結(jié)  259
第9章 實(shí)戰(zhàn)3:保存與分享微信小視頻  260
9.1 微信  260
9.2 搭建tweak原型  261
9.2.1 觀察小視頻播放窗口,尋找逆向切入點(diǎn)  261
9.2.2 class-dump獲取頭文件  262
9.2.3 把頭文件導(dǎo)入Xcode  263
9.2.4 用Reveal找到小視頻播放窗口  264
9.2.5 找到長按手勢響應(yīng)函數(shù)  265
9.2.6 用Cycript定位小視頻的controller  270
9.2.7 從WCTimeLineViewController找到小視頻對象  272
9.2.8 從WCContentItemViewTemplateNewSight中提取WCDataItem對象  276
9.2.9 從WCDataItem中提取目標(biāo)信息  278
9.3 逆向結(jié)果整理  288
9.4 編寫tweak  289
9.4.1 用Theos新建tweak工程“iOSREWCVideoDownloader”  289
9.4.2 構(gòu)造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 微信歷史版本頭文件個(gè)數(shù)變遷  295
9.6 小結(jié)  298
第10章 實(shí)戰(zhàn)4:檢測與發(fā)送iMessage  299
10.1 iMessage  299
10.2 檢測一個(gè)號碼或郵箱地址是否支持iMessage  299
10.2.1 觀察MobileSMS界面元素的變化,尋找逆向切入點(diǎn)  299
10.2.2 用Cycript找出placeholder  302
10.2.3 用IDA和LLDB找出placeholderText的一重?cái)?shù)據(jù)源  308
10.2.4 用IDA和LLDB找出placeholderText的N重?cái)?shù)據(jù)源  311
10.2.5 還原原始數(shù)據(jù)源生成placeholderText的過程  340
10.3 發(fā)送iMessage  341
10.3.1 從MobileSMS界面元素尋找逆向切入點(diǎn)  341
10.3.2 用Cycript找出“Send”按鈕的響應(yīng)函數(shù)  342
10.3.3 在響應(yīng)函數(shù)中尋找可疑的發(fā)送操作  344
10.4 逆向結(jié)果整理  369
10.5 編寫tweak  370
10.5.1 用Theos新建tweak工程“iOSREMadridMessenger”  370
10.5.2 構(gòu)造iOSREMadridMessenger.h  371
10.5.3 編輯Tweak.xm  372
10.5.4 編輯Makefile及control  372
10.5.5 用Cycript測試  373
10.6 小結(jié)  373
越獄開發(fā)一覽  375
沙箱逃脫  380
編寫tweak——新時(shí)代的hacking  382

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號