您可以使用私有API来挂接iOS中的系统函数调用吗?

 Try_he伊 发布于 2022-12-09 14:41

是否可以在非越狱设备上使用专用API来挂接iOS中的系统函数调用?据我所知,它可以在使用MobileSubstrate的越狱设备上实现MSHook

我想做到的是有一个应用程序,将在切换控制中心设备方向锁(拦截系统调用http://i.stack.imgur.com/NfbGw.png),并调用CTRegistrationSetCellularDataIsEnabled以切换蜂窝数据的使用。

到目前为止,我设法创建了一个能够做到这一点的iOS 8 Notification Center小部件,但是拥有一种从Control Center切换3G的方式不是很好吗?

显然,该应用程序仅供我个人使用。

1 个回答
  • 就以您描述它的方式完成这项任务而言…… ,我认为没有越狱的办法就没有任何方法。

    您可以自由使用方法杂乱无章地将iOS方法挂接到个人使用的非越狱应用程序中。但是,这限制了您挂接从应用程序调用的代码。换句话说,如果您的应用调用了iOS框架,则可以通过这种方式来混淆方法。

    但是,控制中心和SpringBoard并不是您应用程序的一部分。Mobile Substrate(Cydia Substrate)的优点在于,它确实允许您将钩子注入未在应用程序的进程中运行的代码中。但是,如果没有越狱,它是不可用的。

    插入也是挂钩C API的类似技术,但同样需要越狱。

    在您是否可以成功调用方面CTRegistrationSetCellularDataIsEnabled,这可能是值得提出的问题。我猜想您可以通过动态打开CoreTelephony.framework来调用它,就像许多私有API一样。(请参阅此处以查看样本)

    但是,即使您可以调用它,但如果它受权利保护,则调用也可能不会成功,这是不越狱就无法得到的另一件事。

    注意:我还尝试调查iOS是否生成了任何在方向锁定切换时可以拦截的达尔文通知,以及是否存在可以键值观察锁定状态变化的属性...但是,没有?找不到任何可以替代您问题的解决方案。

    2022-12-11 02:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有