我已经搜索了 2 天以防止我的应用越狱设备,我找到了,问题是我仍然可以使用操作系统 Hook 我的类并覆盖越狱检查功能。
您是否有任何经过验证的想法、框架、库或其他东西?
最佳答案
您可以使用 dyld为此。
_dyld_image_count
返回加载到您的应用程序地址空间中的动态库的数量。然后您可以使用 _dyld_get_image_name
检查动态库路径来遍历它们。这样您就可以确定 CydiaSubstrate 库或任何路径未知的动态库是否已加载到您的应用程序中。
当然,有了越狱,即使这些功能也可以被 Hook ,我认为您对此无能为力。 Arxan 声称它可以用它做一些事情,但即使它检测到某些东西,你也可以随时 Hook 它用于检测的任何函数。 CydiaSubstrate 调整总是领先一步,因为它们是在调用 main
之前加载的。因此它可以在构造函数中 Hook 它想要的一切,而你对此无能为力。
如果没有越狱,加载恶意库的唯一方法是修改和退出您的应用程序,以便它链接到库。如果没有越狱,您将无法挂接 C 函数,因此 _dyld_get_image_name
将能够检测到该库。
关于ios - 如何防止 iOS 应用程序 Hook theOS 或其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33930944/