Technical requirements
You can use the Ubuntu LTS machine configured in Chapter 2 in this chapter. In addition, we will use Ghidra for reverse engineering and QEMU for emulation. We will install it in the Emulation section of this chapter, as well as a few other tools.
Ghidra
Ghidra is a versatile software reverse engineering tool developed by the National Security Agency Research Directorate. It offers numerous features, including disassembly, assembly, decompilation, graphing, and scripting. It supports a broad range of processor instruction sets and executable formats and is designed for both interactive and automated – Java or Python – usage.
To install Ghidra, please follow the website’s instructions [2].
Physical device
The physical GL.iNet 300M Mini Smart Router device, GL-AR300M16 [3], with firmware version 3.215
(the latest at the time of writing), is also recommended for the dynamic analysis part. However, we will explain how to emulate...