GCC-将进程二进制文件还原为C

GCC-将进程二进制文件还原为C,c,linux,gcc,reverse-engineering,reverse,C,Linux,Gcc,Reverse Engineering,Reverse,我想知道是否有可能通过从C中的源代码创建二进制代码来执行流程还原gcc,例如: 我使用ggc使用param-o编译代码,然后在设置二进制文件的名称时,我设置了相同的名称,例如:code.c->code.c,并覆盖我的源代码,不再进行编辑。 这是一个应用程序示例 有办法再次恢复C语言中的源代码吗?是的,但它不是您编写的代码。 这将是你见过的最糟糕的代码。这与C语言或任何编程无关。这是一个操作系统问题:如果我覆盖了一个文件,我可以恢复它吗?好吧,这取决于你使用的是哪个操作系统,但对于99%的操作系统

我想知道是否有可能通过从C中的源代码创建二进制代码来执行流程还原gcc,例如: 我使用ggc使用param-o编译代码,然后在设置二进制文件的名称时,我设置了相同的名称,例如:code.c->code.c,并覆盖我的源代码,不再进行编辑。 这是一个应用程序示例


有办法再次恢复C语言中的源代码吗?

是的,但它不是您编写的代码。
这将是你见过的最糟糕的代码。

这与C语言或任何编程无关。这是一个操作系统问题:如果我覆盖了一个文件,我可以恢复它吗?好吧,这取决于你使用的是哪个操作系统,但对于99%的操作系统来说,答案是否定的。程序员使用Git的另一个原因是。我认为这更多的是关于反向编译。你本质上是在问“我如何反编译二进制文件?”谷歌搜索,你会发现反编译器的存在,但不会给你你想要的:你的原始源代码。我希望您有备份并使用版本控制!另外,请参见此链接:基本上没有,但如果您有一个包含所有调试符号的构建,那么一个好的反编译器可能只会造成一个巨大的混乱。请注意,“您编写的代码”和您见过的最差代码“并不是相互排斥的:)