越狱开发初级之iPhone手机越狱
本帖最后由 lichao 于 2024-10-16 00:40 编辑# iOS系统越狱方式浅谈
  在前面几篇文章中,笔者始终有一个重要问题未做说明,因为该系列都是以越狱环境做开发,那么到底如何越狱呢?下面就以如何越狱,以及越狱中遇到的诸多问题展开讨论。
## 越狱基础知识
  越狱工具,是利用漏洞获取iOS设备的root权限,从而控制系统。越狱工具安装后会释放必备命令(如dpkg,rm,kill,bash,...)和越狱应用商店(Cydia,Sileo),同时安装Hook框架(Substrate/Substitute)。 iOS10及以下的越狱均是完美越狱,而11及以上均为不完美越狱,每次重启后反越狱状态会掉。目前出现的越狱工具主要有3种安装方式:IPA签名安装,网页安装,USB安装,其中网页安装是利用iOS10的Safari漏洞,将越狱工具(如h3lix)安装到系统中。笔者目前使用的是Checkra1n,直接USB连接手机即可安装,无需考虑签名等问题。下表为iOS8以后的越狱工具统计,更详细的越狱工具可在这里查到<https://www.reddit.com/r/jailbreak><https://www.theiphonewiki.com>
  Hook框架(Substrate/Substitute),实现了C函数的内联Hook以及ObjC消息的Hook。Substitute本为Substrate的一个替代品,然而目前不太稳定,有很多函数会Hook失败,所以很多基于Substrate的软件,在Substitute下会崩溃。笔者用过Unc0ver和Checkra1n,Unc0ver默认安装Substitute,而Checkra1n默认安装Substrate。Substrate/Subtitute是打包在越狱工具中的,而除了这2个Hook框架以外,Frida内自带一套Hook框架,另外Dobby(前身Hookzz)是一款稳定性不错的的开源Hook框架(优于Substitute)(注1)。另外某些越狱工具内置了作者自己开发的hook框架。
* 越狱工具之间对Hook框架的争夺也是白热化,Unc0ver越狱后,会强制屏蔽掉dlsym获取MSHookFunction函数,即便用户手动加载了Substrate或者Hookzz,也会获取不到函数!!!,这波操作太骚
## 3年内常见越狱工具一览
|越狱工具 |安装方式 |适配系统|网址 |
|-----------------|-------|---------|----------------------------------|
|Pangu |IPA |8/9 |http://www.pangu.io |
|Yalu |IPA |8/10 |http://yalu.qwertyoruiop.com |
|Meridan |IPA |10 ARM64 |http://meridian.sparkes.zone |
|TotallyNotSpyware|网页 |10 ARM64 |http://totally-not.spyware.lol |
|H3lix |IPA |10 ARM |http://h3lix.tihmstar.net |
|doubleH3lix |IPA |10 ARM64 |http://doubleh3lix.tihmstar.net |
|Electra |IPA |11 |http://coolstar.org/electra |
|Chimera |IPA |12/13 |http://chimera.coolstar.org |
|Odyssey |IPA |13 |http://theodyssey.dev |
|Taurine |IPA |14 |http://taurine.app |
|Unc0ver |IPA |11-14 |http://www.unc0ver.dev |
|Checkra1n |USB |12-14 ARM64|http://checkra.in |
|Palera1n |USB |15-16 ARM64|https://palera.in/ |
|Dopamine |TIPA |15-16 ARM64e|https://ellekit.space/dopamine/ |
|Fugu |IPA |13/14/15 ARM64e|https://github.com/pinauten/Fugu15|
|Xina |IPA |15 ARM64e|https://github.com/NotDarkn/XinaA15|
注意: Palera1n支持有根和无根越狱,支持A12以下(6S-X)的设备;Dopamine只支持无根越狱,支持A12及以上(XR-?)的设备
### 提供企业签越狱工具的网站
```
https://app.ignition.fun
https://next.tweakboxapp.com
https://geekben.org/apps
https://www.niqiuge.com/pc/yy/index.php?id=1
https://app.initnil.com/
http://jabizb.cn/
https://erjihui.vip/
https://yueyu.cydiavip.com/
https://app.ambier.cn/#/ios
https://www.cydialmg.vip/yueyu/
https://www.niqiuge.com
http://jb.aptso.cn/
https://app.nk8686.com/
https://yueyu.cydiami.com/
https://www.limufang.com/post/509.html#i-5
http://kzddck.cn/cer/
```
### 网页越狱(iOS9-10)
```
http://ai.id64.com/jian/ios10/index.html (10 64bit)
http://ai.id64.com/jian/xia/doubleH3lix/index.html (10 64bit)
http://ai.id64.com/jian/tiao1/H3lix/index.html (10 32bit)
http://ai.id64.com/yyu/index.html (9.2-9.3)
http://jb92.i4.cn (9.2-9.3)
```
## 越狱工具的安装
  以上谈到了如何获取越狱工具,下面来谈如何安装IPA。苹果系统在非越狱状态下,安装的任何App都要对IPA做签名才可以安装。苹果的签名有以下几种
