iOS应用逆向工程 第2版

iOS应用逆向工程 第2版
9.1
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: 机械工业出版社
2015-04
版次: 2
ISBN: 9787111494362
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 408页
正文语种: 简体中文
原版书名: IOS App Reverse Engineering Second Edition
  •   你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策?  你是否曾为某一应用深深折服,想要借鉴学习,却又无从下手?  你是否已不满足于public API,想要进军Cydia开发,却又求学无门?  你是否已产生“不识Apple真面目,只缘身在App Store中”的危机感,想要通过阅读来一窥这冰山一角外的整个北极,却又找不到合适的书?  你是否已经因无法跨越开发路上的重重障碍而断了研究iOS逆向工程的念头?Are you a quitter?  看完本书,相信你会有全新的感受!   沙梓社,iOS越狱社区骨灰级活跃份子,思路开阔思想传统,对苹果的研究痴迷到连女朋友都没有的地步。作品见诸于Cydia,有SMSNinja、LowPowerBanner、DimInCall等。  吴 航,十余年程序开发经验的资深码农,历经方正、NEC、Juniper等国内国外知名IT企业,2011年进入iOS领域,专注于iOS app/逆向等方向的开发,主要作品有安全管家、知乎月刊HD等。 目 录推荐序一推荐序二第2版序第1版序前言第一部分 概 念 篇第1章 iOS逆向工程简介 31.1 iOS逆向工程的要求 31.2 iOS应用逆向工程的作用 41.2.1 安全相关的iOS逆向工程 51.2.2 开发相关的iOS逆向工程 61.3 iOS应用逆向工程的过程 71.3.1 系统分析 71.3.2 代码分析 81.4 iOS应用逆向工程的工具 81.4.1 监测工具 91.4.2 反汇编工具 91.4.3 调试工具 101.4.4 开发工具 111.5 小结 11第2章 越狱iOS平台简介 122.1 iOS系统结构 122.1.1 iOS目录结构简介 132.1.2 iOS文件权限简介 162.2 iOS二进制文件类型 172.2.1 Application 172.2.2 Dynamic Library 202.2.3 Daemon 202.3 小结 22第二部分 工 具 篇第3章 OSX工具集 253.1 class-dump 253.2 Theos 273.2.1 Theos简介 273.2.2 安装Theos 283.2.3 Theos用法介绍 303.2.4 Theos开发tweak示例 513.3 Reveal 533.4 IDA 573.4.1 IDA简介 573.4.2 IDA使用说明 583.4.3 IDA分析示例 683.5 iFunBox 713.6 dyld_decache 723.7 小结 73第4章 iOS工具集 744.1 CydiaSubstrate 744.1.1 MobileHooker 744.1.2 MobileLoader 844.1.3 Safe mode 844.2 Cycript 854.3 LLDB与debugserver 894.3.1 LLDB简介 894.3.2 debugserver简介 904.3.3 配置debugserver 904.3.4 用debugserver启动或附加进程 914.3.5 LLDB的使用说明 924.3.6 LLDB使用小提示 1074.4 dumpdecrypted 1074.5 OpenSSH 1114.6 usbmuxd 1124.7 iFile 1134.8 MTerminal 1144.9 syslogd to /var/log/syslog 1154.10 小结 115第三部分 理 论 篇第5章 Objective-C相关的iOS逆向理论基础 1195.1 tweak在Objective-C中的工作方式 1195.2 tweak 的编写套路 1215.2.1 寻找灵感 1215.2.2 定位目标文件 1235.2.3 定位目标函数 1275.2.4 测试函数功能 1295.2.5 解析函数参数 1305.2.6 class-dump的局限性 1335.3 实例演示 1335.3.1 得到灵感 1345.3.2 定位文件 1355.3.3 定位函数 1435.3.4 测试函数 1455.3.5 编写实例代码 1455.4 小结 147第6章 ARM汇编相关的iOS逆向理论基础 1486.1 ARM汇编基础 1486.1.1 基本概念 1496.1.2 ARM/THUMB指令解读 1526.1.3 ARM调用规则 1596.2 tweak的编写套路 1616.2.1 从现象切入App,找出UI函数 1626.2.2 以UI函数为起点,寻找目标函数 1736.3 LLDB的使用技巧 2036.3.1 寻找函数调用者 2036.3.2 更改进程执行逻辑 2086.4 小结 211第四部分 实 战 篇第7章 实战1:Characount for Notes 8 2157.1 备忘录 2157.2 搭建tweak原型 2167.2.1 定位Notes的可执行文件 2177.2.2 class-dump出MobileNotes的头文件 2187.2.3 用Cycript找到阅览界面及其controller 2187.2.4 从NoteDisplayController找到当前note对象 2207.2.5 找到实时监测note内容变化的方法 2237.3 逆向结果整理 2277.4 编写tweak 2287.4.1 用Theos新建tweak工程“CharacountForNotes8” 2287.4.2 构造CharacountForNotes8.h 2297.4.3 编辑Tweak.xm 2297.4.4 编辑Makefile及control 2307.4.5 测试 2307.5 小结 233第8章 实战2:自动将指定电子邮件标记为已读 2348.1 电子邮件 2348.2 搭建tweak原型 2358.2.1 定位Mail的可执行文件并class-dump它 2378.2.2 把头文件导入Xcode 2388.2.3 用Cycript找到Mailboxes界面的controller 2398.2.4 用Reveal和Cycript找到All Inboxes界面的delegate 2408.2.5 在MailboxContentViewController中定位“刷新完成”的响应函数 2428.2.6 从MessageMegaMall中拿到所有邮件 2468.2.7 从MFLibraryMessage中提取发件人地址,用MessageMegaMall标记已读 2488.3 逆向结果整理 2548.4 编写tweak 2558.4.1 用Theos新建tweak工程“iOSREMailMarker” 2558.4.2 构造iOSREMailMarker.h 2558.4.3 编辑Tweak.xm 2568.4.4 编辑Makefile及control 2578.4.5 测试 2588.5 小结 259第9章 实战3:保存与分享微信小视频 2609.1 微信 2609.2 搭建tweak原型 2619.2.1 观察小视频播放窗口,寻找逆向切入点 2619.2.2 class-dump获取头文件 2629.2.3 把头文件导入Xcode 2639.2.4 用Reveal找到小视频播放窗口 2649.2.5 找到长按手势响应函数 2659.2.6 用Cycript定位小视频的controller 2709.2.7 从WCTimeLineViewController找到小视频对象 2729.2.8 从WCContentItemViewTemplateNewSight中提取WCDataItem对象 2769.2.9 从WCDataItem中提取目标信息 2789.3 逆向结果整理 2889.4 编写tweak 2899.4.1 用Theos新建tweak工程“iOSREWCVideoDownloader” 2899.4.2 构造iOSREWCVideoDownloader.h 2899.4.3 编辑Tweak.xm 2909.4.4 编辑Makefile及control 2929.4.5 测试 2939.5 彩蛋放送 2949.5.1 从UIMenuItem切入,找到小视频对象 2949.5.2 微信历史版本头文件个数变迁 2959.6 小结 298第10章 实战4:检测与发送iMessage 29910.1 iMessage 29910.2 检测一个号码或邮箱地址是否支持iMessage 29910.2.1 观察MobileSMS界面元素的变化,寻找逆向切入点 29910.2.2 用Cycript找出placeholder 30210.2.3 用IDA和LLDB找出placeholderText的一重数据源 30810.2.4 用IDA和LLDB找出placeholderText的N重数据源 31110.2.5 还原原始数据源生成placeholderText的过程 34010.3 发送iMessage 34110.3.1 从MobileSMS界面元素寻找逆向切入点 34110.3.2 用Cycript找出“Send”按钮的响应函数 34210.3.3 在响应函数中寻找可疑的发送操作 34410.4 逆向结果整理 36910.5 编写tweak 37010.5.1 用Theos新建tweak工程“iOSREMadridMessenger” 37010.5.2 构造iOSREMadridMessenger.h 37110.5.3 编辑Tweak.xm 37210.5.4 编辑Makefile及control 37210.5.5 用Cycript测试 37310.6 小结 373越狱开发一览 375沙箱逃脱 380编写tweak——新时代的hacking 382
  • 内容简介:
      你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策?  你是否曾为某一应用深深折服,想要借鉴学习,却又无从下手?  你是否已不满足于public API,想要进军Cydia开发,却又求学无门?  你是否已产生“不识Apple真面目,只缘身在App Store中”的危机感,想要通过阅读来一窥这冰山一角外的整个北极,却又找不到合适的书?  你是否已经因无法跨越开发路上的重重障碍而断了研究iOS逆向工程的念头?Are you a quitter?  看完本书,相信你会有全新的感受!
  • 作者简介:
      沙梓社,iOS越狱社区骨灰级活跃份子,思路开阔思想传统,对苹果的研究痴迷到连女朋友都没有的地步。作品见诸于Cydia,有SMSNinja、LowPowerBanner、DimInCall等。  吴 航,十余年程序开发经验的资深码农,历经方正、NEC、Juniper等国内国外知名IT企业,2011年进入iOS领域,专注于iOS app/逆向等方向的开发,主要作品有安全管家、知乎月刊HD等。
  • 目录:
    目 录推荐序一推荐序二第2版序第1版序前言第一部分 概 念 篇第1章 iOS逆向工程简介 31.1 iOS逆向工程的要求 31.2 iOS应用逆向工程的作用 41.2.1 安全相关的iOS逆向工程 51.2.2 开发相关的iOS逆向工程 61.3 iOS应用逆向工程的过程 71.3.1 系统分析 71.3.2 代码分析 81.4 iOS应用逆向工程的工具 81.4.1 监测工具 91.4.2 反汇编工具 91.4.3 调试工具 101.4.4 开发工具 111.5 小结 11第2章 越狱iOS平台简介 122.1 iOS系统结构 122.1.1 iOS目录结构简介 132.1.2 iOS文件权限简介 162.2 iOS二进制文件类型 172.2.1 Application 172.2.2 Dynamic Library 202.2.3 Daemon 202.3 小结 22第二部分 工 具 篇第3章 OSX工具集 253.1 class-dump 253.2 Theos 273.2.1 Theos简介 273.2.2 安装Theos 283.2.3 Theos用法介绍 303.2.4 Theos开发tweak示例 513.3 Reveal 533.4 IDA 573.4.1 IDA简介 573.4.2 IDA使用说明 583.4.3 IDA分析示例 683.5 iFunBox 713.6 dyld_decache 723.7 小结 73第4章 iOS工具集 744.1 CydiaSubstrate 744.1.1 MobileHooker 744.1.2 MobileLoader 844.1.3 Safe mode 844.2 Cycript 854.3 LLDB与debugserver 894.3.1 LLDB简介 894.3.2 debugserver简介 904.3.3 配置debugserver 904.3.4 用debugserver启动或附加进程 914.3.5 LLDB的使用说明 924.3.6 LLDB使用小提示 1074.4 dumpdecrypted 1074.5 OpenSSH 1114.6 usbmuxd 1124.7 iFile 1134.8 MTerminal 1144.9 syslogd to /var/log/syslog 1154.10 小结 115第三部分 理 论 篇第5章 Objective-C相关的iOS逆向理论基础 1195.1 tweak在Objective-C中的工作方式 1195.2 tweak 的编写套路 1215.2.1 寻找灵感 1215.2.2 定位目标文件 1235.2.3 定位目标函数 1275.2.4 测试函数功能 1295.2.5 解析函数参数 1305.2.6 class-dump的局限性 1335.3 实例演示 1335.3.1 得到灵感 1345.3.2 定位文件 1355.3.3 定位函数 1435.3.4 测试函数 1455.3.5 编写实例代码 1455.4 小结 147第6章 ARM汇编相关的iOS逆向理论基础 1486.1 ARM汇编基础 1486.1.1 基本概念 1496.1.2 ARM/THUMB指令解读 1526.1.3 ARM调用规则 1596.2 tweak的编写套路 1616.2.1 从现象切入App,找出UI函数 1626.2.2 以UI函数为起点,寻找目标函数 1736.3 LLDB的使用技巧 2036.3.1 寻找函数调用者 2036.3.2 更改进程执行逻辑 2086.4 小结 211第四部分 实 战 篇第7章 实战1:Characount for Notes 8 2157.1 备忘录 2157.2 搭建tweak原型 2167.2.1 定位Notes的可执行文件 2177.2.2 class-dump出MobileNotes的头文件 2187.2.3 用Cycript找到阅览界面及其controller 2187.2.4 从NoteDisplayController找到当前note对象 2207.2.5 找到实时监测note内容变化的方法 2237.3 逆向结果整理 2277.4 编写tweak 2287.4.1 用Theos新建tweak工程“CharacountForNotes8” 2287.4.2 构造CharacountForNotes8.h 2297.4.3 编辑Tweak.xm 2297.4.4 编辑Makefile及control 2307.4.5 测试 2307.5 小结 233第8章 实战2:自动将指定电子邮件标记为已读 2348.1 电子邮件 2348.2 搭建tweak原型 2358.2.1 定位Mail的可执行文件并class-dump它 2378.2.2 把头文件导入Xcode 2388.2.3 用Cycript找到Mailboxes界面的controller 2398.2.4 用Reveal和Cycript找到All Inboxes界面的delegate 2408.2.5 在MailboxContentViewController中定位“刷新完成”的响应函数 2428.2.6 从MessageMegaMall中拿到所有邮件 2468.2.7 从MFLibraryMessage中提取发件人地址,用MessageMegaMall标记已读 2488.3 逆向结果整理 2548.4 编写tweak 2558.4.1 用Theos新建tweak工程“iOSREMailMarker” 2558.4.2 构造iOSREMailMarker.h 2558.4.3 编辑Tweak.xm 2568.4.4 编辑Makefile及control 2578.4.5 测试 2588.5 小结 259第9章 实战3:保存与分享微信小视频 2609.1 微信 2609.2 搭建tweak原型 2619.2.1 观察小视频播放窗口,寻找逆向切入点 2619.2.2 class-dump获取头文件 2629.2.3 把头文件导入Xcode 2639.2.4 用Reveal找到小视频播放窗口 2649.2.5 找到长按手势响应函数 2659.2.6 用Cycript定位小视频的controller 2709.2.7 从WCTimeLineViewController找到小视频对象 2729.2.8 从WCContentItemViewTemplateNewSight中提取WCDataItem对象 2769.2.9 从WCDataItem中提取目标信息 2789.3 逆向结果整理 2889.4 编写tweak 2899.4.1 用Theos新建tweak工程“iOSREWCVideoDownloader” 2899.4.2 构造iOSREWCVideoDownloader.h 2899.4.3 编辑Tweak.xm 2909.4.4 编辑Makefile及control 2929.4.5 测试 2939.5 彩蛋放送 2949.5.1 从UIMenuItem切入,找到小视频对象 2949.5.2 微信历史版本头文件个数变迁 2959.6 小结 298第10章 实战4:检测与发送iMessage 29910.1 iMessage 29910.2 检测一个号码或邮箱地址是否支持iMessage 29910.2.1 观察MobileSMS界面元素的变化,寻找逆向切入点 29910.2.2 用Cycript找出placeholder 30210.2.3 用IDA和LLDB找出placeholderText的一重数据源 30810.2.4 用IDA和LLDB找出placeholderText的N重数据源 31110.2.5 还原原始数据源生成placeholderText的过程 34010.3 发送iMessage 34110.3.1 从MobileSMS界面元素寻找逆向切入点 34110.3.2 用Cycript找出“Send”按钮的响应函数 34210.3.3 在响应函数中寻找可疑的发送操作 34410.4 逆向结果整理 36910.5 编写tweak 37010.5.1 用Theos新建tweak工程“iOSREMadridMessenger” 37010.5.2 构造iOSREMadridMessenger.h 37110.5.3 编辑Tweak.xm 37210.5.4 编辑Makefile及control 37210.5.5 用Cycript测试 37310.6 小结 373越狱开发一览 375沙箱逃脱 380编写tweak——新时代的hacking 382
查看详情
好书推荐 / 更多
iOS应用逆向工程 第2版
胡迁作品:大象席地而坐
胡迁 著
iOS应用逆向工程 第2版
OPUS作品(套装上下册)
[日]今敏 著;Mrs.X 译
iOS应用逆向工程 第2版
近代能乐集(三岛由纪夫戏剧代表作,爱与美与死的永恒角力)
[日]三岛由纪夫 著;玖羽 译
iOS应用逆向工程 第2版
上海字记:百年汉字设计档案
姜庆共、刘瑞樱 著
iOS应用逆向工程 第2版
唐宋“古文运动”与士大夫文学
朱刚 著;王水照 编
iOS应用逆向工程 第2版
行星
[英]贾尔斯•斯帕罗;Giles•Sparrow
iOS应用逆向工程 第2版
马里琳·鲁滨逊作品基列三部曲:基列家书(2005年获得普利策小说奖,《卫报》21世纪百本伟大小说
玛丽莲·罗宾逊 著;李尧 译
iOS应用逆向工程 第2版
特拉法尔加战役
朱利安·S.科贝特(Julian,S.,Corbett) 著;陈骆 译
iOS应用逆向工程 第2版
大雪将至
[奥地利]罗伯特•泽塔勒 著
iOS应用逆向工程 第2版
中国叙事学(第2版)
[美]浦安迪(Andrew H.Plaks) 著
iOS应用逆向工程 第2版
肉体与石头:西方文明中的身体与城市
[美]理查德·桑内特 著;黄煜文 译
iOS应用逆向工程 第2版
维多利亚女王:作为君王和女性的一生
[英]露西·沃斯利 著;张佩 译