搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
iOS应用逆向工程:分析与实战:analysis and practice
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111450726
  • 作      者:
    沙梓社,吴航,刘瑾著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2014
收藏
编辑推荐
  

  国内第一本讲解iOS应用逆向工程的实战手册,作者毫无保留地分享了数年来在iOS逆向领域的经验。
  内容系统深入,实战性强,从iOS系统架构、文件类型等逆向理论出发,通过多个实用案例,结合Class-dump、Theos、Cycript、Reveal、IDA、GDB等最常用逆向工具阐述了对iOS应用进行逆向分析的思路、方法和技巧。

展开
作者简介

  沙梓社,硕士毕业一年,iOS越狱社区骨灰级活跃份子,思路开阔思想传统,对苹果的研究痴迷到连女朋友都没有的地步。作品见诸于Cydia,有SMSNinja、LowPowerBanner、DimInCall等。


  吴航,十余年程序开发经验的资深码农,历经方正、NEC、Juniper等国内国外知名IT企业,2011年进入iOS领域,专注于iOSapp/逆向等方向的开发,主要作品有安全管家、有康医生、知乎月刊HD等。


  刘瑾,北京电子科技学院计算机科学与技术系讲师,教课之余主要从事移动客户端的安全应用程序设计和嵌入式应用程序开发研究,参与编著及翻译多本相关教材,承担过多个项目的研发工作,多次获得各项教学科研奖项。

展开
内容介绍

  《信息安全技术丛书·iOS应用逆向工程:分析与实战》是iOS应用逆向工程方面的权威著作,三位作者都是iOS领域内的专家,拥有扎实的理论知识和丰富的实践经验。本书内容以工具+代码的形式全面、系统地展开知识点,由浅入深,图文并茂地带着读者一步步探索常规iOS App之外的世界。
  《信息安全技术丛书·iOS应用逆向工程:分析与实战》分为四大部分,分别是概念、工具、理论和实战。前三部分介绍iOS逆向分析领域的背景、知识体系,以及相应的工具集、理论知识;第四部分则通过4个实际案例来将前面的知识以实战的方式展开。第一部分为概念篇,简单介绍iOS逆向分析的概念以及iOS平台系统架构。第二部分为工具篇,介绍一系列基于Mac和iOS平台的配套工具,并且重点讲解其中的class-dump、Theos、Reveal、IDA、GDB等5个工具的使用方法,前3个侧重于使用,后2个侧重于分析。第三部分为理论篇,主要讲述iOS逆向/越狱方向的进阶必备理论知识。第四部分为实战篇,通过对3个App Store App及1个系统App进行逆向分析的实战操作,让读者能够了解并同步实践已掌握的知识。

展开
精彩书摘

  第一部分
  概念篇
  软件的逆向工程指的是通过分析一个程序或系统的功能、结构或行为,将它的技术实现或设计细节推导出来的过程。当我们因为工作需要,或是对一个软件的功能很感兴趣,却又拿不到它的源代码时,往往可以通过逆向工程的方式对它进行分析。
  对于iOS开发者来说,运行在iOS平台上的各种软件是我们知晓的最复杂且超奇妙的虚拟物品之一,它们精巧而细致,新颖且创意十足。作为开发人员,在使用这许多经典的App的同时,除了会称赞App的实现效果之外,也会经常思考:它们的架构是如何搭建的?它们的运行机制又具体是什么样的?
  第1章
  iOS逆向工程简介
  虽然从理论上来说iOSApp是一个运行于沙箱(sandbox)中的程序,但并不表示我们就对它束手无策,事实上,可以通过逆向工程来一窥其究竟。接下来,就引入iOS软件逆向工程的概念。
  1.1iOS软件逆向工程的要求
  iOS软件逆向工程指的是在软件层面上进行逆向分析的一个过程。读者如果想要达到对iOS软件较强的逆向分析能力,最好能非常熟悉iOS设备的硬件构成、iOS系统的运行原理,还要具备丰富的iOS开发经验。比如:拿到一个App之后能够清晰地推断出这个App使用的技术,包括引用了哪些framework、哪些经典的第三方代码,以及整个App工程大致的文件个数、大致的代码行数,另外,还要想象一下如果由自己来组织设计开发,需要投入的人员、时间和精力等。
  这要求高吗?其实真的不算高!不过,这些条件都是充分非必要的。如果你目前还不具备这些技术条件,那么有两个必要条件则一定要满足:强烈的好奇心和锲而不舍的精神。因为在iOS软件逆向工程中,好奇心会驱动你去钻研经典的App,而在钻研的过程中会遇到一系列的困难和障碍,各种各样的技术坑,别人埋的、自己挖的,此时就需要锲而不舍的精神来支撑你一步步向前走。但是请相信,在投入大量精力去编写代码、调试程序、分析逻辑之后,你会在不断的试验和错误中感受到逆向工程的艺术之美。
  ……

展开
目录

