c – 内联函数是否使得对编译后的二进制文件进行反向工程变得更加困难?

基本上,除了可能的性能影响之外,内联函数对从编译和链接二进制文件中反编译程序的难度有多大影响?

我的意思是,它应该是,因为1)饼干只是看到更多的机器指令,而不是可以理解的“调用XXXXX”,他可能已经发现它做了某件事. 2)内联为编译器提供了更多优化代码的可能性,这甚至更加模糊,对吧?

另外,考虑到内联关键字只是对编译器的一个建议,它真正具有多少效果?我们应该打扰吗?我的意思是,当然他们最终会破解它,但如果通过这么简单的措施我们可以让饼干的生活变得更难,为什么不呢?

最佳答案
是否选择内联方法不应该基于逆向工程的容易程度.内联与否之间的差异可以忽略不计.

例外情况是,如果您有任何反盗版代码,内联,或甚至使用宏来确保它“内联”可以帮助消除单点故障.

如果您对此感到担忧,我建议您查看对二进制文件进行操作的混淆工具.

转载注明原文:c – 内联函数是否使得对编译后的二进制文件进行反向工程变得更加困难? - 代码日志