Binary Analysis with Firmware Analysis and Comparison Tool (FACT)

Firmware Analysis and Comparison Tool (FACT) is an automation toolkit to analyze binaries of IoT devices, network devices, drones, UEFI, etc.). This tool comes with a beautiful web interface and you just need to upload test binary on it. This tool automates the whole process by using different tools such as binwalk, QEMU, etc.

Typical Binary Analysis Process

Binary analysis is a process of identifying weaknesses in the behavior of binary programs and it involves both static and dynamic analysis. Static just involves code analysis and achieving full coverage. The dynamic analysis evaluates the program while running with limited coverage.

Extraction of binaryBinary Extraction is the first task performed by a security professional. Binary may be extracted by using different methods such as using SPI flash, JTAG, exploiting a weakness in the upgrade mechanism, by official website etc.
Information GatheringBy using tools such as binwalk, Firmadyne, etc.
Collecting vulnerabilitiesIdentifying secrets such as API keys, passwords, etc.
Reverse EngineeringBy using Ghidra, IDA Pro etc.

Advantage of using FACT

  • Combine different results by using a tool
  • Fast and help in a quick start
  • Easy to use as just need to upload binary on a tool
  • Web-based GUI
  • Compare two versions of firmware
  • Automate tasks such as unpacking, information gathering, etc.
  • different plugins for unpacker, analysis, and comparison are available for elf analysis, source code analysis, known vulnerabilities, etc.


You can install FACT by using the below set of commands:

$ sudo apt update && sudo apt upgrade && sudo apt install git
$ git clone ~/FACT_core
$ ~/FACT_core/src/install/ && sudo mkdir /media/data && sudo chown -R $USER /media/data


After successful installation, shoot the below command:

$ ./start_all_installed_fact_components

Now, open the browser and type http://localhost:5000 to access FACT.

To start, just upload the binary on the FACT tool and run the tool. The tool typically takes 10-15 minutes to analyze the binary file and provide results.

Subscribe us to receive more such articles updates in your email.

If you have any questions, feel free to ask in the comments section below. Nothing gives me greater joy than helping my readers!

Disclaimer: This tutorial is for educational purpose only. Individual is solely responsible for any illegal act.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *