3

我像这样检测 IAP Cracker:

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

如何检测 LocallAPStore?

4

3 回答 3

5

解压这个hack的Debian包后,你可以看到它和IAP破解器的结构几乎一模一样。所以,你可以写:

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

顺便说一句,使用这种方法不是很有效。我敢肯定,如果很多开发人员使用这种方法,这些调整的制造者会将另一个钩子合并到动态库中,这使得检测变得不可能,例如可以钩子- [NSFileManager fileExistsAtPath:]并检查路径是否等于 dylib 的路径和NO在这种情况下无条件返回。

因此,如果您想使用应用内购买,最好使用自己的服务器进行验证。

于 2012-11-10T21:20:35.070 回答
0

只需向 Apple 验证您的 IAP 收据即可防止欺诈购买。请参阅:http: //developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html

于 2013-07-28T20:57:28.357 回答
0

此外,您可以使用 dyld(或 Objective-C 运行时)函数来检测是否加载了相关库。如果是这样,请尝试卸载它。

于 2013-10-22T04:55:34.037 回答