Release SPU Debugger IDA PRO (Integratet anergistic support)

Storm Shadow

Administrator
Staff member
Developer
Ida Pro Expert
Elite Cracker
I had some spare time this weekend, and i have been reading up on my Python.
So i set the goal for adding debugging support for SPU proccesor in ida, since the procs. is written in Python.


Download the package at the buttom and overwrite the files in ida dir.

You can edit the line in gdb_arch.cfg if you dont have ida in c:\ida

Code:
set QEMUPATH  C:\ida\plugins\SpuDebug
to what ever you have.



You have to have Python installed correctly
see http://techbliss.org/threads/setting-up-ida-with-pyside-and-pyqt-it-makes-big-difference.211/
for help.(there are finished packages there somewhere)

first set system environment setting


http://www.itechtics.com/customize-windows-environment-variables/

PATH
add ;cygwin\bin

make new one called

IDADIR
c:\ida

Turn Firewall off when debugging or pass it throug or it wont connect.

restart PC

okay fire up ida and load a spu.elf file.
choose spu proccessor

XpS6ZRQ.png


Right away after its loaded you would notice that we can selct debuggers, the original spu dosent support this.

XA0No5W.png


I code so it start with the remote gdb debugger since this is what we need,

we have to setup some small stuff before we start
press debugger options at the top.

KTf5RjY.png


tick run program before debugging and choose configoration.

SunSmym.png


Now i have made two options we can choose from.

Debugger or dump ls

We start with dump since its the fun one.

cCYwhgx.png


press ok ok ok.

i will give a short explainasion later.

press run the green arrow and it dumps the ls.bin

vs00iDF.png


now we test out the live debugger option
We chosse under debugger settings again.

fDvFls8.png


IMPORTANT !!
we have to have max package size set to 1024

EFXvuxX.png


press ok

tick stop on debugging start it seems to be the most stable.
then click edit exeptions in the buttom.
lpQHoqr.png


Locate SIGABRT and press right click edit and untick stop.
9UsPOOd.png


You press the green arrow again to run or
set Breakpoint and run to cursor.

:cool:

7RPOelx.png


success

We can now write custom anergistic to do spesific needs.
Remeber anergistic is basicly gdbserver in a shell.

Little more about the Dumper module
I use a custom version off Anergistic.

that works with patching my way throug a spu file.

when loaded any spu module it loads a spesial patcher module also.

Credits to computerline :)

You find it under views>> subview >> patches.
press that.

rpYiK7W.png


under edit >> patches you have two new options.

selct the jump in graph view and select edit selction.
vHmomqz.png

patch

and go to patch windows >> right click and refresh

l43Sxgl.png


Now dump that ls.b ;)

https://anonfiles.com/file/86da270cd8faefafa35f4a3c0f7cd904
 

Attachments

  • 1397413427240(1).rar
    654.8 KB · Views: 33
Last edited:
Top