最佳答案深入剖析MobileSubstrate 什么是MobileSubstrate? MobileSubstrate 是一个开源框架,允许开发者在不破坏 iOS 系统完整性的情况下对操作系统进行修改。 它可以理解为一个在进程...
深入剖析MobileSubstrate
什么是MobileSubstrate?
MobileSubstrate 是一个开源框架,允许开发者在不破坏 iOS 系统完整性的情况下对操作系统进行修改。 它可以理解为一个在进程间劫持和修改类库/共享库级别 API 的工具集合。正是由于 MobileSubstrate 的引入,使得很多 iOS 上的越狱(Jailbreak)开发成为可能。 除了 MobileSubstrate,还有一个应用程序 Called Cydia (同样是越狱才能使用),它可以让开发者可以把他们的 MobileSubstrate 扩展提交到 Cydia “上架”,供所有使用越狱的 iOS 用户下载使用。MobileSubstrate 的原理时是什么?
MobileSubstrate 的基本原理是 Hook。 Hook 是一种通用的编程技术,是指改变其他程序或应用程序的行为的能力。 具体说,一般来说,他指改变指令或函数的能力。 在 Apple iOS 环境中,执行该行为的代码是 MobileSubstrate。在一些 iOS 的版本中可以通过其他的 Hack 来实现这种行为,但最推荐的还是使用 MobileSubstrate。它通过动态的修改注入进去的 Mach-O 文件中的符号,来使得符号的实现产生变化。 因此,在程序运行时,应用程序会调用替换后的符号实现,从而达到 Hook 的效果。MobileSubstrate 的应用场景有哪些?
有很多的第三方开发者利用 MobileSubstrate 进行了各类系统深度级别的修改,这里就分享几例不同的操作系统层扩展。 Anemone —— 根据用户的需要,对 iOS 主屏幕外观进行修改,支持类似 SpringBoard 定制、图标形状修改、应用程序深度定制等功能。 iCleaner Pro —— 对系统进程、缓存和文件进行深入清理,提供类似 CC cleaner 的功能。 Activator —— 对系统动作、手势进行修改,使得用户可以实现比较个性化的手机操作,包括开机自启、物理操作(比如按键)与应用快捷操作等等 总体来说,多数 MobileSubstrate 的扩展都比较适用于系统级的个性化、定制修改等操作,有趣的是这样的扩展可能会对现有的应用程序产生影响。例如,您可以开发一个 MobileSubstrate 扩展实现强制将所有的应用程序置顶等等。 MobileSubstrate 是一个很重要的 iOS 扩展开发场景,其可以允许开发者在不破坏 iOS 系统完整性的情况下,以 Hook 的方式修改应用程序。由此,也意味着任何应用程序都可能受到 MobileSubstrate 的影响。那么,随之加入各种开发的 MobileSubstrate 扩展又会带来怎样的风险?这可以另话题探讨,所以建议在越狱时,小心谨慎。版权声明:本文内容/及图片/由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭/侵权/违法违规的内容, 请发送邮件至 3237157959@qq.com 举报,一经查实,本站将立刻删除。