【发布时间】:2020-01-20 05:10:16
【问题描述】:
当我编译 C/C++ 源文件时,编译器会生成另一个可执行文件。如何查看该文件的说明?这个过程被称为什么?
gcc hello.c -o hello
./hello
这里,在执行第一行之后的第一个文件名“hello”被生成。我需要查看这个“hello”文件的说明。
【问题讨论】:
-
反汇编?反编译?逆向工程?盯着无法破译的十六进制墙?
-
假设,我有一个名为 hello.c 的文件,编译这个文件后我得到了 a.out,现在我想看看 a.out 文件中有什么
-
在任何编辑器中打开它,您将看到它的内容。虽然我猜这不是你想要的。那么你想从文件中得到什么确切的格式和信息呢?原始源代码?组装说明? ELF部分?原始二进制值?等
-
如果我执行这个文件,我会得到一些输出。所以,'a.out' 文件中必须有一些指令引导我的机器向我显示输出。我需要看看那些说明。
-
那听起来你想反汇编代码。在 Linux 上你可以这样做:
objdump -d a.out。阅读objdump手册,了解更多选项来准确控制转储的输出。
标签: c executable