我发现IAP饼干这样的:
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/iap.dylib"]){
NSLog(@"IAP Cracker detected");
}
如何检测LocallAPStore?
我发现IAP饼干这样的:
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/iap.dylib"]){
NSLog(@"IAP Cracker detected");
}
如何检测LocallAPStore?
提取后Debian软件包这个技巧的,你可以看到,它几乎完全一样的结构IAP饼干。 所以,你可以这样写:
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/LocalIAPStore.dylib"]) {
NSLog(@"Local IAP Store detected");
}
顺便说一句,使用这种方法不是很有效。 我敢肯定,如果有很多的开发者使用这种方法,这些调整的厂商将包括另一钩到动态库,使检测是不可能的,例如一个可以挂钩- [NSFileManager fileExistsAtPath:]
,并检查路径等于dylib的路径和无条件退货NO
在这种情况下。
所以,最好是你用自己的服务器进行验证的情况下,要使用应用内购买。
只需验证您IAP与苹果的收据,以防止恶搞购买。 请参阅: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html
此外,您还可以使用dyld的(或Objective-C运行)功能,如果有问题的库被加载到检测。 如果是这样,尝试卸载它。