使用介绍
支持全部ELF类型解析(relocatable/shared object/executable/core文件类型)。重点针对arm、arm64、x86、x86-64提供友好的定义显示(其他平台cpu体系架构相关定义为数值显示)。
ELF解析工具可解析elf文件头、程序头、节头、字符表、符号表、hash表、版本定义表、版本依赖表、动态信息表等。并支持函数、地址查找,支持函数栈大小信息解析,支持重定位符号反向推导及显示等。
支持32位/64位elf文件自适应解析。支持高dpi自适应显示、支持手动关联文件类型作为默认应用。
最新版下载地址在本文的工具使用介绍之后~~
1. 查看elf结构:program及section段
2. 查看符号信息
查看变量大小、变量地址、函数大小、函数地址等信息
3. 符号查找
3. 1 根据符号名查找地址
根据函数名找到函数地址
3. 2 根据符号地址查找符号名
根据变量地址找到变量名(选中"查找地址")
4. 查看重定位信息
4.1 查看符号hash表等信息
—— 支持hash表及gnu hash表解析
a. hash 表
b. gnu hash 表
4.2 查看动态符号等信息
4.3 查看重定位符号(支持符号名推导)
4.4 查看符号版本及符号依赖版本等信息
a. 符号版本表
b. 版本依赖表
4.5 查看动态信息表
5. 查看函数栈大小
5.1 arm64——libc.so
5.2 查看其他平台 ELF,如:RISC-V
5.3 查看linux内核API的栈大小
5.4 查看由rust语言编译产生的elf文件
最新版下载地址:
更新日志
v1.7 —— 2022.10
1、完善符号搜索功能,并高亮显示查找结果。
2、支持动态符号表的符号查找,并优化使用体验。
3、完善显示及异常处理,通过优化内部代码大幅提升解析效率。
========= 特色功能 ========
4、增强(内部)重定位符号显示功能,提高反向推导正确率。
5、增加函数栈大小信息解析。【仅限个人使用,暂限制最多解析300个函数】
MD5: 76A8B751D128E8D883C5A86D393391F1
SHA1: 71719360061E19C5639B6C397394E9D8E9E55251
CRC32: 1838BD3B
2023.2 重新更新
1. 优化实现栈信息完整显示。
MD5: E381D9F87FC3EC4B0FB3419FB8DECE3C
SHA1: ED9C30EDF80E7BAAAA8DF9403C4B609213835030
CRC32: E0B78725
2024.1 重新更新
1. 完善部分场景下的符号版本、(gnu)hash符号显示。
2. 增加对异常elf文件的错误检测并增加异常提示。
3. 优化解析稳定性并优化极复杂elf文件的显示效果。
MD5: 8E8CA59A987F7DACBA2217EE99F7500F
SHA1: 4A374DFE502FE6A3602929ADFFE6A790A3681D5D
CRC32: E87048D8
v1.6 —— 2021.12
内部版本
v1.5 —— 2021.3
1、支持全部类型elf(rel、dyn、exec)、core文件的program、section、symbol、note信息解析。
2、支持文件格式关联,实现双击文件即可打开。
3、增加rel、rela重定位内容解析。
4、增加目标系统显示,细化标识符解析。
========= 特色功能 ========
5、支持(内部)重定位符号显示。
v1.4 —— 2020.9
1、内部优化,针对x86、x64、arm、arm64 使用相关定义显示替代数字显示。
2、支持高分辨率下(缩放布局)显示,实现高dpi下布局自适应调整。
v1.3 —— 2019.5
1、整合32位elf解析与64位elf解析到一个程序,实现自适应解析32/64位elf文件。
2、根据输入的函数地址查找对应函数名。
v1.2 —— 2018.12
1、增加64位elf解析支持。
2、修正部分信息显示。
3、支持文件拖拽。
v1.1 —— 2018.5
内部版本
v1.0 —— 2017.10 (首次对外发布)
elf格式解析初版,重点优化ELF大文件解析性能。