File | Date | Author | Commit |
---|---|---|---|
ibex | 2016-10-11 | Jarda Benkovsky | [1769fe] Use memoryview in Span |
tests | 2016-10-11 | Jarda Benkovsky | [2a7966] Fix iterator protocol in spans |
yt | 2016-09-15 | Jarda Benkovsky | [3d5128] Update RRB file types |
Makefile | 2013-02-18 | Jarda Benkovsky | [ec8bb6] Initial commit |
README.md | 2015-11-04 | Jarda Benkovsky | [096bb3] Begin some documentation |
TODO | 2016-10-11 | Jarda Benkovsky | [1769fe] Use memoryview in Span |
a | 2016-09-21 | Jarda Benkovsky | [0a023f] Set python3 as a default |
a2 | 2016-09-21 | Jarda Benkovsky | [0a023f] Set python3 as a default |
requirements.txt | 2015-11-04 | Jarda Benkovsky | [78f98b] Document required python packages |
setup.py | 2015-11-04 | Jarda Benkovsky | [a04edb] Add initial setup.py |
Ibex is a program for easy examination, parsing or tagging and printing binary files.
Hopefully it's useful for getting a better understanding of unknown file formats.
The application holds one or more instances of Datafile, that represent files that
are analyzed. Each datafile has opened and mmaped the original file and possibly has
also some overlays. Overlays are parts of the file where the original data are
replaced with a new content - e.g. decrypted or unpacked blocks.
The Datafile also holds instances of Span, either in database or in memory. Spans create
a hierarchical structure (tree), and represent file's nested data structures from the
topmost one down to basic data types.
Each Span contains its ID, information about its parent, Overlay it belongs to, an offset
within the Overlay and a size in bytes. It can also have numerous tags, the most
important being name and type.
Example:
0x0000 .. .. PICT....
0x0010
+---------------------------------------------------------------------- ...
|1 p:0 o:0 s:2567
+----------+------------------------------------------------------+---- .
|2 p:1 o:0 s:12 n:header |3 p:1 o:12 s:... n:data |
+------------------+-----------------------------------+
|3 p:2 o:0x1c s:4 |4 p:2 o:0x20 s:12 |
+------------------+--------+--------+-----------------+
|5 p:4 o:0x20 s:4 |6 p:4 o:0x24 s:4 | |6 |7 |
+-----------------+- ----+----+
color - color used for drawing a span, e.g. 'red'