Home

Welcome!

Hachoir is a Python library that allows to view and edit a binary stream field by field. In other words, Hachoir allows you to "browse" any binary stream just like you browse directories and files. A file is split in a tree of fields, where the smallest field is just one bit. There are other fields types: integers, strings, bits, padding types, floats, etc. Hachoir is the French word for a meat grinder (meat mincer), which is used by butchers to divide meat into long tubes; Hachoir is used by computer butchers to divide binary files into fields.

Hachoir is composed of the parser core (hachoir-core), various file format parsers (hachoir-parser), and other peripheral programs. For example, you can use hachoir-metadata to extract information from your favourite photos or videos. Hachoir also allows you to edit files (of supported formats) without the original (often proprietary) program that was used to create them.

Hachoir projects

Programs:

Modules:

Experimental programs:

Install and download or see status of the project.

Hachoir pages

News

  • 2010-07-26: Release of hachoir-parser 1.3.4 (changes) and hachoir-metadata 1.3.3 (changes)
  • 2010-02-26: Release of hachoir-core 1.3.3 (changes)
  • 2010-02-04: Release of hachoir-metdata 1.3.2 (changes)
  • 2010-01-20: Release of hachoir-core 1.3 (changes), hachoir-parser 1.3 (changes) and hachoir-metdata 1.3 (changes)
  • 2010-01-13: Release of hachoir-regex 1.0.4 (changes)
  • 2009-08-05: The website moved to a new server (bitbucket), the source code is now stored in a Mercurial repository instead of a Subversion repository
  • October 2008: Release of hachoir-core 1.2.1 ([[browser:trunk/hachoir-core/ChangeLog|ChangeLog]]), hachoir-parser 1.2.1 ([[browser:trunk/hachoir-parser/ChangeLog|ChangeLog]]), hachoir-metadata 1.2.1 ([[browser:trunk/hachoir-metadata/ChangeLog|ChangeLog]])
  • September 2008: Release of hachoir-core 1.2, hachoir-parser 1.2, hachoir-metadata 1.2, hachoir-wx 0.3, hachoir-urwid 1.1
  • May 2008: Creation of project FileSull, fuzzer based on Sulley and Hachoir
  • 1st April 2008
    • Release of hachoir-core 1.1, hachoir-parser 1.1, hachoir-metadata 1.1, hachoir-subfile 0.5.3, hachoir-wx 0.2, hachoir-regex 1.0.3
    • Changes:
    • Create hachoir-metadata-gtk (basic Gtk+ GUI for hachoir-metadata)
    • Create "EFI Platform Initialization Firmware Volume" (PIFV) and "Microsoft Windows Help" (HLP) parsers
    • Metadata extractors are more stable and fault tolerant
    • String value is always Unicode (guess charset if needed); many bugfixes and minor improvments
  • 24 August 2007
    • Server migration: Julien's server (81.56.123.123) to haypo's server (88.160.66.91). So ask haypo if you would like an account.
  • 25 July 2007
    • Most hachoir components are now available in version 1.0 for Debian, Mandriva, Gentoo, Arch and FreeBSD!

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.