• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 我可以在越狱调整中添加一个 entitlements.plist 吗?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:26:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想限制越狱调整接收的资源访问权限。诸如网络/钥匙串(keychain)/位置访问之类的东西...是否可以在每次调整时手动添加权利 plist?

非常感谢。



Best Answer-推荐答案


Tweak 是一个 dylib - 它将在一个进程中加载​​。该过程可能具有权利,这些权利将用于调整。而已。 Tweak 没有自己的权利。

至于你的问题。因为我之前说过,你不能只限制一个调整——你的限制将应用于正在调整的整个过程。你对此无能为力。这就是调整的工作方式——它们是动态加载到进程地址空间的动态库。之后,调整成为该过程的一部分。因此,任何限制都将应用于整个过程,包括调整、应用程序代码和任何其他 dylib/框架应用程序链接到。

因此,如果您想开发一个可以帮助用户限制调整的应用程序,我认为您做不到这样的事情。您可以做的是分析正在调整哪些应用程序,它们有哪些权利,调整使用了哪些框架和 dylib(主要是私有(private)的)。并且该用户可以启用或禁用该调整。您甚至可以分析调整的导入部分和字符串文字,以确定它使用了哪些 API。

更新

Could you explain to me how a native process communicates with a tweak, before being loaded within the process space?

它没有。在注入(inject)之前,tweak 是一个单独的 dylib,它没有链接到任何二进制文件。 CydiaSubstrate 完成所有的注入(inject)。 CydiaSubstrate 的主要部分是一个特殊的加载器 dylib。它动态链接到设备启动时的 launchd 进程,该进程是 iOS 中启动所有其他进程的第一个进程。当产生一个新进程时,CydiaSubstrate 加载器 dylib 会检查所有的调整过滤器,以查看需要将哪些过滤器注入(inject)进程并注入(inject)它们。在将调整加载到进程地址空间(成为进程的一部分)并调用调整的构造函数之后,通常会在其中设置所有 Hook 。

Could you explain to me as to how this is accomplished?

假设您有一个包含 objc 类名、C/C++ 函数、框架和 dylib 的数组作为您想要检测的字符串使用情况。有简单的解决方案。您可以打开tweak 的文件并在其中搜索任何匹配项。由于调整通常不是很大,因此不会花费太多时间。还有更困难的解决方案。使用 dyld 或任何其他 API 来解析 mach-o 部分以查找导入的符号和字符串文字,然后在它们中搜索任何匹配项。

关于ios - 我可以在越狱调整中添加一个 entitlements.plist 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664169/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap