3D Data Visualizations

I’ve been playing around with 3-dimensional binary data visualization, inspired by ..cantor.dust.. The results have been interesting, fun, and in some cases even useful. :)

My implementation is fairly rudimentary: every three bytes in a file is treated as an x, y, z coordinate for a data point in a 3D plane where each axis extends from 0 through 255. This means that if the file has data that contains a certain range of byte values (e.g., printable ASCII characters), those bytes will generate coordinates in the same general area of the 3D plot.

Since non-random data types (executable code, strings, etc) will have an uneven distribution of bytes, different data types will generate different visual patterns. Here is one of my favorites, which was created from a file containing AVR32 executable code:

Visualizing AVR32 code

Visualizing AVR32 code

Different file types have different byte distributions, and thus create different patterns in the 3D plot. We can even start to identify file types based on their corresponding visualizations:

A PDF file

A PDF file

A 32-bit Windows executable

A 32-bit Windows executable

A 32-bit Windows installer (MSI)

A 32-bit Windows installer (MSI)

More importantly, we begin to see patterns associated with certain types of data.

Printable ASCII characters, for example, are represented by the bytes 32 – 126, so they are usually grouped in a small box that is above 0 on each axis, but also at or below the midpoint of each axis.

We can see a grouping of ASCII characters clearly in this otherwise random (compressed) firmware image:

Printable ASCII visualized inside a firmware image

Printable ASCII visualized inside a firmware image

Likewise, executable code tends to produce thin horizontal and vertical lines.

This file contains unknown data, but its byte patterns suggest that it is primarily composed of executable code:

Unknown executable data

Unknown executable data

We can also see in the above visualization that there is little or no printable ASCII characters. This gives us a good idea of what to look for – and what not to look for – when performing a deeper analysis of this data.

I’ve integrated the 3D visualization into binwalk; just use the –3D option:

$ binwalk --3D file.bin

It’s still pretty experimental, but if you want to play with it, grab the latest binwalk code from the git repository.

Posted in New Features
21 comments on “3D Data Visualizations
  1. axet says:

    love it!

  2. randomuser says:

    Very nice work. How did you generate gif files?

  3. These are beautiful!

  4. user says:

    Is there some way via Binwalk or otherwise to save the 3D visualization (single frame) as an image file? Thanks.

  5. Hi colleagues, good post and fastidious arguments commented at this place,
    I am really enjoying by these.

  6. Johnf660 says:

    I am so grateful for your blog article.Really thank you! Fantastic. cfbbbbakfakd

  7. Wazen says:

    How to integrate the 3D visualization into binwalk

  8. Derrick says:

    Hello admin, i found this post on 14 spot in google’s search results.
    You should reduce your bounce rate in order to rank in google.
    This is major ranking factor nowadays. There is very
    handy wordpress plugin which can help you.
    Just search in google for:
    Lilas’s Bounce Plugin

  9. viziofly says:

    Hi to every one, it’s genuinely a nice for me to visit this site, it includes precious Information.

  10. Our hack into for will assist you to get bigger plus bigger, its automatically obtain the shortest way to eat
    the particular dots and in addition it makes sure
    you don’t need to get enjoyed by other folks.

  11. Nathan McCorkle says:

    was this removed? –3D doesn’t work with the latest master checkout from github

  12. I have used clash of clans hack significantly more than three times , but
    do not require worked when I wanted. These
    changed the APK file as well as the IPA file associated with the game, which will prevent me to connect to your internet from the game.

  13. Since the skin is not broken and the veins are not
    exposed there is little to no infection risk.

    Don’t worry about them; just talk to your pharmacist or doctor if you are not
    already using some creams. Possibly limit your hair duration or pull it back, to reduce
    the extra oil that comes in contact with your skin.

  14. What you published was very reasonable. However, consider this, what if you added a little information? I mean, I
    don’t wish to tell you how to run your website, but what if you added something
    that makes people desire more? I mean 3D Data Visualizations | Binwalk is a little plain.
    You should look at Yahoo’s home page and see how they create post
    headlines to grab viewers to open the links.

    You might add a related video or a pic or two to get readers
    interested about everything’ve got to say. In my opinion, it would make your posts a little bit more interesting.

  15. If the unsuspecting worm doesn’t realize it in time, you won’t ensure it is
    from the protection band.

  16. Site says:

    Modest Maps is a lightweight, simple mapping tool for web designers that makes it easy to integrate and develop interactive maps within your site, using them as a data visualization tool.

  17. EddyUKiritsy says:

    Great article! We are linking to the particularly great content
    on our website. Keep up to date the good writing.

  18. J says:

    Hello! I installed binwalk, but did not see the 3D option.
    Is there anyway I could obtain it to look at such visualizations?

    Amazing work!

  19. Test says:

    My brother suggested I may like this blog. He used to be entirely right.
    This put up actually made my day. You cann’t consider simply how a lot
    time I had spent for this information! Thank you!

4 Pings/Trackbacks for "3D Data Visualizations"
  1. […] Just added some fun 3D binary visualization features to binwalk. Read more about it here. […]

  2. […] Implementation is fairly rudamentary: every three bytes in a file is treated as an x, y, z coordinate for a data point in a 3D plane where each axis extends from 0 through 255.  […]

  3. […] I've been playing around with 3-dimensional binary data visualization, inspired by ..cantor.dust.. The results have been interesting, fun, and in some cases even useful. :). My implementation is fairly rudamentary: every three …  […]

  4. […] devttys0 implemented a similar visualization in binwalk. […]

Leave a Reply

Your email address will not be published. Required fields are marked *