Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

antoniovazquezblanco/ghidra-emotionengine-reloaded

 
 

Repository files navigation

Ghidra Emotion Engine: Reloaded run tests

An extension for Ghidra that adds support for the PlayStation 2.

This extension is based on the original ghidra-emotionengine project, with a number of changes.

Features

  • Disassemble and decompile EE-specific instruction sets (MMI, VU0 macro mode, etc).
  • Recover data types, functions and global variables from ELF files with .mdebug sections with the included STABS Analyzer.
  • Import PCSX2 save states.
  • Fix references to global variables with the MIPS-R5900 Constant Reference Analyzer.
  • Support for Ghidra 11.1.2.

Installation

Release builds are available on the releases page. Unstable builds, generated whenever there is a push to the main branch, are available here. To install the package, follow the instructions in the Ghidra documentation.

Building

If you want to build the extension yourself, install gradle and run:

gradle -PGHIDRA_INSTALL_DIR=/path/to/ghidra buildExtension

Common Issues

7-Zip returned unsupported method

Modern versions of PCSX2 store save states using zstd compression, which Ghidra's zip implementation doesn't support. To work around this you have to change SavestateZstdCompression to false in the EmuCore section of your PCSX2.ini file (or change it to disabled in your PCSX2_vm.ini file if you are using an older version of the emulator).

Decompilation fails for some functions

Try disabling the Decompiler Parameter ID analyzer.

Symbols aren't being demangled

Enable the Use Deprecated Demangler option in the settings for the Demangler GNU analyzer.

About

An extension for Ghidra that adds support for the PlayStation 2.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.1%
  • Shell 0.9%