越狱检测的必要性
在iOS的安全防护中,对手机越狱的检测是十分必要的。
如果发现手机是越狱的,那我们要对我们的应用做一些防护措施,如在支付宝会关闭指纹支付,只能密码支付;微信会关闭人脸支付;某些app甚至会不允许在越狱手机上使用。
越狱检测
下面介绍如何通过环境变量 DYLD_INSERT_LIBRARIES 来进行越狱检测:
//通过环境变量进行越狱检测
char *dlname = getenv("DYLD_INSERT_LIBRARIES");
if (dlname) {
//越狱手机,关闭部分功能
} else {
//非越狱手机
}
非越狱手机上获取的dlname为NULL,如下图:
截屏2020-11-04上午9.25.36.png
越狱手机上获取的dlname为某个动态库,如下图:
截屏2020-11-04上午9.34.37.png
检测原理
手机越狱后大部分会伴随着如Cydia等越狱商店的安装,这些越狱商店包含动态注入的功能,以使越狱商店中的插件可以安装到对应的app。
网友评论