Talk:IDA pro disassembler and debugger: Difference between revisions
No edit summary |
|||
Line 25: | Line 25: | ||
-> Look into channel.c if you want to control DMA directly from C code (you will have to write your own handler) or use the provided spu.py script. MFC (memory flow controller) class controls the communication done by wrch and rdch from the SPU (e.g. DMA, mailbox, etc.) and the SPU class has methods to load and run spu binaries. You should look up on how to communicate with an SPU/how to communicate from the SPU (to emulate the instructions) in the official Cell/B.E. docs at IBM. | -> Look into channel.c if you want to control DMA directly from C code (you will have to write your own handler) or use the provided spu.py script. MFC (memory flow controller) class controls the communication done by wrch and rdch from the SPU (e.g. DMA, mailbox, etc.) and the SPU class has methods to load and run spu binaries. You should look up on how to communicate with an SPU/how to communicate from the SPU (to emulate the instructions) in the official Cell/B.E. docs at IBM. | ||
-> Also: http://pastie.org/2000330 (runs aim_spu_module) (plus if you dump your console specific EID key, you can decrypt it with that ;)) | -> Also: http://pastie.org/2000330 (runs aim_spu_module) (plus if you dump your console specific EID key, you can decrypt it with that ;)) | ||
==changing branches,instructions etc. == | |||
consider lookin at the opcode reference: | |||
[[http://www.opensource.apple.com/source/cctools/cctools-667.8.0/as/ppc-opcode.h ppc-opcode-table]] | |||
(no more asking in irc, yay!:D) |
Revision as of 18:22, 12 September 2011
SPUD
https://github.com/naehrwert/spud
spu decompiler. sort of. This decompiles spu binaries (ELFs). Right now it finds subroutines and all references between them. It also tries to determine if a subroutine is reachable, but the problem of plain statical analysis is, that it doesn't find indirect calls to subroutines. Next it builds the control flow graph for all subroutines and determines the edge types.
So please help me a little with this project :)
- http://git-hacks.com/ps3-ida-shared-databases
- http://sourceforge.net/projects/collabreate/ // http://www.idabook.com/collabreate/
Anergistic
If anyone knows how to use anergistic, please document it. Specially how to DMA
An example would be excelent
-> Look into channel.c if you want to control DMA directly from C code (you will have to write your own handler) or use the provided spu.py script. MFC (memory flow controller) class controls the communication done by wrch and rdch from the SPU (e.g. DMA, mailbox, etc.) and the SPU class has methods to load and run spu binaries. You should look up on how to communicate with an SPU/how to communicate from the SPU (to emulate the instructions) in the official Cell/B.E. docs at IBM. -> Also: http://pastie.org/2000330 (runs aim_spu_module) (plus if you dump your console specific EID key, you can decrypt it with that ;))
changing branches,instructions etc.
consider lookin at the opcode reference: [ppc-opcode-table]
(no more asking in irc, yay!:D)