Skip to content

Latest commit

 

History

History
78 lines (61 loc) · 1.76 KB

README.md

File metadata and controls

78 lines (61 loc) · 1.76 KB

bninja-ps3

Work-in-process Cell PPU (Playstation 3) ELF loader for Binary Ninja 4.x. Only supports decrypted PS3 executable ELFs EBOOT.BIN.

Tested with Binary Ninja:

  • 4.1.5902-stable
  • 4.2.6455-stable

Usage

Plugin Manager

  1. Open binary ninja, Plugins -> Manage Plugins
  2. Search for ps3
  3. Install the binja-ps3 plugin
  4. Load a decrypted PS3 executable
  5. Select Playstation 3 ELF binary view

Syscalls

To define syscalls:

  1. Right-click anywhere
  2. Plugins
  3. ps3-syscall-sweep

Syscalls will then appear under System types. Code references might be incomplete if run before analysis can finish or where decompilation fails.

Known Issues

  • DWARF symbols are not recognized
  • library import definitions don't have arguments
  • system call definitions don't have arguments
  • system calls are not registered with platform/system and thus are not lifted
  • not tested on ELFs with multiple TOCs
  • bninja does not lift many PPC instructions, breaking decompilation

Non-exhaustive list of unsupported instructions:

clrldi
lfs
fcmpu
stfs
lfd
fmuls
fadds
fmadds
fdivs
mtocrf
frsp
fcfid
cmpdi
fmr
stfd
vmaddfp
psq_lx
stvx
lwarx
stwcx

License

This plugin is released under an MIT license.

Resources