top | item 39210952

(no title)

cortesi | 2 years ago

Ah, this is an old side-project of mine. Something I should probably make clearer is that files are not uploaded anywhere - the app is completely local, and all analysis is done in the browser.

This version is written in React but when time permits I plan to release an updated version written in Rust, along with a library of fast implementations of space-filling curves and related utilities.

discuss

order

TheCoreh|2 years ago

This tool has been incredibly useful to me for getting a high level overview of compiled binaries and JS bundles: you can typically tell if something fishy is getting included by the unexpected changes in entropy/categories. Thanks!

Retr0id|2 years ago

I just wanted to say thanks, this is something I use regularly when looking at unknown firmware blobs or file formats, to look for compressed/encrypted data or other structures

barlog|2 years ago

Looks fantastic cortesi!

and binvis is the coolest name!!

iamcreasy|2 years ago

Look cool. What can you get out of this kind of visual analysis?

TillE|2 years ago

Getting a really quick, coarse view of what a file format looks like, easily picking out different types of data. Try uploading a SNES ROM or similar and you'll probably see a lot of distinct squares because of how the ROM banks work.

Super Metroid has a surprising amount of filler scattered all over.

Solvency|2 years ago

It'd be cooler if these were interpreted as sound waves. I'd love to goto sleep listening to notepad.exe.

fortran77|2 years ago

I've been trying to figure out the file format used for "POV" fan displays I've bought from AliExpress. This visualizer was a big help....

Waterluvian|2 years ago

I’m fascinated by this but on mobile at least I can’t quite figure out what the colours mean. Is there a legend I can peek at?

cortesi|2 years ago

There is, but I see it's not visible on smaller resolutions - I should fix that. The default color scheme just classifies bytes into black (0x00), white (0xff), blue (ascii), and low (green) and high (red).

eps|2 years ago

Does it render data line by line or with something like Hilbert's curve to preserve locality of distinct features?