精细控制GCC的输出


只怕再见是故人
2025-03-04 12:27:58 (4天前)

由于某些原因,我希望能够微调为我的C ++程序生成的最终可执行文件-降至个别指令。我记得,GCC应该将一些文本汇编器文件作为中间输出生成,然后再将其提供给汇编器以生成最终的二进制目标文件。

我是否可以提取此汇编器源文件,以编程方式对其进行编辑,然后将此修改后的版本提供给最终的汇编器以生成我的自定义对象文件?我的目标是Windows平台。

MSVC ++是否支持类似功能?

而且,如果您想知道为什么,则部分原因是通过包含我们的自定义多态代码生成逻辑来防止逆向工程。另一个原因是,在分发给客户的每个副本中都创建了隐藏的标识,以阻止任何人破解我们的保护并分发其破解版本。

2 条回复
  1. 1# 春风助手 | 2020-08-03 10-42

    看一下-S标志:

    1. g++ -S file.c -o output.s

    然后进行微调,output.s并使用以下命令编译最终的可执行文件:

    1. g++ output.s -o application
登录 后才能参与评论