tuancc
(iOS越狱交流群703156427)
1
测试过ios13可获取到boothash, ios14应该也可以(之前写错了/var, 应该是/才对)
#include <sys/mount.h>
struct statfs buf;
statfs("/", &buf);
NSLog(@"%s", buf.f_mntfromname);
char* prefix = "com.apple.os.update-";
if(strstr(buf.f_mntfromname, prefix)) {
NSLog(@"未越狱, 设备唯一识别码=%s", buf.f_mntfromname+strlen(prefix));
} else {
NSLog(@"已越狱, 没有设备唯一识别码");
}
如何防止statfs被hook:
statfs是一个bsd内核调用, 直接使用svc 80指令
如何防止svc指令被hook:
随机寻找系统模块中的一个svc指令, 然后BL跳转过去执行.
14 个赞
sailor
(韭菜的自我修养)
2
让我想起来之前逆灯塔,里面也会通过类似 stat -f 等命令去获取文件系统的某些信息
nu11
(null)
5
iOS13.3貌似不太行,为啥直接跳到越狱那行去了。
可以获取到了,但是不方便抹机测试.大佬厉害.
顺便试了试m1上运行,获取不到.越狱过的 12.5.1 获取不到.
1 个赞
tuancc
(iOS越狱交流群703156427)
16
是什么ios版本呢, 越狱后肯定获取不到所有可以检测越狱
越狱会绕过 APFS Snapshot 加载机制使其挂载真正的文件系统 /dev/disk0s1s1 到 /
而M1应该是没有优先挂载 Snapshot 到 /机制. 这个检测应该是支持iOS 11.3以上
https://juejin.cn/post/6844904116272316424#heading-3
2 个赞
44269597
(bluebruce)
23
那在越狱情况下,有什么办法可以读取这个设备唯一识别码么?