嗨,我只是想知道如何在iOS二进制文件中混淆函数?
如果您尝试使用像ida这样的工具来反转iOS二进制文件,您会看到部分二进制文件具有模糊功能,如全部或部分名为sub_xxxxxxxx,但另一部分具有人类可读功能
有人说,将这些行添加到标题的顶部,无需进一步解释:
#define SecurityClass ah7p
#define checkCopyProtection xcyc
用于保护您应用的方法有哪些?
对于这个愚蠢的问题感到抱歉,但我是新来的,最后没有回答解释我的需要。
答案 0 :(得分:1)
有两种混淆iOS二进制文件的方法。
此外,我还知道另一种是Liasoft反间谍软件。这是一个非常高级的反分析工具包,使用混合的Objective-C和C ++代码,您可以在编译过程中对函数进行加密以及更多操作。 (https://www.liasoft.de/en/products/antispy/)
不确定其中之一是否适合您。除此之外,由于Objective-C是一种包含大量元数据的编译语言,因此您很迷失。
希望我能为您提供帮助,这是我的第一篇文章。
答案 1 :(得分:0)
如果您只关心模糊方法名称,那么最简单的方法是用C或C ++编写应用程序的相关部分。例如,您可以将SecurityClass
重写为C ++类而不是Objective-C类。这不会使你的代码反向工程证明,但它至少会提高一点。 (注意:我不是说从软件工程的角度来看,这是正确的做法)。
如果您需要混淆代码,那么您正在寻找可以执行此操作的工具。有几种这样的工具,包括商业和免费的。完成这项工作的一个项目是obfuscator-llvm
。