我可以使用GCC将C / C ++代码编译为操作码级别C

时间:2014-07-22 18:43:12

标签: c++ c gcc cross-platform

我想使用GCC编译我的C / C ++代码并输出低级C代码。是否可以让GCC使用C作为输出目标?

预期目的是以一种难以逆向工程的方式来阻止一段代码。我相信如果GCC将输入源代码减少到IR,然后在C中吐出功能等效的IR,那么生成的代码片段仍然可以编译但不可读。

我也找到了这个帖子: https://stackoverflow.com/questions/1025494/obfuscating-c-c-code

显然,一些商业封闭工具在内部使用这种技术作为其解决方案的一部分。

1 个答案:

答案 0 :(得分:0)

是的,你可以。来自here

  

使用-S(注意:大写S)切换到GCC,它将发出   汇编代码到扩展名为.s的文件。例如,   以下命令:

     

gcc -O2 -S -c foo.c

     

将生成的汇编代码保留在文件foo.s。

修改: -

可能我不确定但是正在寻找这个:

# create assembler code:
c++ -S -fverbose-asm -g -O2 abc.cc -o abc.s