我正在尝试学习一些有关针对逆向工程的装甲应用程序。在一篇文章中,我读到将变量初始化为 NULL 或 0 或 -1 与在应用程序中使用通用密码一样安全(相对于 RE)。简而言之,据说我们应该使用 RNG 来生成我们最初“存储”到新声明的变量的随机数据。其他方法是使用 XOR 运算符。不幸的是,我忘记为这篇文章添加书签,而且我没有时间完整阅读它。
问题是 - 如果我们在初始化变量时使用随机数据和/或 XOR 运算符,我们是否会添加到应用程序对逆向工程的防御中?
编辑:看来我的问题还不够清楚。我要问的是哪个更好(或者根本没有区别)
int variable = 0;
或者
int variable = random(seed);
让我们假设,为了这个问题,random(seed)
确实是真正的随机性。
关于 XOR 运算符。正如我所说,我只是部分阅读了这篇文章。我看到两段,一段名为“使用随机数生成器”,另一段为“使用异或初始化变量”。我不清楚 XOR 是如何使用的,如果有人对此有所了解,我只在此处提及它以引起人们的注意。