Skip to content
VitaLoader script for Ghidra
Branch: master
Clone or download
xerpi Merge pull request #1 from PGAnonamous/master
Allow loading of ET_SCE_EXEC Executables
Latest commit 051e2a4 Mar 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Remove GhidraVitaLoader package, update README Mar 12, 2019
VitaLoader.java Allow loading of ET_SCE_EXEC Executables Mar 19, 2019

README.md

GhidraVitaLoader

VitaLoader script for Ghidra

Installation

  1. Download this script
  2. Download the JAR of the yamlbeans library
  3. Open Ghidra and add the JAR path to Ghidra's Edit -> Plugin Path...
  4. Add the script directory to Window -> Script manager -> Script Directories button in the top right

Usage

  1. Load your favorite ELF
  2. (Optionally parse the vitasdk headers, see below)
  3. Go to Window -> Script manager (or green play button)
  4. Navigate to the Vita folder and run VitaLoader.java

Parsing vitasdk headers

To take full advantage of this script, I recommend parsing the vitasdk headers before running it:

1. Generating a Ghidra-parsable header

  1. $ arm-vita-eabi-gcc -P -E $VITASDK/arm-vita-eabi/include/vitasdk.h -D"__attribute__(x)=" -D"__extension__(x)=" > vitasdk_header.h (use vitasdkkern.h for the kernel headers)
  2. Now open vitasdk_header.h and remove the typedef unsigned int wchar_t; (line 3)
  3. Remove all the inline macros (ksceKernelCpu*Context, ksceKernelCpuUnrestrictedMemcpy)
  4. Change SceKernelProcessInfo's unk[0xE8 / 4 - 6] to unk[0x34]

2. Parsing the header

  1. Open Ghidra and go to File -> Parse C Source... and select vitasdk_header.h
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.