Git Product home page Git Product logo

vitaloader's Introduction

VitaLoader

PS Vita ELF loader for Ghidra

VitaLoader has been deprecated as it does not work on Ghidra version 10.2 or higher due to changes inside the Ghidra codebase. Please consider using VitaLoader Redux instead, as this repository is no longer maintained.

Features

VitaLoader can be used in place of the Ghidra ELF loader to load SCE-specific ELFs for PSVita. Attempting to load non-Vita ELFs will not work properly and is not supported - use the regular ELF loader instead.

  • Supports all SCE ELF types (ET_SCE_EXEC, ET_SCE_RELEXEC, ET_SCE_PSP2RELEXEC) and generic ELF types (ET_REL/ET_EXEC/ET_CORE) that follow the SCE format
  • True entrypoint is located using the SceModuleInfo instead of the ELF header's e_entry
  • All imports and exports are marked up exports and imports of the module
    • All exports and imports can be automatically named using a user-provided NID database
    • Imports are sorted based on the module they are imported from. Exports are not sorted as it doesn't seem possible yet.
  • SceProcessParam is parsed, marking up all functions involved in the Malloc Replacement functionality
  • DTrace probes structures are parsed, marking up all DTrace probes (for kernel modules)
  • Syscall exports are marked up when appropriate (for kernel modules)
  • Basic SCE datatypes are added to the project automatically

Installation

Download the latest release for the Ghidra version you use. Open Ghidra, select File > Install Extensions..., click on the green + and select the .zip you just downloaded. Ghidra should ask you to restart in order for changes to take effect, do so.

Building

You will need to install Gradle in order to be able to build the extension.

Run gradle / gradle.bat in the repository directory. Make sure to pass -PGHIDRA_INSTALL_DIR=<your Ghidra install> if the environement variable GHIDRA_INSTALL_DIR isn't set.

It seems building the extension for Ghidra 9.xx releases is no longer possible. Assistance in getting the project to build will only be provided for the latest Ghidra version.

Known bugs

  • Import thunks may not be marked up (cause unknown)
  • VitaSDK moduled with no export cannot be imported ("malformed" SceModuleInfo improperly parsed)
  • VitaLoader will not work if GhidraOrbis is installed

Credits

vitaloader's People

Contributors

creepnt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.