Python framework to parse and edit binary files


Hachoir is a Python library used to represent of a binary file as a tree of Python objects. Each object has a type, a value, an address, etc. The goal is to be able to know the meaning of each bit in a file.

Why using slow Python code instead of fast hardcoded C code? Hachoir has many interesting features:
 * Autofix: Hachoir is able to open invalid / truncated files
 * Lazy: Open a file is very fast since no information is read from file,
   data are read and/or computed when the user ask for it
 * Types: Hachoir has many predefined field types (integer, bit, string, etc.)
   and supports string with charset (ISO-8859-1, UTF-8, UTF-16, ...)
 * Addresses and sizes are stored in bit, so flags are stored as classic fields
 * Endian: You have to set endian once, and then number are converted in the
   right endian
 * Editor: Using Hachoir representation of data, you can edit, insert, remove
   data and then save in a new file.

Hachoir provides command-line tools using its parsers:
 * hachoir-grep: find a text pattern in a binary file
 * hachoir-metadata: get metadata from binary files
 * hachoir-strip: modify a file to remove metadata
 * hachoir-urwid: display the content of a binary file in text mode
 * hachoir-wx: display the content of a binary file in a GUI

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V



Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install hachoir