static-analysis-engineering / CodeHawk-Binary

CodeHawk Binary Analyzer for malware analysis and general reverse engineering
MIT License
21 stars 9 forks source link

Unify json output into a single file #151

Closed waskyo closed 2 months ago

waskyo commented 2 months ago

This unifies the relational analysis and cfg comparison json output into a single file.

To get the unified json file, call chkx compare all.

The format chosen was an extension of the existing cfg comparison, and extended to include block- and instruction-level comparisons. This also changes compare app and compare function so that they use the json output to generate their text output, allowing us to remove the report functions which duplicated a lot of this functionality.

The text output changed, and some of it got lost along the way, but since that output is in flux we decided that was okay.

compare app, compare function, and compare cfgs no longer have an option for json output.

Finally, this removes a number of unused json-related classes. The unused schemas have been removed, and a note was made on the schemas that are now outdated.