请问,大家都用什么方法检测越狱,讨论一下呗…
!说出来你再去写个反越狱检测岂不是越狱检测方法就失效了
1 个赞
#include <ctime>
#include <cstdlib>
.....
-(BOOL)isJailbreak{
srand(time(NULL));
if(rand()%2==0){
return YES;
}
return NO;
}
.....
2 个赞
你这个引入的好几个头文件,我感觉我这个更优雅
+ (BOOL)isJailbreak {
return (NSDate.date.timeIntervalSince1970 % 10) == 0; // 10% devices is jailbreak
}
3 个赞
BOOL isJailbreak()
{
int x;
return ((intptr_t)&x & 0x10) != 0;
}
简洁高效无依赖
1 个赞
方法千千万,全凭运气
你这个要Foundation哇
楼主已被一众大佬调戏至死
去分析一下防检测的插件看看
调戏的我都无言以对
自己去分析xcon和Liberty,哼哼
讲真,xcon跟liberity比较弱鸡,永远不会有完美的检测越狱以及防越狱检测
2 个赞
你有什么好的越狱插件吗?推荐一个,谢谢!
自己写的最好
#include <unistd.h>
extern char **environ;
char **p = environ;
while (*p != NULL)
{
printf("%s (%p)\n", *p, *p);
if(strstr(*p, "MobileSubstrate")||strstr(*p, "mobilesubstrate"))
{
NSLog(@"JailBreak yes");
}
*p++;
}
1 个赞
Dl_info info1;
Dl_info info2;
IMP func1 = class_getMethodImplementation(objc_lookUpClass("ASIdentifierManager"),sel_registerName("advertisingIdentifier"));
Method method = class_getClassMethod(objc_lookUpClass("ASIdentifierManager"), sel_registerName("sharedManager"));
IMP func2 = method_getImplementation(method);
int ret1 = dladdr(func1, &info1);
int ret2 = dladdr(func2, &info2);
if (ret1&&ret2) {
if (info1.dli_fbase!=info2.dli_fbase) {
NSLog(@"这个类可能被注入了");
}
}else
{
NSLog(@"这个类可能被注入了");
}
可能写的不对,见谅
3q very much
检测越狱还是检测被注入了?