出于某些原因,我希望能够微调为我的 C++ 程序生成的最终可执行文件 - 细化到单个指令。我记得,GCC 应该生成一些文本汇编程序文件作为中间输出,然后再将其提供给汇编程序以生成最终的二进制目标文件。
我是否可以提取此汇编程序源代码,以编程方式对其进行编辑并将此修改后的版本提供给最终汇编程序以生成我的自定义目标文件?我的目标是 Windows 平台。
MSVC++ 是否支持类似的功能?
如果您想知道为什么,部分原因是通过包含我们的自定义多态代码生成逻辑来防止逆向工程。另一个原因是在分发给客户的每个拷贝中创建隐藏标识,以阻止任何人破解我们的保护并分发他的破解版本。
最佳答案
看看 -S
标志:
g++ -S file.c -o output.s
然后对 output.s
进行微调并编译最终的可执行文件:
g++ output.s -o application
关于c++ - 精细控制GCC的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5994692/