越狱环境搭建

iOS | 越狱环境搭建 | Objective-C

1.准备

  • 调试设备:
    1> 建议至少iPhone5s(因为从5s开始支持arm64架构)
    2> 或者至少是iPad Air、iPad mini2等支持arm64架构的设备

  • 系统版本:
    1> 版本不能太高,最好保证能够完美越狱
    2> 戳这里查看手机是否可以越狱
    选择系统版本 -> 选择设备 -> 查看是否支持越狱(最好支持完美越狱)

2.iOS Jailbreak(iOS越狱)

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

优点:

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

  • 自由安装非AppSore来源的APP
    1> “付费APP”秒变“免费APP”
    2> 未越狱iPhone安装APP的途径: AppStore、真机调试、通过证书打包签名ipa安装

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

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

缺点:

  • 不予保修
  • 费电,越狱后的iOS系统会常驻一些进程,耗电速度约提升10%~20%
  • 在新的iOS固件版本出来的时候,不能及时地进行更新
    1> 每个新版本的固件,都会修复上一个版本的越狱漏洞,使越狱失效
    2> 如果需要保持越狱状态,要等待新的越狱程序发布时,才能升级相应的固件版本
  • 不再受iOS系统默认的安全保护,容易被恶意软件攻击,个人隐私有被窃取的风险
  • 如果安装了不稳定的插件,容易让系统变得不稳定、变慢,甚至出现“白苹果”等问题

完美越狱:

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

不完美越狱:

  • iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态
  • 或者能正常开机,但已经安装的破解软件都无法正常使用,需要将设备与PC连接后,使用软件进行引导才能使用
  • 一般说来,在苹果发布新的iOS固件后,针对该固件的不完美越狱会先发布,随后完美越狱才可能发布
  • 一般较新的系统版本,均为不完美越狱

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

如何判断是否越狱成功?

  • 桌面是否有Cydia
    桌面是否有Cydia
  • 工具判断(eg. PP助手)
    工具判断(比如PP助手)

3.Cydia

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

2> 作者
Jay Freeman (saurik)
Cydia

Cydia安装软件的步骤:
1>添加软件源(不同软件的软件源可能不同)
添加软件源
2>进入软件源找到对应的软件,开始安装
安装软件

SpringBoard

  • SpringBoard就是iOS的桌面
  • 有时候通过Cydia安装完插件后,可能会出现以下界面
    重启SpringBoard

4.必备软件安装

Apple File Conduit “2”


AppSync Unified

  • AppSync Unified补丁的作用:
    1> 可以绕过系统验证,随意安装、运行破解的ipa安装包
  • 软件源:
    1> http://apt.25pp.com
    AppSync Unified

iFile


PP助手

  • PP助手的作用:
    1> 可以利用PP助手自由安装海量APP
  • 软件源:
    1> http://apt.25pp.com/
    iFile

Mac必备:

  • iFunBox
    1> 管理文件系统

  • PP助手
    1> 自由安装海量APP
    2> 卸载APP
    3> 备份APP为ipa安装包(iOS9开始,不再支持备份APP)


建议安装顺序:
建议安装顺序


安装包

  • 通常情况下
    1> 通过Cydia安装的安装包是deb格式的(结合软件包管理工具apt)
    2> 通过PP助手安装的安装包是ipa格式的
  • 如果通过Cydia源安装deb失败
    1> 可以先从网上下载deb格式的安装包
    2> 然后打开 iFunBox -> 文件系统,将deb安装包放到/var/root/Media/Cydia/AutoInstall
    3> 重启手机,Cydia就会自动安装deb
  • 比如,下图是iFile 2.2.0-1所需的deb安装包
    点击下载iFile安装包
    iFile安装包安装

5.如何在iOS代码中判断设备是否越狱?

1> 针对不同iOS版本的判断方法可能不一样
2> 最简单的一种方法:判断手机上是否安装了Cydia

1
[[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"];

当然,不同系统版本判断方法可能不太一样,仅用这个方法判断是不严谨的,如果需要更完善的方法的同学们可自行谷歌