BLC Plugin for IDA 7.0 and 7.2(PS3 PPU and SPU supported)

zecoxao

Developer
Decided to create/modify an ida plugin for PS3 PPU and SPU Modules Decompilation on IDA Pro using ghidra sleigh files.
Currently it works well on ps3 ppu self, sprx,etc
Partial support for isolated selfs (spu) since spu is a 128 bit architecture, and support isn't complete for it.
Essentially, you replace the dll according to the corresponding file you're analyzing, then you click on a function and press alt f3 and it should decompile it for you.
You can see how to place the files in https://github.com/cseagle/blc/blob/master/README.md
Together also comes attached the plugin code that i modified.
Enjoy :)
 

Attachments

hey im trying to get this to work, ive added the ghidra stuff "<idadir>/plugins/Ghidra/Processors" just like it says, placed the plugins, and the proper "blc64" for .self files, i select the instruction, decompile and ida freezes, the function is rather big, and the default IDA decompiler also freezes (function is bigger then 128kb idk the exact size)
 
Even graph view fail on it. But to be honest while function is big, it seems to do simple stuff only. Looks like some init that register engine scripts/commands. Probably analyze with live debugger will be easier to figure that out.

I think that even if blc will run correctly, you will get complete mess as decompilation. Not much more readable that current disassembly.
~270 variables on stack, what can go wrong. :P
 
Even graph view fail on it. But to be honest while function is big, it seems to do simple stuff only. Looks like some init that register engine scripts/commands. Probably analyze with live debugger will be easier to figure that out.

I think that even if blc will run correctly, you will get complete mess as decompilation. Not much more readable that current disassembly.
~270 variables on stack, what can go wrong. :P
It's some type of lua system I'm not entirely sure how it works, the game has a fully intact debug menu that I've reversed and figured out how it works, ghidra attempted to decompile but after 20 minutes it said function was bigger than 50mb LOL
 

Similar threads

Back
Top