Quantcast
Channel: 睿论坛 - 最新话题
Viewing all articles
Browse latest Browse all 5702

分享一个 iOS 13.5 beta 3 以前免越狱的国行 Cellular 网络修复方案

$
0
0

@Soulghost wrote:

背景

前几天 @Lakr233 的 Protein 被群里的暴躁老哥吐槽国行机器网络设置问题 ,于是 Lakr 就让我去看看连个锤子的实现,并把它集成到 Protein 里来做网络修复。

过程

对连个锤子简单分析可知,有两个核心类 AppWirelessDataUsageManager 和 PSAppDataUsagePolicyCache 用于管理 App 的网络权限,在 iOS 12 之后使用的是后者。

我们只需要加载特定的 PrivateFramework,然后执行相应的设置操作即可。

但这里有个问题,在 userland 去做这样的设置需要什么样的前提条件,可能是 uid 也可能是 ent,经过分析和实验发现核心问题在于 ent,我们只要给 App 签上如下的 ent 就可以操作私有类去设置 App 的网络权限了:

<key>com.apple.CommCenter.fine-grained</key>
<array>
    <string>spi</string>
    <string>phone</string>
    <string>identity</string>
    <string>data-usage</string>
    <string>data-allowed</string>
    <string>data-allowed-write</string>
</array>

设置方法也非常的直截了当:

[[c(PSAppDataUsagePolicyCache) sharedInstance] setUsagePoliciesForBundle:bundleId
                                               cellular:YES
                                               wifi:YES];

非越狱

越狱情况下可以轻易的给一个 binary 签上上面的 ent 来达到效果,非越狱则可以利用 Siguza 先前公布的 0day 结合 @ChiChou 大佬的签名脚本配合实现,iOS 13.4.5 beta 3 之前可食用。

项目在此:

Posts: 5

Participants: 3

Read full topic


Viewing all articles
Browse latest Browse all 5702

Trending Articles