Talk:IDA pro disassembler and debugger: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
m (Text replacement - "http://web.archive.org/web→‎/http://ps3devwiki.com/files" to "https://web.archive.org/web/: http://ps3devwiki.com/files")
 
(8 intermediate revisions by 3 users not shown)
Line 24: Line 24:


-> 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 [https://web.archive.org/web/*/http://ps3devwiki.com/files/devtools/anergistic/#2000330-Pastie.txt] (runs aim_spu_module) (plus if you dump your console specific EID key, you can decrypt it with that ;))




Line 36: Line 36:
**if you're getting error that python lib wasnt found copy Python27\libs\libpython27.a + python27.lib into MinGW\lib
**if you're getting error that python lib wasnt found copy Python27\libs\libpython27.a + python27.lib into MinGW\lib
*have fun
*have fun


==changing branches,instructions etc. ==
==changing branches,instructions etc. ==
Line 50: Line 49:


http://wiibrew.org/wiki/Assembler_Tutorial
http://wiibrew.org/wiki/Assembler_Tutorial
== PPCJT Link Dead ==
I'm referring to the Arkitel link.
Would anyone be so kind as to link to PPCJT 0.3 source code or the binary itself?
Kakaroto's GitHub is 0.2. I tried it out, but got a 189 internal error.
[[Special:Contributions/99.179.99.12|99.179.99.12]] 06:32, 21 April 2013 (MSK)

Latest revision as of 06:12, 17 April 2023

SPUD[edit source]

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 :)




Anergistic[edit source]

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 [1] (runs aim_spu_module) (plus if you dump your console specific EID key, you can decrypt it with that ;))


wanna compile in win7 64bit with mingw32 and python27+ ?
small steps:

  • incase python27+ didnt set system variable,
    • var name: PATH
    • what to add: c:\Python27 or where u installed it
  • makefile http://pastie.org/2758605
    • change paths to correct ones
    • if you're getting error that python lib wasnt found copy Python27\libs\libpython27.a + python27.lib into MinGW\lib
  • have fun

changing branches,instructions etc.[edit source]

consider lookin at the opcode reference: ppc-opcode-table

(no more asking in irc, yay!:D)

power pc assembly understanding[edit source]

the wii's cpu is a powerpc too, so the instruction set doesnt differ at all.. this will give a good explanation of what each instruction does and how to understand it!

http://wiibrew.org/wiki/Assembler_Tutorial

PPCJT Link Dead[edit source]

I'm referring to the Arkitel link. Would anyone be so kind as to link to PPCJT 0.3 source code or the binary itself?

Kakaroto's GitHub is 0.2. I tried it out, but got a 189 internal error.

99.179.99.12 06:32, 21 April 2013 (MSK)