如何防止 iOS 应用挂钩 theOS 或其他应用

How to Prevent iOS app from hook theOS or others

我已经搜索了 2 天以防止我的应用越狱设备,我找到了,问题是我仍然可以挂钩我的 class 使用操作系统并覆盖越狱检查功能。

您是否有任何经过验证的想法、框架、库或其他东西?

您可以使用 dyld

_dyld_image_countreturns多个动态库加载到你的应用地址space。然后您可以使用 _dyld_get_image_name 检查动态库路径来遍历它们。这样您就可以确定是否将 CydiaSubstrate 库或任何路径未知的动态库加载到您的应用程序中。

当然,通过越狱,即使是那些功能也可以挂钩,我认为您对此无能为力。 Arxan 声称它可以用它做一些事情,但即使它检测到某些东西,你也可以随时挂钩它用于检测的任何函数。 CydiaSubstrate 调整总是领先一步,因为它们是在调用 main 之前加载的。因此它可以在构造函数中挂钩它想要的一切,而你对此无能为力。

如果没有越狱,加载恶意库的唯一方法是修改并退出您的应用程序,以便它链接到库。如果没有越狱,您将无法挂接 C 函数,因此 _dyld_get_image_name 将能够检测到该库。