请益如何绕过这款app 越狱检测(已完成)

请益如何绕过这款app 越狱检测


app: “全聯行動會員”
猜测关键方法:
Class:

AppsFlyerUtils
+ (bool)isJailBreakon

Class:

ANSMetadata
- (bool)isJailbroken
- (bool)computeIsJailbroken

Class:

AFSDKChecksum
+ (bool)isJailbroken



使用 Hopper 查找出如上的方法,对其Hook,并确认已hook成功,但还是弹出了检测视窗,
向各位大佬请益,是否我思路错误?或者?
这是台湾一款大卖场的支付app,如果越狱手机将无法使用信用卡付款,丧失了app的便利性

ipa: 全聯行動會員(已敲殼,64位元)
https://mega.nz/#!z2RQxaIQ!hIZm4FLDOVWJZtM55u5-iUGQaQurk7CIDorbKIgUd60
https://pan.baidu.com/s/1pN5CccNHgn18bflEjEYZqA

进展:
由大神指引,找到了"SSMobileWalletKit.framework"


hook 其中方法
+ (void)errorHandling:id
可以顺利避开弹窗,但其他动作也没跟进了…
估计应该是在这方法中做了一些事
+ (id)init:(id)arg1 member:(id)arg2 config:(id)arg3 sender:(id)arg4 error:(id *)arg5;
但 hook 此方法会直接崩溃


发现崩溃点我犯傻了… hook 没有带*号

Hook

SSAlertController 
- (void)initWithTitle:(NSString* )arg1 message:(NSString* )arg2 cancelButtonTitle:(NSString* )arg3 otherButtonTitles:(NSString* )arg4;

顯示:

2019/07/04 整理思路

// 進入點
[homeViewController blindInitCreditCardWithType:] 
[SSMobileWalletKit init:member:config:sender:error:]
[SSMobileWalletKit configValidation:error:]
// 此方法會出現兩個分歧
[SSMobileWalletKit errorHandling:]
// 
[SSMobileWalletKit preChecking:error:]
[SSUIAlert initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:]

2019/07/23
終於繞過檢測了!
將其代碼修改為如下,即可繞過檢測!

#pragma mark - CoreControlManager
@interface CoreControlManager
@property(nonatomic) _Bool isDoneAppSecurityCheck;
@property(nonatomic) _Bool isJailbrokenDetected;
- (_Bool)appSecurityCheck:(id*)arg1;
@end
#pragma mark start hook
%hook CoreControlManager
- (_Bool)appSecurityCheck:(id*)arg1 {
    %log;
    return YES;
}
%end


1 Like

动态调试下,可能还有其它的地方在做判断.

恩 確實進了 [AFSDKChecksum isJailbroken]

hook 弹框显示的方法,然后打断点,看调用栈。

没找到弹窗的方法…
只找到


这窗上的字符串,我搜了,没找到

有账号吗?

私讯你啰~

昨天和你聊天的那个人是我

好的明白~

hook SSAlertController的显示 再看调用栈

这个app似乎还没那么变态

Puzzle & Dragons才叫变态,是一个日本游戏商出的游戏,似乎他家的游戏都是这样子,在越狱机器上直接秒崩,只要用过越狱软件,管你当前有没有激活越狱状态,有没有装第三方插件,直接完全不给你任何运行机会。

这么可怕…

小弟才疏学浅,试图逆向看一下它怎么判断的,结果发现似乎混淆过,完全看不懂,只知道它在一个线程中最终调用了exit()来退出……

可以尝试放到论坛一起讨论

hook exit ?

不行的,它的游戏流程依赖于那个检测越狱的线程,hook exit让它不退出,但也进不去游戏。我也试过hook了exit后suspend thread,启动画面就一直卡住了,直到被sb强杀

大佬也能关注下 我这问题吗~


請問我這是哪邊弄錯了嗎?
hook appSecurityCheck 這函數,就會崩潰

#pragma mark - CoreControlManager
@interface CoreControlManager
@property(nonatomic) _Bool isDoneAppSecurityCheck;
@property(nonatomic) _Bool isJailbrokenDetected;
- (_Bool)appSecurityCheck:(id*)arg1;
@end
#pragma mark start hook

%hook CoreControlManager
- (_Bool)appSecurityCheck:(id*)arg1 {
    %log;
//    Class CC = objc_getClass("CoreControlManager");
//    CoreControlManager * CCM = [[CC alloc] init];
//    CCM.isJailbrokenDetected = NO;
//    CCM.isDoneAppSecurityCheck = YES;
//    return NO;
    %orig;
}
%end

你上面都 return NO 了,下边为啥不 return 了呢

已經完成繞過哩!
主要我上面那樣的寫法hook 之後會閃退