越狱检测方法

请问,大家都用什么方法检测越狱,讨论一下呗…

!说出来你再去写个反越狱检测岂不是越狱检测方法就失效了

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,哼哼:joy::joy::joy::joy::joy::joy::joy::joy:

讲真,xcon跟liberity比较弱鸡,永远不会有完美的检测越狱以及防越狱检测

2 个赞

你有什么好的越狱插件吗?推荐一个,谢谢!

自己写的最好

我在网上找到一个,楼主可以参考下 https://github.com/liaogang/check_fish_inline_hook

1 个赞
#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

检测越狱还是检测被注入了?