banjo icon indicating copy to clipboard operation
banjo copied to clipboard

Android Dex disassembler and Binary Ninja plugin

Banjo

logo

Android Dex disassembler and Binary Ninja plugin

Description

Banjo parses Dex files and disassembles them into a smali syntax that is close to baksmali's.

There are three parts to this project:

  • Core disassembler library in android/
  • Binary Ninja plugin in architecture.py and binaryview.py
  • Standalone disassembler script in disas_to_files.py

For more documentation, see the doc/ directory.

There are still some rough edges. See GitHub issues for more details.

This project was released at a ShmooCon 2020 talk.

screenshot

Installation Instructions

Make sure Binary Ninja is using Python 3.8 or higher and copy banjo to BN_USER_DIRECTORY/plugins/. On Linux:

cd ~/.binaryninja/plugins/ && git clone https://github.com/carvesystems/banjo.git