How to detect “LocallAPStore" - new iap cracker

柔情痞子 提交于 2019-12-09 07:33:28

问题


I detect IAP Cracker like this:

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/iap.dylib"]){
    NSLog(@"IAP Cracker detected");
}

How can I detect LocallAPStore?


回答1:


After extracting the Debian package of this hack, you can see that it has almost exactly the same structure as IAP cracker. So, you can write:

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/DynamicLibraries/LocalIAPStore.dylib"]) {
    NSLog(@"Local IAP Store detected");
}

By the way, using this method is not quite effective. I'm sure that if a lot of developers use this approach, the makers of these tweaks will incorporate another hook into the dynamic library that makes the detection impossible, for example one can hook - [NSFileManager fileExistsAtPath:] and check if the path is equal to the dylib's path and unconditionally return NO in this case.

So, it is preferred that you use your own server for verification in case you want to use in-app purchases.




回答2:


Just verify you IAP receipts with Apple to prevent spoof purchases. See: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html




回答3:


Also, you can use dyld (or Objective-C runtime) functions to detect if the library in question is loaded. If so, try unload it.



来源:https://stackoverflow.com/questions/13325924/how-to-detect-locallapstore-new-iap-cracker

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!