Git Product home page Git Product logo

ps3ghidrascripts's Introduction

Ps3GhidraScripts

A collection of scripts for parsing PS3 executables with Ghidra.

Relocations are not currently supported.

When loading a prx/elf into Ghidra be sure to select the following language (By default this is the one under the automatic selection when the recommended checkbox is disabled)

PowerISA-Altivec-64-32addr

Installation

These scripts are meant to be used as a Ghidra extension.

Simply grab the .zip in release corresponding to your Ghidra version and install in Ghidra through "File=>Install Extension...".

Make sure the extension is active(there should be a checkmark on the left), scripts should then be accessible in CodeBrowser through "Window=>Script Manager".

Required change

To avoid issues with decompilation the following change is needed in Ghidra\Processors\PowerPC\data\languages\ppc_64_32.cspec

Add <register name="r2"/> to the <unaffected> list

Possible problems

Some cell specific instructions are currently not supported in Ghidra, these are the vector store/get lvlx etc, these appear in games and may break decompilation currently.

AnalyzePs3Binary.java

The main script, this should be used BEFORE analysis is run on the program.

It will then parse the information sections and define imports/exports and name the ones it can from the nids file, and then set the TOC.

After this you should run the auto analysis tool within Ghidra, and then run the syscall define script.

DefinePs3Syscalls.java

Does what it says on the tin.

Resolves PS3 syscalls to the correct name and defines functions for them.

Should be ran after AnalyzePs3Binary and auto analysis have completed.

ps3ghidrascripts's People

Contributors

clienthax avatar margen67 avatar velocityra avatar gael2433 avatar exoskye avatar ripleytom avatar illusion0001 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.