【发布时间】:2017-03-27 15:31:21
【问题描述】:
我收到了一个包含嵌入式 C 代码的二进制文件,当我在 GDB GCC 调试器中运行它时看不到它。我想C代码已经被二进制代码的编译/形成隐藏了。我尝试了以下方法:
gdb> 文件 myFile gdb> 列出主目录
我得到的输出是:
myFile.c: 没有这样的文件或目录
我知道这个二进制文件中有用 C 语言编写的代码。当我输入 ./myFile
时可执行文件运行我已经安装了 32 位库,因为这是这种情况所需要的,并且我正在运行 Ubuntu 16.04
感谢任何帮助。
【问题讨论】:
-
原始源代码未嵌入二进制文件中。您需要在某处复制源代码树并将 GDB 指向它以查看它。也就是说,如果您还没有源代码,不要指望 GDB 能够神奇地为您生成它。
-
谢谢。我不知道源代码树的副本。有没有办法找到这个?我不熟悉它,但我现在会研究它。
-
源代码的作者必须将其提供给您。这不是任何人都可以根据可用信息为您回答的问题。
-
这个二进制文件中没有C代码。
-
谢谢 immibis。文件中肯定有 C 代码。我在我的帖子中说过。我知道正如 kaylum 所解释的那样,我无法使用它。
标签: c linux debugging gdb reverse-engineering