使用GDB调试器查看隐藏代码

时间:2016-11-14 02:49:55

标签: c linux debugging gdb reverse-engineering

我得到了一个带有嵌入式C代码的二进制文件,当我在GDB GCC调试器中运行时,我无法看到它。我想C代码已经被二进制代码的编译/形成所隐藏。我尝试过以下方法:

GDB>文件myFile GDB>列出主要

我得到的输出是:

myFile.c:没有这样的文件或目录

我知道在这个二进制文件中有用C编写的代码。当我输入./myFile

时,可执行文件会运行

我已经安装了32位库,因为这种情况需要,我正在运行Ubuntu 16.04

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这可能是一个汇编问题。尝试查看option以进行调试

$ gcc -g myFile.c -o myFile
$ gdb myFile
(gdb) list main

如果编译没有"-g"选项,调试器将永远不会显示C代码,只会显示汇编代码。

在您的情况下,如果您运行这些命令,您将看到反汇编代码

(gdb) info file

然后获取入口点的地址

Entry point: 0x(address)

对于show disassembly code

(gdb) break 0x(address)
(gdb) run

断点被捕获时

(gdb) x/20i $pc