armijnhemel / binaryanalysis-ng

Binary Analysis Next Generation (BANG)
GNU Affero General Public License v3.0
471 stars 66 forks source link

New unpacking framework merge #333

Closed armijnhemel closed 1 year ago

armijnhemel commented 1 year ago

This PR introduces a new unpacking framework, where data (unpacked files) and metadata (data about files) are strictly separated. Previously this was not the case and metadata and data were mixed. For example, if data was unpacked from a file a subdirectory was created, including a counter in the name, where the unpacked would be written to.

The new unpacking framework is conceptually much clearer, but harder to navigate. Some tools have been included to navigate the new unpacking directory structure and pretty print the unpacking structure. There will be additional tools in the coming few months as well as plugins for very detailed reporting.

Other changes:

There are a few regressions which will be fixed soon:

and some functionality has been removed:

Thank you @timhemel for the initial design and first implementation!