diff options
Diffstat (limited to 'src/ps3')
| -rw-r--r-- | src/ps3/ReadMe.md | 24 | ||||
| -rw-r--r-- | src/ps3/cell_loader.cpp | 1 | ||||
| -rw-r--r-- | src/ps3/cell_loader.h | 1 | ||||
| -rw-r--r-- | src/ps3/ps3.cpp | 1 |
4 files changed, 25 insertions, 2 deletions
diff --git a/src/ps3/ReadMe.md b/src/ps3/ReadMe.md new file mode 100644 index 0000000..0c263ff --- /dev/null +++ b/src/ps3/ReadMe.md @@ -0,0 +1,24 @@ +# ps3ldr +An IDA Pro loader for PS3 Cell Lv-2 OS. + +## Features +* Loads symbols +* Processes and labels exports and imports +* PRX relocation +* Find and set TOC address + +## Usage +### NID Database +This loader expects an NID xml database named `ps3.xml` to be present within IDA's loaders directory. For convenience, it is the same xml database format that was used in xorloser's loader. + +Example: + + <?xml version="1.0"?> + <IdaInfoDatabase> + <Group name="moduleName"> + <Entry id="0x1529E506" name="cellAdecDecodeAu"/> + </Group> + </IdaInfoDatabase> + +### PRX Relocation +Relocation of PRX's is possible by checking the *Manual Load* checkbox in IDA's *Load New File* dialog, then before loading the loader will ask for a relocation base address.
\ No newline at end of file diff --git a/src/ps3/cell_loader.cpp b/src/ps3/cell_loader.cpp index f548185..f6be58a 100644 --- a/src/ps3/cell_loader.cpp +++ b/src/ps3/cell_loader.cpp @@ -20,6 +20,7 @@ cell_loader::cell_loader(elf_reader<elf64> *elf, inf.demnames |= DEMNAM_GCC3; // assume gcc3 names inf.af |= AF_PROCPTR; // Create function if data xref data->code32 exists + inf.filetype = f_ELF; char databasePath[QMAXPATH]; diff --git a/src/ps3/cell_loader.h b/src/ps3/cell_loader.h index 40581d5..fc8a386 100644 --- a/src/ps3/cell_loader.h +++ b/src/ps3/cell_loader.h @@ -1,4 +1,3 @@ - #pragma once #include "elf_reader.h" diff --git a/src/ps3/ps3.cpp b/src/ps3/ps3.cpp index 19920a8..53243cc 100644 --- a/src/ps3/ps3.cpp +++ b/src/ps3/ps3.cpp @@ -1,4 +1,3 @@ - #include "../elf_common/elf_reader.h" #include "cell_loader.h" #include "sce.h" |
