You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RISC-V:反汇编.img文件时提示‘file format not recognized’的解决方法

解决RISC-V .img文件反汇编报错的方法

问题本质

riscv64-unknown-elf-objdump仅支持解析ELF格式的可执行/目标文件,而你手里的.img是原始二进制镜像或磁盘镜像,不属于标准ELF格式,所以工具无法识别。

具体解决办法

  • 如果是纯二进制代码镜像(无文件头)
    直接指定文件格式和架构,执行以下命令:

    riscv64-unknown-elf-objdump -b binary -m riscv -d xxx.img > xxx.asm
    

    要是镜像有指定的加载基地址(比如RISC-V常见的0x80000000),可以加上地址调整参数修正反汇编的地址:

    riscv64-unknown-elf-objdump -b binary -m riscv --adjust-vma=0x80000000 -d xxx.img > xxx.asm
    
  • 如果是磁盘镜像(含分区/文件系统)
    先挂载镜像提取里面的ELF文件再反汇编:

    1. 查看镜像的分区信息:
      fdisk -l xxx.img
      
    2. 根据分区起始扇区计算偏移(起始扇区数 × 512),挂载分区:
      mount -o loop,offset=XXX xxx.img /mnt
      
    3. 进入挂载目录找到目标ELF文件,再用riscv64-unknown-elf-objdump反汇编该文件。
  • 先确认镜像类型
    可以用file命令快速判断.img的类型,再选择对应方法:

    file xxx.img
    

内容的提问来源于stack exchange,提问作者Hengzhuang Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:05:20