如何检测“LocallAPStore” – 新的iapcookies

我发现这样的IAPcookies:

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"); } 

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

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

只需validation您的IAP收据与苹果,以防止欺骗购买。 请参阅: http : //developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html

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