神奇的问题,越狱注入沙盒App插件却影响到了系统进程

** 需求

完成正常 MobileSubstrate 注入插件到沙盒 App
(我做了个插件,通过 plist 过滤只注入到微信,但是却影响到了系统 App,导致部分系统 App 闪退)

** 日志

Safari

表现:直接闪退

*** Terminating app due to uncaught exception ‘CKException’, reason: ‘The application is missing required entitlement com.apple.developer.icloud-services’

MobileSMS

表现:无短信记录,启动后自动打开一个新建短信界面,然后闪退

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

Preference

表现:直接闪退

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSHomeKitUsageDescription key with a string value explaining to the user how the app uses this data.

其余内置 App 表现类似。

** 环境:

iOS: 10.3.3 (h3lix 32bit)(别的设备也收到影响)

为啥我注入到沙盒 App 却会影响到系统进程?这个要怎么恢复呢?

贴一个 *.plist 内容

{
	Filter = {
		Bundles = ("com.tencent.xin");
	};
}

我怀疑是这个越狱/& 越狱用的代码注入机制的问题

iOS 9 和 iOS 10 都出现这个问题,完美越狱也有这问题

hmmmmmmmm
首先你确定是你的插件被注入了吗。ctor里log一下看看。
如果确定是,那么会不会有其他的插件在加载你的dylib,可以在ctor里看下调用栈(Hopefully)

*** Terminating app due to uncaught exception ‘CKException’, reason: ‘The application is missing required entitlement com.apple.developer.icloud-services’
MobileSMS

表现:无短信记录,启动后自动打开一个新建短信界面,然后闪退

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

神秘, 那插件卸载后这些app恢复正常了嘛

插件卸载后 都不需要respring。立即恢复正常。。。我在插件里 ctor 里加了可执行文件的文件名判断,加载都是正常的,没有被注入到别的进程里

wtf…933也正常?

不正常,表现一样,只有 11 是正常的

是因为插件没签名吗
(或者因为腾讯和苹果不可告人的关系

代码有吗,有做什么奇怪的操作吗

我用 OpenDev 做的,一个xcode项目。而且如果注入沙盒app也干不了啥事儿吧

昨天把 OpenDev 重新安装了一遍,奇迹般得可以了。

可能是安装好了 OpenDev 后,又更新了一次 Xcode,破坏了 OpenDev 环境????

有知道的大佬可以解释一下么

1 个赞

咋不用Monkeydev.

MonkeyDev 不够我用。。。。。我自己写了个脚本代替 MonkeyDev 了。