vmlinux-to-elf
Convert raw Linux kernel blobs to ELF files
Marin M. - Fossplant.re ✓ Verified
re.fossplant.vmlinux-to-elfvmlinux-to-elf is a tool to recover a fully analyzable .ELF from a raw kernel, through extracting the kernel symbol table (kallsyms)
Features:
- Take a raw binary blob or ELF kernel file as an input.
- Automatically detect and unpack the main compression formats used for the Linux kernel.
- Find and extract the embedded kernel symbols table (kallsyms) from the input file.
- Infer the instruction set architecture, endianness, bit size, relying upon other things on common function prologue signatures.
- Infer the entry point of the kernel from the symbols contained in the kallsyms table.
- Provide basic inference for the kernel base address.
- Unpack certain types of Android boot.img files, starting with an "ANDROID!" or "UNCOMPRESSED_IMG" magic.
- Produce an .ELF file fully analyzable with IDA Pro or Ghidra as an output.
Screenshots
Observed history
| App | Change | Version | When ↓ |
|---|
No observed changes yet.
The initial import establishes a baseline. Future version changes will appear here.
Browse the app catalogue →Upstream releases
Release notes supplied by the developer. These dates are not Flathub package publication times.
1.3.620 May 2026
- ARM64: Fix guessing the relative base in certain kernels (issue #54)
- ARM64: Correctly display relocated data into the hex preview in the UI
- Add support for decompressing uImage LZMA kernels
- Provisionally add support for reserializing section-stripped ELF kernels
1.3.520 May 2026
- Correctly support back parsing uImage files with the UI (issue #3)
- Correctly handle the presence of sh_type in SHT_REL and SHT_RELA, and lack thereof (issue #37)
- Fix an issue in "find_kallsyms_markers_uncompressed" providing wrong offsets on OpenWRT images (issue #99)
1.3.414 May 2026
Correctly consider that ARM64 kernels have their base address aligned on 0x80000
1.3.314 May 2026
Fix regression over recursively unpacking data
Correctly indicate whenever the kernel base address was found using kallsyms_relative_base



