-
Notifications
You must be signed in to change notification settings - Fork 1
Home
daid edited this page Jul 1, 2020
·
15 revisions
Welcome to the BadBoy wiki!
BadBoy is a Gameboy Emulator + Disassembler. It provides a powerful set of tooling to assist in reverse engineering Gameboy games.
It consists of 2 major parts:
- A gameboy emulator
- The disassembler
While disassemblers for the Gameboy exist they are limited in functionality. And generally work as a single pass full disassembler, leaving most of the reverse engineering effort in the hands of the user after that. BadBoy is designed to keep assisting you during the whole reverse engineering effort.
BadBoy uses a different method. It differs in a few major ways:
- It can use detailed information from the emulator to provide more information
- It makes almost no assumptions. If it does not know if something is code or data, it handles it as data. Instructions are parsed for jumps/calls to find as much code as possible.
- It allows "repeated disassembly", reading back in previously disassembled source with annotations to generate a new disassembly.
custom_mark10 digraph G { ROM [shape=folder]; Emulator; InstrumentationData [shape=folder]; Disassembler; Disassembly [shape=folder]; Assembler; NewROM [shape=folder]; SymbolFile [shape=folder];
ROM -> Emulator -> InstrumentationData -> Disassembler -> Disassembly -> Assembler -> NewROM;
ROM -> Disassembler;
Assembler -> SymbolFile -> Disassembler;
Disassembly -> Disassembler [label="Annotations"];
} custom_mark10