保护iPhone应用程序免受黑客攻击

Evg*_*nov 6 security iphone objective-c

我正在开发一些iPhone应用程序,当我的一些应用程序发布在黑客应用程序资源上时,我感到非常沮丧.任何人都可以免费安装这些应用程序.

所以我的问题是:如何保护应用程序不被转储到内存中,在调试模式下运行并制作被黑客入侵的ipsw包?那有源的例子吗?

Evg*_*nov 2

我发现这个源代码片段作为 isCracked 函数的示例

#if HEARTBEAT_CHECK_PIRACY
+ (BOOL)isCracked {
#if TARGET_IPHONE_SIMULATOR
    return NO;
#else
    static BOOL isCracked = NO;
    static BOOL didCheck = NO;
    if(didCheck) return isCracked;

#if HEARTBEAT_PIRACY_THRESHOLD >= 1
    if([[[NSBundle mainBundle] infoDictionary] objectForKey:@"SignerIdentity"] != nil) {
        #if HEARTBEAT_PIRACY_THRESHOLD >= 2
        NSString* infoPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
        if([[NSString stringWithContentsOfFile:infoPath encoding:NSUTF8StringEncoding error:NULL] rangeOfString:@"</plist>"].location != NSNotFound) {
            #if HEARTBEAT_PIRACY_THRESHOLD >= 3
            NSDate* infoModifiedDate = [[[NSFileManager defaultManager] fileAttributesAtPath:infoPath traverseLink:YES] fileModificationDate];
            NSDate* pkgInfoModifiedDate = [[[NSFileManager defaultManager] fileAttributesAtPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"PkgInfo"] traverseLink:YES] fileModificationDate];
            if([infoModifiedDate timeIntervalSinceReferenceDate] > [pkgInfoModifiedDate timeIntervalSinceReferenceDate]) {      
            #endif
        #endif
                isCracked = YES;
        #if HEARTBEAT_PIRACY_THRESHOLD >= 2
            #if HEARTBEAT_PIRACY_THRESHOLD >= 3
            }
            #endif
        }
        #endif
    }   
#endif

    didCheck = YES;

    return isCracked;
#endif
}
#endif
Run Code Online (Sandbox Code Playgroud)