# vmlinux-to-elf 内核符号恢复工具

> 通过定位并解码内嵌的 kallsyms 符号表，从 Linux 内核镜像重建带函数与变量符号、可供分析的 ELF 文件；输入可以是原始或压缩的 vmlinux、vmlinuz、zImage、bzImage 数据块，部分 Android boot.img 文件，或已去除符号的内核 ELF。工具会检测压缩格式、指令集、字节序、位宽、入口点和近似基址，并生成可在 IDA Pro 或 Ghidra 中分析的 ELF；另附列出符号的 kallsyms-finder、独立解压工具和 GTK 图形界面。

- 类型：工具
- 目标：二进制 · 固件
- 类别：固件工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/marin-m/vmlinux-to-elf>
- 一手来源：<https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/vmlinux-to-elf/>
- 记录 JSON：<https://awesomerea.org/resources/vmlinux-to-elf/record.json>
- 英文版：[English](https://awesomerea.org/resources/vmlinux-to-elf/index.md)

## 使用条件与局限

- 审阅时最新版本为 1.3.6，于 2026-05-20 发布在 GitHub 和 PyPI；其发布说明包括对去除节区的 ELF 内核重新序列化的初步支持，以及 uImage LZMA 解压。所审阅的 master 提交比它多四个提交，内容为图形界面和打包更新，并带有一个没有对应发布的 1.3.6.1 标签。PyPI 将项目标为 beta 阶段。
- 需要 Python 3.9+ 以及 lz4、zstandard、minilzo 和 peewee。README 介绍了几种安装命令行和图形界面的方式：Ubuntu 上用 snap，或从 AUR 安装，或用 uv 并配合 GTK 4、libadwaita 和 PyGObject 开发包；在 libadwaita 低于 1.6 的发行版上，可通过 Flathub 使用图形界面。
- 输入为分析者已有的内核镜像；未启用 CONFIG_KALLSYMS 编译的内核不受支持。README 称截至 2023 年 8 月支持 Linux 2.6.10 至 6.4，可为原始内核检测 MIPS、ARM、ARM64、PowerPC、SPARC、x86、x86-64、SuperH 和 ARC 架构，支持 XZ、LZMA、GZip、BZ2、LZ4、LZO 和 Zstd 解压，并能处理 OpenWrt 的未压缩 kallsyms 变体。自动检测失败时，可手动指定指令集、位宽、文件偏移和基址。
- 采用 GPL-3.0-or-later。恢复出的符号只包含 kallsyms 中存储的名称、地址和 nm 风格的类型；基址为启发式推断，即第一个代码段符号地址清除低 12 位后的值。

## 一手来源

1. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/README.md>
2. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/README.md#L89-L98>
3. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/README.md#L153-L192>
4. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/pyproject.toml>
5. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/vmlinux_to_elf/core/kallsyms.py>
6. <https://github.com/marin-m/vmlinux-to-elf/blob/2d094bc9c220b6b50f8215cbc3c9e581210ce1a6/LICENSE>
7. <https://github.com/marin-m/vmlinux-to-elf/releases/tag/1.3.6>
8. <https://pypi.org/project/vmlinux-to-elf/1.3.6/>

## 同分区更多条目：固件与硬件

- [Sony-PMCA-RE Sony 数码相机逆向工具](https://awesomerea.org/zh/resources/sony-pmca-re/index.md) · 工具
- [cpu_rec CPU 指令集统计识别工具](https://awesomerea.org/zh/resources/cpu-rec/index.md) · 工具
- [ME Analyzer Intel 引擎与图形固件分析工具](https://awesomerea.org/zh/resources/me-analyzer/index.md) · 工具
- [CHIPSEC 平台安全评估框架](https://awesomerea.org/zh/resources/chipsec/index.md) · 工具
- [binbloom 原始固件端序与基址分析工具](https://awesomerea.org/zh/resources/binbloom/index.md) · 工具
- [m1n1 Apple Silicon 引导与硬件研究工具](https://awesomerea.org/zh/resources/m1n1/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
