我只使用自己的DRM制作iOs应用程序(该应用程序适用于Cydia)。我想知道如何从反编译中保护我的应用程序。我反编译我的应用程序,只是为了检查“感兴趣的”用户可以看到什么。我能够看到每个字符串,敏感的字符串。然后我反编译了FindMyiPhone,我发现每个字符串都替换为"some string from a protected section"
有没有人知道保护字符串?
答案 0 :(得分:1)
首先要做的事情;如果有人真的想破解应用程序,他/她会找到一种方法来做到这一点。此外,Cydia和Jailbreak还无法帮助您保护您的应用。
您应该单独加密字符串并在代码中使用此加密字符串。当然,字符串应该在使用之前在运行时解密。这很容易破解,这些是你可以做的事情,使其更难;
除了第一步,您还可以使用预处理程序指令(尤其是#define
)来使编译后的代码更加笨拙。例如;
#define importantString temp
@property (nonatomic, strong) NSString * importantString;
NS_INLINE
作为解密函数,以便在反编译时使代码更复杂。尽管如此,这些都是众所周知的方法,只会保护代码免受好奇的注意。有关详细信息,您可以查看此tutorial或阅读Apple documentation或此book。