HexWalk 2.0.0
A major release. HexWalk now ships a built-in binary scanner and
extractor (HexDig) so you no longer need to install binwalk
separately for the most common workflows. The project has also moved to
Qt 6 and to a single CMake build system across all platforms.
✨ Highlights
- Built-in HexDig scanner — embedded; no external setup required.
Detects and extracts a wide range of file formats. Binwalk is still
selectable as an alternative engine under Options → Analyzer if you
prefer it. - Qt 6 — modernised GUI based on Qt 6 (Core, Gui, Widgets, Charts).
- CMake build system — replaces qmake/
.proeverywhere (Linux,
macOS, Windows/MinGW). - Official AppImage — single-file
HexWalk-2.0.0-x86_64.AppImage
for portable Linux use. - Standalone HexDig CLI — the scanner is also shipped as a separate
command-line tool for batch scans, JSON output, and recursive
extraction.
🧩 HexDig — supported formats
- Compression: GZIP, BZIP2, LZMA, XZ, 7Z
- Archives: ZIP, RAR, TAR, CPIO, CAB, ARJ, DEB
- Filesystems: EXT2/3/4, SquashFS, CRAMFS, ROMFS, JFFS2, UBI, FAT
- Executables / object: ELF, PE, Mach-O (new)
- Firmware: U-Boot uImage, Device Tree (DTB), Android Sparse
- Other: PNG, JPG, GIF, BMP, SVG, PDF, MBR, AES S-boxes, CRC tables,
copyright strings
🛡 Stability & safety
- Hardened the CramFS, DTB, TAR, UImage, CPIO, SquashFS and Mach-O
parsers so a false-positive match on a corrupt or arbitrary file no
longer reads past the buffer (fixes a SIGSEGV reproducible when
scanning Mach-O binaries). - Rewrote the SquashFS parser to read v4 superblock fields at the
correct offsets — block size, version and total size are now reported
accurately. - Tightened EXT4 validation: random binaries that happen to contain
0x53 0xEFno longer get reported as fictitious filesystems with
multi-billion-block superblocks.
🐛 Bug fixes
- Fixed a crash in the Diff dialog on certain inputs.
- 7-Zip path lookup now walks
$PATHfor both7z(Debian/Ubuntu) and
7zz(upstream 7-Zip package), so extraction works out of the box on
Debian systems where only7zis installed.
⚠️ Migration notes
- Qt 5 is no longer supported as a build target. Distributors should
use Debian unstable / Ubuntu 24.04+ where Qt 6 is available. - External binwalk is no longer required, but remains supported.
Switch engines under Options → Analyzer. - The
.profiles have been removed; build with:cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build -j