release: BinaryNinja-PSVitaLoader, a Binary Ninja plugin for PS Vita binaries
Developer omo aka computerman00 has released BinaryNinja-PSVitaLoader, which as the name implies, is a plugin to load Vita binaries into popular decompiler Binary Ninja.
What is Binary Ninja
If you’re into the world of computer and console hacking, you generally need a binary decompiler. It is an open secret that most people on the PlayStation scene use leaked or pirated copies of IDA Pro, although the NSA’s tool Ghidra has gained a lot of popularity after it was declassified and released as an open source tool in 2019.
Binary Ninja is an alternative to those two tools, and has been a good alternative to IDA Pro for quite some time, in particular because it is much cheaper. It isn’t “cheap” in absolute though, with the default lifetime license costing $1500. (By comparison ID Pro starts at $1000 per year).
Generally speaking, because of their pricing, Binary Ninja and IDA Pro are reserved for companies/professionals. Ghidra remains recommended for those who want to use a decompiler, legally, for free, on their PlayStation binaries (for those interested, I have an in-depth tutorial on how to get started with PS4 reverse engineering with Ghidra). But, possibly because a lot of the folks on the PlayStation scene also happen to be professional hackers IRL, IDA Pro is the defacto standard on the scene, with Ghidra and Binary Ninja getting occasional support.
From the Binary Ninja site:
Binary Ninja is an interactive decompiler, disassembler, debugger, and binary analysis platform built by reverse engineers, for reverse engineers. Developed with a focus on delivering a high-quality API for automation and a clean and usable GUI, Binary Ninja is in active use by malware analysts, vulnerability researchers, and software developers worldwide.
Free versions exist for IDA and Binary Ninja, unfortunately in my experience they do not support the platforms/architectures required for console hacking. I’m happy to be corrected on that if my understanding is obsolete.
What is BinaryNinja-PSVitaLoader
Tools such as IDA Pro or Binary Ninja are able to decompile binaries from a lot of different architectures. Sony’s consoles being very specific however, they are in general not supported “out of the box” in those tools. These decompilers however work with a system of plug-ins to add support for more architectures. Typically, hackers will work from the closest available architecture, and add functionality to handle the headers, etc… for the console.
BinaryNinja-PSVitaLoader is one such plugin to decompile PS Vita binaries in Binary Ninja. The tool is able to load PRX2 and ELF files in the Vita format. (These Vita binaries will need to be decrypted beforehand, of course).
From the Readme:
A Binary Ninja Plugin for PRX2 PS Vita eboot.bin ELFs.
Dynamic linking of modules on the PS Vita is performed by NID(Numeric Identifier) of a function or variable instead of names. The primary purpose of this plugin is to resolve all import/export function/variable names, create symbols for them, and load them back into the default ELF BinaryView at their respective position. This plugin will also add PS Vita(PRX2) specific datatypes with locations in the binary resolved(if applicable). Additionally, this plugin attempts to do some cleanup resulting from the decompilation of the mixed ARMv7/thumb2 instruction sets, removing some misaligned/junk instructions in places where there should have been in-line data.
Download BinaryNinja-PSVitaLoader
You can download the plugin from the project’s release page.
Check the Readme on how to install and use.
Thanks to omo for the heads up!