Chapter 11: Incorporating New Binary Formats
In this chapter, we will discuss how to incorporate new binary formats into Ghidra, enabling you to analyze exoteric binaries – for instance, ROMs of video games (a copy of the data from the cartridge or any other read-only memory). Throughout this chapter, you will learn how to develop Ghidra loader extensions, which were previously introduced in the Loaders subsection of the The Ghidra extension module skeleton section in Chapter 4, Using Ghidra Extensions.
We will start by looking at what a binary file is. We will explore the differences between raw binary files and formatted binary files and how Ghidra can deal with them. Next, we will perform some experiments with Ghidra to understand how binaries are loaded from a user perspective. Finally, we will analyze the loader for old-style DOS executable binaries from a Ghidra developer perspective. The loader under analysis is responsible for enabling Ghidra to load MS-DOS executable...