cydia scheme 검사

탐지 원리와 관련된 내용설명은
🤛🏽
Cydia Scheme Detection
글을 참조하자.
 
cydia scheme 탐지에 활용되는 코드는 다음과 같다.
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) { NSLog(@"cydia:// scheme ... -_-"); exit(1); }
 

후킹 트윅 실습 (우회)

[Tweak.x 파일 후킹 코드] %hook UIApplication -(BOOL)canOpenURL:(NSURL *)url { %log; NSLog(@"%@", url); if([url isEqual:[[NSURL alloc] initWithString:@"cydia://package/com.example.package"]]){ NSLog(@"hehe openurl bypassed!"); return NO; } NSLog(@"openurl not bypassed!"); return %orig; } %end
UIApplication 클래스canOpenURL: 메소드를 후킹하여, cydia:// scheme로 요청을 보냈을 때 0을 반환하도록하여 우회할 수 있다.