我正在(尝试)学习开发越狱调整。目标是在应用程序中摆脱越狱保护(拒绝与越狱一起工作)。
我已经对应用程序进行了反编译,并将以下代码标识为“越狱检查”:
v24 = objc_msgSend(&OBJC_CLASS___NSMutableDictionary, "new");
v0 = "defaultManager";
v1 = objc_msgSend(&OBJC_CLASS___NSFileManager, "defaultManager");
v2 = objc_retainAutoreleasedReturnValue(v1);
v3 = (void *)v2;
v23 = v2;
v4 = (int)"stringWithFormat:";
v5 = objc_msgSend(
&OBJC_CLASS___NSString,
"stringWithFormat:",
CFSTR("/%@%@%@%@%@%@%@"),
CFSTR("App"),
CFSTR("lic"),
CFSTR("ati"),
CFSTR("ons/"),
CFSTR("Cyd"),
CFSTR("ia."),
CFSTR("app"));
v6 = objc_retainAutoreleasedReturnValue(v5);
v7 = v6;
v8 = objc_msgSend(v3, "fileExistsAtPath:", v6);
if ( (unsigned __int8)v8 )
{
v9 = 1;
v10 = 0;
v21 = v8;
v11 = 0;
v22 = (void *)v8;
}应用程序检查/Applications/Cydia.app是否存在
下面是Tweak.xm的代码:
%hook NSFileManager
- (BOOL)fileExistsAtPath:(NSString *)path{
if ([path rangeOfString:@"cydia"].location == NSNotFound) {
return %orig (path);
} else {
%log
return FALSE;
}
}
%end尽管我可以从syslog中看到正在检查其他文件,但我没有看到我们正在检查/Applications/Cydia.app。这是不是我的代码有问题,或者仅仅是因为其他原因,这段代码从来没有执行过?
发布于 2019-05-03 20:59:13
您只需更改“越狱检查”方法即可什么也不做。
%hook ClassName
- (void)jailbreakCheck {
}
%endhttps://stackoverflow.com/questions/29512104
复制相似问题