推荐序一
推荐序二
自序
前言
第一部分 概念篇
第1 章  iOS 逆向工程简介
1.1  iOS 软件逆向工程的要求
1.2  iOS 软件逆向工程的作用
1.2.1  与安全相关的iOS 逆向工程
1.2.2  与开发相关的iOS 逆向工程
1.3  iOS 软件逆向工程的一般过程
1.3.1  系统分析
1.3.2  代码分析
1.4  iOS 软件逆向工程用到的工具
1.4.1  监测工具
1.4.2  开发工具
1.4.3  反编译器
1.4.4  调试器
1.5  小结
第2 章 越狱iOS 平台简介
2.1  iOS 系统架构
2.1.1  iOS 目录结构
2.1.2  iOS 文件权限
2.2  iOS 程序类型
2.2.1  Application
2.2.2  Dynamic Library
2.2.3  Daemon
2.3  小结
第二部分 工具篇
第3 章 Mac 工具集
3.1  class-dump
3.1.1  class-dump 介绍及下载
3.1.2  class-dump 使用演示
3.1.3  关于class-dump 的补充说明
3.2  Theos
3.2.1  Theos 简介
3.2.2  Theos 安装及编译
3.2.3  Theos 用法简介
3.2.4  Theos 开发tweak 示例
3.3  Reveal
3.3.1  Reveal 简介
3.3.2  Reveal 安装及功能扩展
3.4  IDA
3.4.1  IDA 简介
3.4.2  IDA 使用说明
3.4.3  IDA 分析示例
3.5  其他工具
3.5.1  iTools
3.5.2  dyld_decache
3.5.3  MesaSQLite
3.6  小结
第4 章 iOS 工具集
4.1  SBSettings
4.2  MobileSubstrate
4.3  OpenSSH
4.4  GDB
4.4.1  GDB 简介
4.4.2  GDB 的使用说明
4.5  Cycript
4.6  其他常用工具
4.6.1  BigBoss RecommendedTools
4.6.2  AppCrackr
4.6.3  iFile
4.6.4  MobileTerminal
4.6.5  Vi IMproved
4.6.6  SQLite
4.6.7  top
4.6.8  syslogd
4.7  小结
第三部分 理论篇
第5 章  Objective-C 相关的iOS逆向理论基础
5.1  tweak 的作用原理
5.1.1  Objective-C 语言的特性
5.1.2  MobileSubstrate
5.2  tweak 的编写套路
5.2.1  灵感的来源
5.2.2  分析文件,寻找切入点
5.2.3  定位目标函数
5.2.4  测试函数功能
5.2.5  解析函数参数
5.2.6  class-dump 的局限性
5.3  实例演示
5.3.1  得到灵感
5.3.2  分析文件
5.3.3  定位函数
5.3.4  测试函数
5.3.5  编写实例代码
5.4  小结
第6 章  ARM 汇编相关的iOS逆向理论基础
6.1  ARM 汇编基础
6.1.1  基本概念
6.1.2  ARM/THUMB 指令解读
6.1.3  ARM 调用规则
6.2  在IDA 中分析目标文件
6.2.1  分析函数实现细节
6.2.2  验证分析结果
6.3  在GDB 中分析目标文件
6.3.1  跟踪代码执行流程
6.3.2  动态更改代码
6.4  小结
第四部分 实战篇
第7 章  实战1:去除OPlayerLite 的广告
7.1  OPlayer Lite 简介
7.2  分析源代码结构,并定位广告横幅的代码
7.2.1  class-dump 获取.h 文件
7.2.2  猜测广告横幅的出现位置
7.2.3  分析PlayViewController.h
7.3  去除广告横幅,节省流量
7.3.1  找到"准备"广告的位置
7.3.2  追溯到网络连接的起点
7.4  编写调试代码
7.4.1  编写Tweak_OPlayerLite.xm
7.4.2  编辑control
7.4.3  编辑RemoveOPlayerAds.plist
7.4.4  编辑Makefile
7.4.5  编译+ 打包
7.4.6  安装
7.5  调试去广告插件
7.6  代码结果整理
7.7  小结
第8 章  实战2:WhatsApp消息拦截
8.1  WhatsApp 简介
8.2  分析源代码结构,并定位监听点
8.2.1  class-dump 获取.h 文件
8.2.2  导入Xcode
8.2.3  找到WhatsAppAppDelegate
8.2.4  找到ChatManager
8.3  编写调试代码
8.3.1  分析函数列表
8.3.2  编写Tweak_WhatsApp.xm
8.3.3  编辑control
8.3.4  编辑monitor.plist
8.3.5  编辑Makefile
8.3.6  编译+打包
8.3.7  安装
8.4  调试运行监听插件
8.4.1  运行WhatsApp,SSH 连接
8.4.2  发送/ 接收消息,监控日志
8.4.3  保存数据
8.5  代码结果整理
8.6  小结
第9 章  实战3:Instagram 图片保存
9.1  Instagram 简介
9.2  分析源代码结构,并定位图片展示点
9.2.1  用class-dump获取.h 文件
9.2.2  导入Xcode
9.2.3  找到AppDelegate
9.2.4  注入Reveal
9.2.5  寻找图片页相关class
9.3  保存图片
9.3.1  尝试保存图片
9.3.2  对.h 文件进行瘦身
9.3.3  编译测试
9.4  弹出提示菜单
9.4.1  弹出菜单代码
9.4.2  使用Theos 新增函数
9.4.3  使用runtime 新增函数
9.5  代码结果整理
9.6  小结
第10 章 实战4:iOS 电话操作
10.1  常用电话操作
10.2  分析源代码结构,并定位电话操作的代码
10.2.1  class-dump 获取.h 文件
10.2.2  寻找拨打电话的函数
10.2.3  寻找接听电话的函数
10.2.4  寻找挂断电话的函数
10.2.5  寻找删除通话记录的函数
10.2.6  寻找拦截电话的方法
10.3  编写调试代码
10.3.1  编写Tweak_PhoneOperation.xm
10.3.2  编辑control
10.3.3  编辑PhoneOperation.plist
10.3.4  编辑Makefile
10.3.5  编译+ 打包+ 安装
10.4  调试电话操作插件
10.5  代码结果整理
10.6  小结
越狱开发一览
沙箱逃脱
编写tweak--新时代的hacking

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证