* 个人签,年费99美元,设备数限制为100,有效期1年
* 企业签,年费299美元,无设备数限制,只能公司内部使用不能发布到AppStore,安装后需手动信任证书
  由此,IPA的安装也有以下方式
* 下载企业签版App,直接安装即可(Safari下载IPA——信任企业签——安装成功)。这种方式无需考虑签名问题,但是由于经常被举报导致企业签掉签,从而无法下载安装。
* 若越狱工具提供源码,那么可以用XCode编译出IPA,使用自己的appid签名安装即可
* 若越狱工具不提供源码,那么下载其包含的IPA,然后用CydiaImpactor/AltDeploy/AltStore进行签名。此类工具需要用到苹果账号
* 如果使用Checkra1n,那么只需要将手机使用USB连电脑进行安装即可,整个过程较为简单且失败率接近0
### CydiaImpactor使用
  支持Windows/Linux/Mac。下载安装<http://www.cydiaimpactor.com>,将手机通过USB连接电脑,CydiaImpactor菜单——设备——安装App,输入苹果账号密码即可自动安装。注意如果苹果账号开启了两步验证那么需要输入的不是密码而是16位App专用密码,App专用密码在这里生成:<https://appleid.apple.com/account/manage>。笔者一直使用该工具安装IPA。
## AltStore使用
  支持Windows/Mac。下载安装<https://altstore.io>,将手机通过USB连接电脑,在AltServer中安装AltStore,在手机中输入苹果账号,AltStore便安装于手机中,在AltStore中安装IPA即可。
### AltDeploy使用
  支持Mac。下载安装<https://github.com/pixelomer/AltDeploy/releases>,将手机通过USB连接电脑,打开Mac自带邮箱App,然后输入苹果账号安装IPA。AltDeploy是基于AltStore开发的,与AltStore不同的是AltStore运行在手机端,更方便一些。
### 重签&续签
  签名快到期时需要进行重签,避免过期了无法运行App。AltStore可以进行手动重签。而Reprovision(Cydia里安装)可以自动续签。
## 第三方UDID签
  此类在线服务不需要电脑只需要iPhone就可以签名,此类工具是整合了多个开发者账号做成的,按月按设备收费,通常一个月几十块钱比较贵,在2020年前后比较火,github上有项目可以自动搭建这种呢udid签平台
## SideLoadly
  用侧载技术签名IPA,支持USB&Wifi连接手机进行签名,支持iOS7以上的系统,只需要一个AppID账号即可。方便且免费
## TrollStore
  利用系统签名漏洞进行永久签,是个IPA,需要先用AppID将自身IPA安装到iOS系统(需要电脑),然后就可无限制签名任意App。支持iOS14-17.0系统
## 轻松签/全能签等
  利用TrollStore做成的第三方服务,无需电脑,支持iOS14-17.0系统
页:
[1]