如何解析 arm64 elf 文件?

Posted

技术标签:

【中文标题】如何解析 arm64 elf 文件?【英文标题】:how parse arm64 elf file? 【发布时间】:2020-04-20 13:16:47 【问题描述】:

我想解析一个 elf64 位文件。这个符号的地址是0x25008,但实际上这个地址是不存在的。如下图所示,文件的最大地址为0x1a900。显然,0x25008 大于 0x1a900。我应该如何解析这个elf文件以获得正确的地址

arm32没有这个问题,arm64下怎么解决

【问题讨论】:

【参考方案1】:

这个符号的地址是0x25008,但实际上这个地址是不存在的

此符号所属的部分很重要(此处为31部分)。

符号很可能在.bss部分,保证用零初始化,并且不存储在文件中(在文件中存储一堆零没有意义——你可以简单地填充运行时为零的部分)。

【讨论】:

以上是关于如何解析 arm64 elf 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Android中Native ELF的反汇编与破解的一些经验

如何打印像 nm 这样的 ELF 文件的符号名称?

如何安装arm-liunx交叉编译环境?

如何将大项目导入xilinx SDK并生成.elf?

如何在QEMU上运行裸机ELF文件?

可重定位文件结构分析