Currently (commit 1dd42e3) it is able to generate PNG images that represent various aspects of the binary:
- Grayscale: Byte values, 00..FF. - Ascii: Printability of each byte. - Entropy: Of a "block", changed with --block-size. - Histogram: Bar graph of the byte frequencies. - Bigrams: Each point is determined by a pair of bytes. - Dotplot: Measure self-similarity. Image width/height is N^2.
In the future, I plan on adding an SDL version that allows the user to view a section of the file interactively (sections are currently supported with --offset-start and --offset-end).
More information on the README.
- From the perspective of marketing/spreading this thing--even to Engineers--I think some pictures of example output would help quite a lot.
- I love these kinds of tools! For part of my PhD research I made a bunch of digraph heatmaps of (differently-obfuscated variations of) stdlib binary files (raw byte sequences and asm mnemonics shown side-by-side):
https://alexshroyer.com/misc/digraphs.mp4
There are often bright spots in these kinds of visuals that you end up seeing over and over again (e.g. clusters of ASCII).
- Some examples would be nice, I'm not familiar with binary visualization, so I'm curious why and when I would personally use this
- I added screenshots to the README.
- So you made a visualization tool and don't show an example image in the readme?
I am not sure if I should be shocked or impressed, but consider the following question: Would you download a random program of the internet because of the promise of it creating a useful visualization? You probably would if the visualization looked useful to you. But as you can't see it without downloading.. You get my point.
- No screenshots or demo - how do I know if this is better than the already awesome web-first binvis.io?