BARfly Help - Contents - What is BARfly?

What is BARfly?

BARfly is the principal front-end viewer and editor application for the Binary Artifact Reference system, or BAR. With BARfly, you can edit nearly anything at all--any binary file--in a detailed, structured format.  The BARfly interface looks like this:



Before BARfly, there were only three ways you could view or edit a binary file:

  • Write an application that reads or writes a binary file of a specific format.
  • Use a binary hex editor--see the picture to the right--yuck!
  • Use one or more "dump" applications, which translate the binary data to and from a text format.


There have been serious implementation issues over the years.  The proliferation of so many different types of binary file formats has created "implementation chaos."  Accurate and up-to-date knowledge of so many file formats is difficult or impossible to obtain.  It is difficult to standardize many formats as they "evolve," since one modification to a file format can "break" all existing applications.  Applications that read, write, or dump binary data are often platform-dependent, and they are frequently designed to perform only a handful of actions that do not directly facilitate piecemeal editing.

But all of these problems can be attributed to just a single reason:  the lack of any consistent "schema" for virtually any binary file.  The Binary Artifact Reference system, or BAR, provides a "universal schema" for characterizing the data in binary files in such a fashion that applications can make nearly any type of data ready-to-access.  Now, you can treat just about any file as a database!

What BARfly does is employ BAR to give the user a powerful user interface for viewing and editing binary data.  Instead of replacing binary formats with text-based formats such as XML, BARfly intends to create a workable knowledge-base for just the binary files as they currently exist, without having to convert everything to and from a text format.


  See also:  [What is BAR?] [Who should use BARfly?]


BARfly Help Copyright © 2009 Christopher Allen