【发布时间】:2012-09-05 02:42:50
【问题描述】:
我以this one 阅读了有关该主题的几篇文章,并实现了大部分描述的技术。但我也想在二进制文件中添加一些额外的未引用/从未使用过的代码。理想情况下,我希望能够通过工具将此代码添加到构建的二进制文件中。有这样的工具吗?关于如何构建这样一个工具的任何想法?或者如何生成一些从未使用过的代码并将其添加到我的 C++ 程序中?我应该把它放在哪里?
在对 Skype 内部的分析中,我读到他们尽可能地弄乱了代码。实现它的一种方法是动态计算每个调用:
if ( sin(a) == 42 ) {
do_dummy_stuff () ;
}
我应该进入虚拟函数吗?还是虚拟函数是从未使用过的代码?
更新:我想将从未使用过的代码添加到二进制文件的原因是因为我们发布了许多电子书。我希望每一个的二进制文件都略有不同,所以如果一个被泄露,其他的则不会(至少不是马上)。
【问题讨论】:
-
我认为如果有人感兴趣的话,很难找出你程序中的哪些代码实际上被调用了。此外,您的编译器可能需要被告知不要优化它。
-
聪明的编译器可能会注意到
sin永远不会像 42 一样大,并消除整个 p.o.c. -
@Anthony Burleigh:请看更新
-
@Kerrek SB:请看更新