Christopher Domas gave a nice presentation[0] at DerbyCon 2012 about software that ended up becoming CantorDust[1]. I was pretty jazzed about after the presentation but didn't keep up with where it went.
Rizin[1][2] has the byte-level highlight (enter visual mode with `V` key then rotate through modes using `p` or `P`)[3], and there is an issue[4] for Cutter to add binary visualization as a plugin, if anyone is up to the task.
I use binvis quite a lot for getting a quick overview of an unknown file format, using the entropy mode in particular.
However, I almost always switch it into the linear view. Hilbert curves are cool but I've never really found any benefit, and it makes it harder to intuit things like how far a particular feature is into the file, or whether two features are actually nearby (while near things in linear-space are typically near in hilbert-space, there are discontinuities).
A different approach I’ve been working on: https://github.com/ufex/Ufex
Detect the file format and display a detailed view of the structures within. Also has the hex editor with coloring based on bytes and sequences.
If anyone is interested we open-sourced https://github.com/getsentry/launchpad which can produce a treemap visualization for Mach-O. I've been working on ELF support in my free time too but it's not finished.
You might be interested in GNU poke[1][2], a hex-editor type program that can actually parse and visualize the structure of binary data (using a DSL for describing formats).
[0] https://www.irongeek.com/i.php?page=videos/derbycon2/4-2-1-c...
[1] https://github.com/Battelle/cantordust
[1] https://rizin.re
[2] https://github.com/rizinorg/rizin
[3] https://book.rizin.re/src/visual_mode/intro.html
[4] https://github.com/rizinorg/cutter-plugins/issues/3
[0] https://github.com/codilime/veles
https://binvis.io/
Ps: I had the exact same thought!
Also: can programs be encoded into lossy image formats? Would be cool to see what image compression does to program functionality
However, I almost always switch it into the linear view. Hilbert curves are cool but I've never really found any benefit, and it makes it harder to intuit things like how far a particular feature is into the file, or whether two features are actually nearby (while near things in linear-space are typically near in hilbert-space, there are discontinuities).
614 points | 4 months ago | 159 comments
https://news.ycombinator.com/item?id=47846688
Never got around to that poster though. :(
If anyone is interested we open-sourced https://github.com/getsentry/launchpad which can produce a treemap visualization for Mach-O. I've been working on ELF support in my free time too but it's not finished.
https://github.com/ReFirmLabs/binwalk/wiki/Supported-Signatu...
[1] https://jemarch.net/poke
[2] https://news.ycombinator.com/item?id=34986042
[0]: https://github.com/werwolv/imhex
I have really liked fq for binary visualization.
It is useful to understand which dependencies, libraries, and template instantiations contribute to the size.
[1] https://arcan-fe.com
[2] youtu.be/WBsv9IJpkDw
[3] youtu.be/ALA1W-BL8fA