A question of unraveling prx modules using the prxtool

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
M.Jackson
Posts: 85
Joined: Mon Sep 10, 2007 6:37 pm
Contact:

A question of unraveling prx modules using the prxtool

Post by M.Jackson »

Hi everyone,

Recently I upgraded my psp to 3.71 and downloaded the prxtool from this site to try to look into the 3.71 firmware. I never tried to do anything with the prx before hence I don't know if it has always been this way since the beginning. but in my psp, all the prx modules are located in flash0:/km instead of flash0:/kd as many developers claimed here. Is it just because of the 3.71 firmware or something unusual I could have done to my psp previously that led to this?

In addition, when i try to run the prxtool, all modules but systemctrl150.prx returns the following message:

Error: Magic value incorrect (not an ELF?)
Error: Couldn't load prx file structures

Probably because all those prxs are in encrypted form and could not be disassembled directly (is that true?). If that's the case, how could I turn those modules back to the decrypted form?

Thanks!
cloudhunter
Posts: 86
Joined: Thu Aug 17, 2006 3:27 am

Re: A question of unraveling prx modules using the prxtool

Post by cloudhunter »

M.Jackson wrote:Hi everyone,

Recently I upgraded my psp to 3.71 and downloaded the prxtool from this site to try to look into the 3.71 firmware. I never tried to do anything with the prx before hence I don't know if it has always been this way since the beginning. but in my psp, all the prx modules are located in flash0:/km instead of flash0:/kd as many developers claimed here. Is it just because of the 3.71 firmware or something unusual I could have done to my psp previously that led to this?

In addition, when i try to run the prxtool, all modules but systemctrl150.prx returns the following message:

Error: Magic value incorrect (not an ELF?)
Error: Couldn't load prx file structures

Probably because all those prxs are in encrypted form and could not be disassembled directly (is that true?). If that's the case, how could I turn those modules back to the decrypted form?

Thanks!
You have a fat PSP with 1.50 kernel addon ;) That is what is stored in km.

Show hidden files and folders, and you'll see the kd folder, and then you can use jas0nuk's prxdecrypter.

But to be honest, the best way is to get psardumper and the 3.71 EBOOT, and to dump the firmware decrypted :)

Cloudy
:)
M.Jackson
Posts: 85
Joined: Mon Sep 10, 2007 6:37 pm
Contact:

Post by M.Jackson »

OH!!! can't believe I was fooled by this simple trick of hidden files...Thanks very much for pointing me to the right direction.

Another question concerning prx is: how can we figure out the exact definitions of the exported functions from a prx that was not currently included by the PSPSDK (how do we know how many arguments the function would take or how some of the related constants are defined)? For example, there was a discussion about led.prx which was not covered by the existing SDK. But some one gave out the definition of its exported functions as well as a bunch of constants used by the module. Where did those info come from? Is looking into its disassembly code the only way to figure all these out? What role is the prxtool playing in this?
FreePlay
Posts: 71
Joined: Wed Jan 04, 2006 6:53 pm
Location: Schenectady, New York, USA

Post by FreePlay »

M.Jackson wrote:Another question concerning prx is: how can we figure out the exact definitions of the exported functions from a prx that was not currently included by the PSPSDK (how do we know how many arguments the function would take or how some of the related constants are defined)?
Mostly by disassembling the PRX and manually analyzing the assembly code involved. If you know assembly well enough, you can tend to figure out what params are passed, how many, and what sort they are.
Post Reply