File | Date | Author | Commit |
---|---|---|---|
ibex | 2016-10-11 |
![]() |
[1769fe] Use memoryview in Span |
tests | 2016-10-11 |
![]() |
[2a7966] Fix iterator protocol in spans |
yt | 2016-09-15 |
![]() |
[3d5128] Update RRB file types |
Makefile | 2013-02-18 |
![]() |
[ec8bb6] Initial commit |
README.md | 2015-11-04 |
![]() |
[096bb3] Begin some documentation |
TODO | 2016-10-11 |
![]() |
[1769fe] Use memoryview in Span |
a | 2016-09-21 |
![]() |
[0a023f] Set python3 as a default |
a2 | 2016-09-21 |
![]() |
[0a023f] Set python3 as a default |
requirements.txt | 2015-11-04 |
![]() |
[78f98b] Document required python packages |
setup.py | 2015-11-04 |
![]() |
[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'