iOS逆向学习笔记(一)

1.调试设备
iPhone 5S(因为从5S开始支持arm64)
2.系统版本
iOS 9.1完美越狱

1.什么是iOS Jailbreak?

利用iOS系统的漏洞,获取iOS系统的最高权限(Root),解开之前的各种限制(合法行为)

2.iOS Jailbreak的优点

  • 打造个性化、与众不同的iPhone
    自由安装各种实用的插件、主题、APP
    修改系统APP的一些默认行为

  • 自由安装非AppSore来源的APP
    “付费APP”秒变“免费APP”
    未越狱iPhone安装APP的途径

  • AppStore
    真机调试
    通过证书打包签名ipa安装

  • 灵活管理文件系统,让iPhone可以像U盘那样灵活

  • 给开发者提供了逆向工程的环境

3.iOS Jailbreak的缺点

  • 不予保修

  • 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%~20%

  • 在新的iOS固件版本出来的时候,不能及时地进行更新

  • 每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效

  • 如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本

  • 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险

  • 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现“白苹果”等问题

4.完美越狱和不完美越狱

  • 完美越狱
    越狱后的iPhone可以正常关机和重启

  • 不完美越狱
    iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用

  • 一般说来,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布
    一般较新的系统版本,均为不完美越狱

  • 越狱方法推荐
    PP助手:http://jailbreak.25pp.com/

5.如何判断是否越狱成功?

  • 桌面是否有Cydia
  • 工具判断(比如PP助手)
  • 如何在iOS代码中判断设备是否越狱?
- (bool) test{
    return [[NSFileManager defaultManager]fileExistsAtPath:@"/Applications/Cydia.app"];
}

6.Cydia

  • 越狱后的“App Store”
    可以在Cydia中安装各种第三方的软件(插件、补丁、APP)

  • 作者
    Jay Freeman (saurik)。
    自2018年12月,saurik源已经不能下载未购买过的软件。

7.Cydia安装软件的步骤

1.添加软件源
如:http://apt.saurik.com
http://apt.25pp.com
http://apt.thebigboss.org/repofiles/cydia (使用PP助手越狱会自带)
2.进入软件源找到相应的软件进行安装

8.SpringBoard

  • 通过Cydia安装完插件后,有时需要重启SpringBoard.
  • SpringBoard就是iOS的桌面

9 .Apple File Conduit “2”

  • 含义:苹果文件传输管道,是一个iOS补丁
  • 作用:可以访问整个iOS设备的文件系统(未使用补丁前,仅可访问部分文件,使用后可以访问Root等全部文件)
  • 类似的补丁还有:afc2、afc2add

10.AppSync Unified

  • 含义:软件同步统一 ,是一个iOS补丁
  • 作用:可以绕过系统验证,随意安装、运行破解的ipa安装包

11.iFile

  • 含义:文件管理软件
  • 作用:可以在iPhone上自由访问iOS文件系统
  • 类似功能软件:Filza File Manager、File Browser

12.MAC必备

  • iFunBox

    作用:管理iPhone文件系统

  • PP助手

    作用:自由安装海量APP、卸载APP、备份APP为ipa安装包(iOS9开始,不再支持备份APP)

13.安装顺序

iPhone

Cydia
Apple File Conduit 2
AppSyn Unified
iFile
PP助手

Mac

iFunBox
PP助手

14.安装包

  • 通常情况下

通过Cydia安装的安装包是deb格式的
通过PP助手安装的安装包是ipa格式的

Cydia:可以安装插件+应用
PP助手:只可以安装应用

  • 如果通过Cydia源安装deb失败

这种情况,包括出现无法购买或者安装出错。
可以先从网上下载deb格式的安装包
然后将deb安装包放到/var/root/Media/Cydia/AutoInstall (这个文件没有的话需要自己建立)
重启手机,Cydia就会自动安装deb

你可能感兴趣的:(iOS,逆向开发)