Post: [Slynk's Revenge] PS3 + IDA Tutorial
06-17-2011, 11:03 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); First off, I will not help you obtain a copy of IDA. Go buy it.

You must login or register to view this content.

Extract the contents into your IDA folder. I don't take credit for these plugins and loaders.

Loading a File

There are two file types I'll teach you to load. SPU and ELF files.

SPU files can only loaded in IDA 32bit mode. When you load IDA choose "Go" and drag the file onto IDA. Make sure elf is highlighted at the top. In processor type, choose "IBM SPU Cell Processor: spu." Click set. Click OK. "Undefined or unknown...blabla" yes. You should be good to go.

Elf files can be loaded in either 32 or 64 bit mode. When you load IDA choose "Go" and drag the file onto IDA. Make sure PlayStation 3 ELF is highlighted at the top. Don't mess with the processor type. Kernel option 1 check "Create function if data xref data-> code32 exists.

Optional: I don't know what these do but I turn them on anyways XD In kernel option 2 choose "Coagulate data segments in the final pass", "Perform 'no-return' analysis", and "Perform full stack pointer analysis."

Click OK. Sometimes you get a better result from running the analyze_self script. (File->IDC File->C:/Program Files/IDA/idc/analyze_self.idc) Hit yes, copy the TOC Address it shows you and click OK. Go to Options->General->Analysis->Processor specific analysis options. Type the TOC address in (I use 0: instead of 0x to be safe. No clue if it makes a difference.) While you're at it click "Create subi instructions. Click OK. Click Reanalyze Program. Click OK. And wait.

You'll know when a script is done because at the bottom left it's say "AU: idle".

IDA Basics

Just a few things. The program is expansive and I'd love to get to know more about it but here's a few things I know. Hex view and IDA view are connected. That means if you find a string in hex view, you can see it in IDA view. This won't show you magically where it's used at but sometimes, that string is xrefed. If under the string you see "# DATA XREF: " you can right click the "Gaspff_XXXX" at the end, and choose XREF To or From. To, will give you a graph of any functions that have a call "to" that offset. From give's a graph of offset's called "from" that offset (mostly only useful for viewing a graph of where all a function leads to.)

In IDA view, you can search for either an immediate value, a string, or a byte sequence. I've never "not" checked "find all occurrences." Don't know why you wouldn't want to. It'll return a list of occurrences in its own window.

If you're lucky, the file you scanned will have some of the functions named (something other than sub_, nullsub_, or start). These are known functions that are defined in the ps3 sdk.

When exiting, always make sure, unless you WANT to re analyze the whole file again, to choose one of the Pack database options and Collect garbage.


Source:
You must login or register to view this content.


-XxUSSoldierXx


Future Hacker!
(adsbygoogle = window.adsbygoogle || []).push({});
06-17-2011, 11:12 PM #2
-Daemon-
HELL IS HERE
Old news been posted before
06-17-2011, 11:15 PM #3
Originally posted by DAEMONFOX View Post
Old news been posted before


i looked for same results and nothing poped up, soo idk prolly old news, but its good to help people out a bit
06-17-2011, 11:16 PM #4
-Daemon-
HELL IS HERE
Ya but still old news sorry bud
06-17-2011, 11:17 PM #5
JonnyWilson_1
J O N N Y W I L S O N 1
does mean like qa-flag or something?
06-17-2011, 11:18 PM #6
Originally posted by 1 View Post
does mean like qa-flag or something?


it has something to do with it but i'm not testing sry

The following user groaned XxUSSoldierXx for this awful post:

shaneod

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo