Ideas of projects based onhachoir-core.
Break API for Hachoir 2.0
Playing with files
- hachoir-grep: find a string in a binary file
- hachoir-strip: remove all "useless" bytes of a file
- Reverse engineering: How to write a parser of unknown file format
See also hachoir-tools for other experimental tools.
- use Tcpdump to get data at layer 3, 4 or higher. That means remove TCP ACK packets, ignore duplicates, maybe valid checksums, etc.
- See ticket:69 ticket:75
- See projects Scapy, impacket, libpcap and Wireshark (ethereal)
- use fuse to let unmodified programs use:
- a transparent conformity check
- a transparent binary fuzzing (same as a proxy for network fuzzers)
- Event driven system: allow fields to signal modify events up to parent fields, all the way to root
- Aigh, never mind, already implemented in basic_field_set.py. Now to actually use it...
- Validation, Correction, Optimization, Stripping
- Parsers should have a way to define correction operations (e.g. rebuild the validation sections/fields), so they can perform elementary error correction on corrupted files.
- This may be as simple as recomputing CRC & Length, or as complex as searching for new offsets and locations, or deleting completely corrupted frames in an audio file.
- <haypo> Should not be stored in hachoir-parser to keep parser "light"
- Optimization: parsers should ideally be able to optimize files, reorganizing them (e.g. OLE2) to be more efficient.
- <haypo> OLE2 sucks
- Stripping: parsers should know how to strip themselves of private informations.
- <haypo> I prefer to store it in hachoir-strip program to keep parser light
- Ability to dump the content of a field into a file (ie: Content of a file from a filesystem, content of a section from an executable...)
- Isn't this basically finished, as per "getSubIStream()" on all fields? Add SubFile and FragmentGroup/CustomFragment (these last two need to be made into standard classes!) and you have an easy way to dump to file (see hachoir-http)
Working on hardware
- Canoscan 5000F: Project started with Thibault North which aims to write a Linux driver for this scanner