【发布时间】:2019-11-08 14:48:01
【问题描述】:
我正在学习逆向程序,我想知道..如果我使用调试信息进行编译:
gcc -g ....
这对逆转过程有什么帮助吗?如果我这样做,我会提供额外的信息吗?我找不到有关该主题的任何信息。
【问题讨论】:
-
调试信息不提供那种信息。也许阅读 dis-assemblers 会有所帮助。
-
你所说的逆向工程是什么意思,你期望它产生什么? (例如,一些 UML 建模器从 sources 反向填充 UML 模型)。由选项
-g生成的调试信息通常被调试器用于将地址与函数/操作中的行关联起来,以了解变量在内存/堆栈中的位置等,但这不是逆向工程 -
所有
-g应该影响的是是否在编译+链接时生成符号调试信息。它实际上不应该影响 code 的生成。也就是说,您的真实问题是否以某种方式使用-g编译是否会使其他人更容易对其他人进行逆向工程的您的代码? -
@WhozCraig 是的,这正是我要问的......
标签: c debugging gcc reverse-engineering reversing