Frequently Asked Questions
What is FRET?
FRET is a command-line tool that analyses single or multiple files and attempts to identify data structures within the files. It has no knowledge of specific file formats, rather it detects common structures such as strings, fill sequences, offsets to fields, CRCs etc. within the analysed files. FRET is designed to integrate within the Unix tool chain, therefore its output is in a simple table format which can be parsed using scripts or other tools.
What is libfret?
libfret is the library that FRET uses to provide its functionality. It analyses buffers, not files, and is designed to be integrated with other tools. Some ideas for potential uses of libfret include:
- add automatic analysis of files and colour coding to binary/hex editors.
- develop a plug-in for a packet sniffing application that can analyse and identify the type of data in a packet.
- scan data in email attachments (or the email itself) to identify rogue content such as CPU instructions.
Who should use FRET?
A software developer who needs to understand and parse a type of file but has no documentation for the file format may use FRET to help identify the structure of the file. It is a tool to complement the use of hex editors and dumps of the raw file data. FRET can never identify all the data structures in a file but it might help along the way.
How can I help?
There are many ways you can help FRET:
- use FRET and report the bugs you find
- contribute ideas on future development
- contribute code to FRET or libfret
- use FRET and provide feedback - both positive and negative - but always constructive ;-)