objcopy/objdump/readelf等工具使用

本文介绍了Linux系统中四个重要的对象文件处理工具:objdump用于二进制文件反汇编,readelf展示ELF文件详细信息,nm列出目标文件中的符号,包括各种符号类型如绝对地址(A)、文本段(T)等。这些工具在软件开发和调试过程中非常实用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. objcopy 复制及修改目标文件
    -I  :   输入文件的格式(binary, elf32-i386等)
    -O  :   输出文件的格式
    -B  :   二进制文件体系结构(i386, arm等)

    -R  :   删除不用的section(.comment  .note 等)
    -j  :   仅留下有用的section(.text  .data 等)
    -S  :   不复制重定位和符号信息
    -K  :   保留某个符号
    -N  :   去掉某个符号
    -L  :   使某个符号local化
    -W  :   使某个符号weaken化

    例如: objcopy -S -O binary -j .text  a.out  a.bin  只保留.text的二进制文件.


2. objdump 显示目标文件信息
    -f  :   显示文件头信息(参考readelf -h)
    -d  :   反汇编目标文件中需要执行指令的section
    -D  :   反汇编目标文件中所有的section
    -h  :   显示section 头信息(参考readelf -S)
    -x  :   显示所有信息(参考readelf -a)
    -s  :   显示各个section的十六进制码以及对应的ascii码
    -m  :   CPU架构
    -b  :   目标文件格式,默认elf32,可以指定为binary二进制格式.

    例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值