The Binary Analysis Tool (BAT) makes it easier and cheaper to look inside binary code, find compliance issues, and reduce uncertainty when deploying Free and Open Source Software. It is a modular framework that assists compliance and due diligence activities by using the same type of approach applied by gpl-violations.org to discover issues in consumer electronics.

The Binary Analysis Tool can be used to

Advanced features

BAT can detect Redboot, loadlin and uboot bootloaders, open ZIP, RAR, tar, cpio and LZMA archives, search for Linux kernel and Busybox issues, identify dynamically linked libraries and report outcomes in XML format. It also features knowledge-base support to allow high fidelity customization for advanced users.

Simple approach

BAT uses symbol and string table comparisons to read binary code in firmware formats and compare it with source code without undertaking any reverse engineering. This approach has proven extremely effective in discovering real-world issues. Advanced users can also build a customized knowledgebase containing information about upstream suppliers, chip-sets, offsets, file systems and application strings to improve the fidelity of scans.

Sensible limitations

Learn more

You can learn more about what BAT does by reading the documentation.

You can also learn more about the approach behind BAT in the GPL compliance engineering guide released by Loohuis Consulting.