元始天尊 发表于 2021-7-31 17:03:41

越狱开发初级之iPhone手机越狱

本帖最后由 lichao 于 2023-12-24 15:23 编辑



# iOS系统越狱方式浅谈

  在前面几篇文章中,笔者始终有一个重要问题未做说明,因为该系列都是以越狱环境做开发,那么到底如何越狱呢?下面就以如何越狱,以及越狱中遇到的诸多问题展开讨论。

## 越狱基础知识

&emsp;&emsp;越狱工具,是利用漏洞获取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>   
&emsp;&emsp;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)
```

## 越狱工具的安装

&emsp;&emsp;以上谈到了如何获取越狱工具,下面来谈如何安装IPA。苹果系统在非越狱状态下,安装的任何App都要对IPA做签名才可以安装。苹果的签名有以下几种
* 个人签,年费99美元,设备数限制为100,有效期1年
* 企业签,年费299美元,无设备数限制,只能公司内部使用不能发布到AppStore,安装后需手动信任证书

&emsp;&emsp;由此,IPA的安装也有以下方式
* 下载企业签版App,直接安装即可(Safari下载IPA——信任企业签——安装成功)。这种方式无需考虑签名问题,但是由于经常被举报导致企业签掉签,从而无法下载安装。
* 若越狱工具提供源码,那么可以用XCode编译出IPA,使用自己的appid签名安装即可
* 若越狱工具不提供源码,那么下载其包含的IPA,然后用CydiaImpactor/AltDeploy/AltStore进行签名。此类工具需要用到苹果账号
* 如果使用Checkra1n,那么只需要将手机使用USB连电脑进行安装即可,整个过程较为简单且失败率接近0

### CydiaImpactor使用

&emsp;&emsp;支持Windows/Linux/Mac。下载安装<http://www.cydiaimpactor.com>,将手机通过USB连接电脑,CydiaImpactor菜单——设备——安装App,输入苹果账号密码即可自动安装。注意如果苹果账号开启了两步验证那么需要输入的不是密码而是16位App专用密码,App专用密码在这里生成:<https://appleid.apple.com/account/manage>。笔者一直使用该工具安装IPA。

## AltStore使用

&emsp;&emsp;支持Windows/Mac。下载安装<https://altstore.io>,将手机通过USB连接电脑,在AltServer中安装AltStore,在手机中输入苹果账号,AltStore便安装于手机中,在AltStore中安装IPA即可。

### AltDeploy使用

&emsp;&emsp;支持Mac。下载安装<https://github.com/pixelomer/AltDeploy/releases>,将手机通过USB连接电脑,打开Mac自带邮箱App,然后输入苹果账号安装IPA。AltDeploy是基于AltStore开发的,与AltStore不同的是AltStore运行在手机端,更方便一些。

### 重签&续签

&emsp;&emsp;签名快到期时需要进行重签,避免过期了无法运行App。AltStore可以进行手动重签。而Reprovision(Cydia里安装)可以自动续签。

## 第三方UDID签

&emsp;&emsp;此类在线服务不需要电脑只需要iPhone就可以签名,此类工具是整合了多个开发者账号做成的,按月按设备收费,通常一个月几十块钱比较贵,在2020年前后比较火,github上有项目可以自动搭建这种呢udid签平台

## SideLoadly

&emsp;&emsp;用侧载技术签名IPA,支持USB&Wifi连接手机进行签名,支持iOS7以上的系统,只需要一个AppID账号即可。方便且免费

## TrollStore

&emsp;&emsp;利用15.x系统漏洞进行永久签,是个IPA,需要先用AppID将自身IPA安装到iOS系统(需要电脑),然后就可无限制签名任意App。支持iOS14-15系统

## 轻松签/全能签等

&emsp;&emsp;利用TrollStore做成的第三方服务,无需电脑,支持iOS14-15系统


页: [1]
查看完整版本: 越狱开发初级之iPhone手机越狱