iOS逆向之使用unc0ver越狱 iOS13.5
前言
因为工作需要,笔者最近在研究越狱,网上看了很多文章,这篇文章记录了给iOS 13设备越狱的方式和过程,希望对你有帮助。
- 越狱设备:iPhone 6s 16G
- 越狱系统:iOS 13.5
- 越狱方式:unc0ver 本文采用Xcode + iOS App Signer的方式对iOS 13.5设备进行越狱。详见unc0ver官方网站:https://unc0ver.dev/。其主要操作步骤如下图,本文是对下述官网步骤的实践。
越狱步骤
- 使用付费App ID导出一个证书和描述文件。如下图1是导出的证书(.p12)和描述文件(.mobileprovision),双击安装即可:
注意:
通过iOS App Signer重签名unc0ver需要付费证书(p12文件)和描述文件。不能使用个人free apple ID进行重签。 导出证书的步骤:
1.选中图2的Devices
选项卡。把iDevices设备的UDID添加到Apple ID账号下(如果已经添加过则忽略)。
2.选中图2的Certificates
选项卡。创建一个Apple Distribution证书(非Development)然后下载并导出一个.p12文件。过程中需要macOS钥匙串导出macOS的公钥证书并上传,如图3。
3.选中图2的Identifiers
选项卡。添加一个Bundle ID。
4.选中图2的Profiles
选项卡。生成一个包含以上设备、证书、Bundle ID的描述文件并下载下来。
5.双击安装.p12和描述文件。
- unc0ver官网下载unc0ver v5.2.0的ipa包,如下图:
- 然后下载iOS App Signer并安装到macOS。iOS App Signer的作用是对上面下载的unc0ver ipa进行重签名。
注意:
需要使用Apple Distribution证书而非Development证书。如下图:
- 打开macOS安装的iOS App Signer,如下图。Input File是unc0ver ipa的路径;Signing Certificate是.p12文件路径;Provisioning Profile是描述文件路径。
使用iOS App Signer重签后会生成一个新的ipa文件。使用Xcode安装这个ipa文件到手机上即可。如下图6、7
判断越狱
判断iOS设备是否越狱的方式又多种,此处列举常用的方式:
- 一般越狱成功后设备会有一个名为Cydia的应用。代表越狱成功。
- 也可以手机连接电脑使用电脑端pp助手、爱思助手、itools助手等工具可以查看设备是否越狱。
Cydia无法联网
手机安装乐网app,打开乐网APP开启网络代理即可解决问题
乐网安装方式:手机连接电脑,通过电脑端爱思助手给手机安装乐网
Cydia 是什么
Cydia是iOS越狱商店,类似于于苹果官方的的App Store。不过Cydia通常是用了安装第三方插件。补丁,而非APP。和App Store不同的是:App Store的安装包是ipa格式,Cydia安装的包都是deb格式的。App Store下载的App安装在/var/mobile/Container/Bundle/Application下,而系统自身的App和越狱商店安装的App安装在/Applications下。
题外话,Cydia作者是Jay freeman,在iOS11 及其之后,Jay freeman宣布不再维护Cydia。
参考文章
https://mrmad.com.tw/unc0ver-ios13-jb
unc0ver 4.0 中文越狱方法教程 (无开发者账号): https://mp.weixin.qq.com/s/lhb-JFcQObTY4wf0zv39ng
https://www.iplaysoft.com/p/unc0ver
- 打造一个属于自己的 server
- 一款不可多得的火柴时钟
- 常见端口转发工具的使用方式(二)
- 如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
- 打造炫酷的通知插件EasyToaster
- 世界智能驾驶挑战赛信息安全组——新人扫盲
- 如何在CDH启用Kerberos的情况下安装及使用Sentry(二)
- 如何用 vue 制作一个探探滑动组件
- 常见端口转发工具的使用方式
- Ubuntu on Windows10 跨平台开发环境搭建权威指南
- 如何实现CDH元数据库MySQL的主备
- 通过Java程序提交通用Mapreduce无法回收类的问题
- 如何在CDH未启用认证的情况下安装及使用Sentry
- 小白也能玩转无线安全(一)——硬件&工具入门篇
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释