Skip to content

samrussell/binja-gameboy

 
 

Repository files navigation

Gameboy Binary Ninja plugin

Description

A Binary Ninja plugin to load Game Boy ROMs and disassemble Game Boy architecture bytecode (Sharp LR35902).

Based on bnGB by Hugo Porcher (icecr4ck). Extended by Carl Svensson (ZetaTwo)

For a list of changes, read the changelog.

Improvements

  • Added proper IO register symbols
  • Added ISR symbols
  • Fixed some incorrect branching
  • Fixed some incorrect addressing modes
  • Implemented LLIL lifting

Todo

  • Fix sub_d (stop disas from 0)
  • Handle HALT/RESET/EI/DI opcodes in LLIL
  • Handle BCD (DAA opcode and test the half carry flag)
  • Thorough testing

Installation

Either install the plugin from the plugin manager or manually clone the repository to your plugin directory.

Minimum version

This plugin has been tested on the following versions of Binary Ninja:

  • release - 3.5.4526

References

Testing

License

This plugin is released under a MIT license.

About

A Binary Ninja plugin to disassemble and lift Game Boy ROMs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.5%
  • Makefile 1.2%
  • C 0.3%