A Mac app for format-agnostic binary visualisation and analysis.
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Binspect.xcodeproj remove BinspectTests formally from the xcodeproj Nov 13, 2014
Binspect fix for OS X 10.11 (El Capitan) Oct 12, 2015
LICENSE add LICENSE Nov 13, 2014
README.md add possible diff expansion to README Oct 20, 2015
screenshot.png add README (with screenshot!) Nov 13, 2014

README.md

Binspect

A Mac application by Joe Savage for visualising binary data - inspired by the work of Aldo Cortesi, and to a lesser extent Greg Conti and Christopher Domas.

Currently the application is relatively bare-bones to its purpose, simply providing visualisation options via two space-filling curves and three colouring modes. The (slightly over-commented) code is licensed as described in the 'LICENSE' file, under the MIT license.

The application was developed on a Late 2013 Retina Macbook Pro running El Capitan. While I would hope it runs somewhat sensibly in other environments, I can make no guarantees to this effect.

Binspect '/bin/ksh' screenshot

Possible Improvements & Expansions

Improvements

  • Add a scrollbar, or indicate the scroll position to the user in some meaningful way
  • Keyboard shortcuts for scrolling
  • Sort out the 'Shannon Entropy' file statistic label - it varies too wildly based on file size and generally doesn't work well for larger inputs. Change the calculation to average the entropy of numerous blocks, remove the label entirely, or move the functionality to be a statistic of the hovered region.
  • Hover-based locality zooming
  • Improve 'hovered region'/'selection' functionality
    • Introduce a visual representation of the current selection
    • Selection locking
    • Selection nudging (with arrow keys?)
  • Preferences window
    • Scroll sensitivity
    • Selection size
    • Entropy colouring mode block size
    • Default zoom level
  • Handle dragging files directly onto the application window
  • Properly handle 'Open With' functionality

Expansions

  • Dump data/selection to file
    • Similarly, opening the selection in a new window for analysis in isolation
  • Save generated image
  • Multiple documents windows
  • Fullscreen mode (and window resizes)
  • Visual diffing of two files
  • CLI alias ('binspect')
  • Quick Look extension/generator

Other ideas (which I'm less sure about):

  • Additional data visualisations/representations
    • Digraphs/trigraps of byte patterns (in the selection?) (diagram in sidebar?)
      • e.g. digraph of which byte values follow which other byte values
    • Selection auralisation
  • Curve minimap navigation panel ('Sublime Text'-style minimap)
  • Change selection functionality to be more intuitive than a region around the hovered byte
  • Colour banding options (possibly makes things clearer sometimes than every different byte value having an individual colour)
  • Byte grouping options (likely introduces alignment and endianness issues)
  • Section labelling