我想使用GCC编译我的C / C ++代码并输出低级C代码。是否可以让GCC使用C作为输出目标?
预期目的是以一种难以逆向工程的方式来阻止一段代码。我相信如果GCC将输入源代码减少到IR,然后在C中吐出功能等效的IR,那么生成的代码片段仍然可以编译但不可读。
我也找到了这个帖子: https://stackoverflow.com/questions/1025494/obfuscating-c-c-code
显然,一些商业封闭工具在内部使用这种技术作为其解决方案的一部分。
答案 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