有大佬研究过roothide如何检测吗?好像是搞了两个目录结构,把越狱的文件环境隐藏到了一个正常系统读不到(无遍历文件的权限)且名称随机的隐藏文件夹中,APP内获取到的目录和未越狱之前没有区别,这样靠文件检测越狱的方式就失效了。
另外我试了一下,如果在自己的APP中直接检测roothide的文件路径是可以检测到的,但关键问题在于这个路径是随机生成的,如果没有遍历父目录的权限是拿不到这个文件路径的。
我只有这个方案.
BOOL ret = [[LSApplicationWorkspace defaultWorkspace] openApplicationWithBundleID:@"com.opa334.Dopamine.roothide"];
if(ret){
NSLog(@"Install roothide");
}
我试过,但是一打开APP就跳到别的软件里不好。领导不同意
roothide 猪猪侠的东西
检测var/jb 目录
找不到/var/jb目录啊
猪猪侠是哪个,我看这个roothide就像是国人的作品
https://github.com/talsec/Free-RASP-iOS/tree/master 这个可以检测出roothide,但不知道怎么做到的
你更新下roothide版本,通过github编译下tipa, 这个检测sigs修复了;JailbreakDetector/main.m at 5b3d0be4faa8df4b7da8d21ccfc5f28809e079e7 · roothider/JailbreakDetector · GitHub
检测sigs我试了好像没什么效果啊。
判断preboot目录是否可写的方式很有启发。
XPC的检测方法只能iOS14以上使用(一开roothide就检测不到了),不确定稳定性怎么样,而且看着像是私有API,感觉上线有风险。
某duoduo线上就有这个xpc代码 放心用
duoduo好像啥都敢上吧,之前不是还有漏洞利用吗
这个试了好像也不行加到黑名单里就不生效了
您好,目前有新的方法推荐吗?
1、判断preboot时好时坏。
2、私有API的bootstrap_look_up,XPC和LSApplicationWorkspace倒是可以用,但是领导不允许用私有API。
3、这个.jbroot-XXXXX的路径,没有上层的可读权限,无法读取文件夹内容。直接遍历16^36的名称,数据量太大,又不可能。测试了几个银行的APP,只要RootHide配置黑名单后都无法检测越狱。而这个路径是一直存在的,如果这些银行的APP是检测这个目录的话,应该不是这种效果。感觉这条路也不通。
判断 注入的动态库呢
这样跟你说吧 读文件系统的方式 都会失效,因为他的原理就是重定向 文件路径,有点沙盒的意思
不注入动态库的情况下。
只是单纯判断是否越狱用于设备风险检测。
检测jit咯 但是 非越狱状态 就不准了
不注入+沙盒隔离,别人也做不了啥事吧。重点还是注入的时候把特征抓好