我有一段需要去混淆的 C 代码。它包含一堆棘手的宏。我通过 C 预处理器和缩进运行代码,现在它看起来类似于:
switch (9263 + 1505) {
case 1505 + 41131 + 6729 + 2347:
...
case 1505 + 41131 + 6729 + 2347 + 1:
...
case 1505 + 41131 + 6729 + 2347 + 2:
...
为了简化进一步的分析,我正在寻找一些可以折叠代码中所有常量的工具。我知道 C 预处理器无法做到这一点,并且将在编译阶段执行常量折叠优化。但是源代码呢?
Shell 脚本也很受欢迎,因为我怀疑这可能是唯一的方法。