From 593ccb80d5117beadb887f21f06491943eca7ae0 Mon Sep 17 00:00:00 2001 From: chaoticgd <43898262+chaoticgd@users.noreply.github.com> Date: Mon, 20 Feb 2023 17:57:47 +0000 Subject: [PATCH 1/2] Add changelog file --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5c0b511 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +## v2.1.2 + +- Improved type deduplication algorithm (stdump v1.1 is included). +- Improved logic for handling nested types and type conflicts. +- The STABS analyzer will now only run once by default to prevent accidental corruption of files. + +## v2.1.1 + +- Added support for Ghidra 10.2.3. + +## v2.1.0 + +- A STABS symbol table analyzer is included which makes use a bundled copy of [stdump](https://github.com/chaoticgd/ccc) to extract information about data types, functions and global variables from ELF files with a .mdebug section. +- Simplified the pcode implementation of the plzcw instruction. + +## v2.0.0 + +- Support for Ghidra 10.2.2. +- The VU macro and MMI instruction implementations have been replaced with pcodeop stubs, improving decompilation. +- Support for disassembling VU microcode has been removed. If you want to reverse a VU microprogram may I suggest having a look at [vutrace](https://github.com/chaoticgd/vutrace). From 32f72c378e23ead5311032f4d8ee7f74bb5e27d4 Mon Sep 17 00:00:00 2001 From: chaoticgd <43898262+chaoticgd@users.noreply.github.com> Date: Mon, 20 Feb 2023 17:57:59 +0000 Subject: [PATCH 2/2] Update readme --- README.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e61bb87..e70acb8 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,15 @@ # Ghidra Emotion Engine: Reloaded [![run tests](https://github.com/chaoticgd/ghidra-emotionengine-reloaded/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/chaoticgd/ghidra-emotionengine-reloaded/actions/workflows/test.yml) An extension for Ghidra that adds support for the PlayStation 2. -The core MIPS/FPU/COP0 instruction are based off the MIPS32/64 processor included in Ghidra, with superfluous instructions stripped out and some instructions modified. +This extension is based on the original [ghidra-emotionengine](https://github.com/beardypig/ghidra-emotionengine) project, with a number or changes. -The following instuction sets are currently supported: +## Features - 1. The core MIPS instruction set - 2. The EE core instruction set (MMI, etc) - 3. COP0 (System control processor) instruction set - 4. COP1 (FPU) instruction set - 5. COP2 (VU0) macro instruction set - -This extension is based on the original [ghidra-emotionengine](https://github.com/beardypig/ghidra-emotionengine) project, with a number or changes: +- 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 10.2.3. -- The VU macro and MMI instruction implementations have been replaced with pcodeop stubs. This is a bit subjective, but I think it helps a lot. -- Support for disassembling VU microcode has been removed. If you want to reverse a VU microprogram may I suggest having a look at [vutrace](https://github.com/chaoticgd/vutrace). ## Installation @@ -28,5 +23,3 @@ If you want to build the extension yourself, install `gradle` and run: ``` gradle -PGHIDRA_INSTALL_DIR=/path/to/ghidra buildExtension ``` - -Only Ghidra versions 9.2 and above are supported.