
objdump 是 GNU Binutils 工具集中的一个重要命令行工具,用于显示目标文件(object files)和可执行文件的各种信息。它是 Linux 系统下进行二进制分析、逆向工程和调试的利器。
objdump 的主要功能包括:
objdump 的基本命令格式如下:
objdump [选项] 文件名
如果不指定任何选项,objdump 会显示文件的节区头部信息。
-f, --file-headers # 显示文件头部信息
objdump -h /bin/ls
输出示例:
/bin/ls: file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 0000001c 0000000000400238 0000000000400238 00000238 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 0000000000400254 0000000000400254 00000254 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
...objdump -d /bin/ls
输出示例(部分):
0000000000405a50 : 405a50: 31 ed xor %ebp,%ebp 405a52: 49 89 d1 mov %rdx,%r9 405a55: 5e pop %rsi 405a56: 48 89 e2 mov %rsp,%rdx 405a59: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp ...
objdump -t myprogram.o
输出示例:
myprogram.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 myprogram.c 0000000000000000 l d .text 0000000000000000 .text 0000000000000000 g F .text 0000000000000015 main 0000000000000000 *UND* 0000000000000000 printf
objdump -S myprogram
输出示例:
当程序崩溃时,可以使用 objdump 查看崩溃地址附近的代码:
objdump -d --start-address=0x400526 --stop-address=0x400536 myprogram
查看程序调用了哪些动态库函数:
objdump -T myprogram | grep UND
通过反汇编简单的C程序来学习汇编语言:
-g 选项objdump 是Linux系统下强大的二进制分析工具,掌握它可以:
通过本文介绍的基本用法和实用示例,你应该已经能够开始使用 objdump 进行基本的二进制文件分析了。随着实践经验的积累,你会发现它在系统编程和调试中的更多妙用。
以上就是linux查看二进制文件信息是什么-objdump 命令使用与实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号