PS3 wait why can't we jailbreak 3000+ systems?

ajddavid452

Member
okay I get it that you need to be on firmware 3.65 to do the old method but why can't we use ps3xploit on the 3000+ models? the exploit exists on all models, because we have HAN, but why can't I let's say jailbreka my CECH-3001A with ps3xploit? does ps3xploit exploit hardware vulnerabilities too?, I also get it that teh cfw wasn't made for 3000+ models, so if you do manage to jailbreak a superslim for example it wouldn't work properly, so there must be some other reason why, waht is it?
 
okay I get it that you need to be on firmware 3.65 to do the old method but why can't we use ps3xploit on the 3000+ models? the exploit exists on all models, because we have HAN, but why can't I let's say jailbreka my CECH-3001A with ps3xploit? does ps3xploit exploit hardware vulnerabilities too?, I also get it that teh cfw wasn't made for 3000+ models, so if you do manage to jailbreak a superslim for example it wouldn't work properly, so there must be some other reason why, waht is it?

It's because of the changes in the "chain of trust" made by s#ny in consoles produced after fw 3.55/3.56 were released.

Until 3.55, s#ny used a flawed algorithm related to the binary files signature & resulting in signing keys being worked out by hackers.
This allowed them to modify system files, resign them, repack them & install them without the system objecting, they had everything they needed to create a CFW.

From 3.56 onwards, changes were made by s#ny that prevent hackers from deriving new signing keys. One of the loaders in the chain of trust (metldr2) was updated making older keys obsolete. metldr2 is found on 3.56 Minver consoles but not used. On 3.60 Minver, except for some very rare consoles, metldr2 is being used.
As a result, we cannot patch & resign the system files properly to make a CFW.

HAN is only a userland exploitation toolset.
A full jailbreak requires the exploitation of userland but also of the lv2 kernel & the lv1 hypervisor. lv1 & lv2 run in protected mode ie the memory they use isn't visible from userland or in a debugger. The code in lv1 & lv2 is not directly accessible, the only way to run kernel code is to use system calls (commonly called syscalls). There are a few hundreds syscalls available from userland.
In order to exploit the kernel, one needs for example to find a bug in a syscall & hope that the bug can be used to somehow divert the execution of the syscall to running pieces of kernel code that would apply jailbreak changes.
In truth, it's more complicated than this & a full ps3 jailbreak will require more than just one lv2 kernel exploit. HAN already uses 3 different exploits to do its job, 2 exploits were necessary just to own userland

Assuming that a full jailbreak is found & released, you still won't get to install a CFW because the system files will still be checked at boot time by the loader & signing cannot be faked as I explained earlier. The jailbreak will be applied at run time through the browser but on every boot the system will still check its files for valid signatures.

To get cfw without the signing keys, you MUST somehow compromise the chain of trust at boot. For the moment, the ps3 post 3.56 chain of trust remains fully secure.
 
Last edited:
It's because of the changes in the "chain of trust" made by s#ny in consoles produced after fw 3.55/3.56 were released.

Until 3.55, s#ny used a flawed algorithm related to the binary files signature & resulting in signing keys being worked out by hackers.
This allowed them to modify system files, resign them, repack them & install them without the system objecting, they had everything they needed to create a CFW.

From 3.56 onwards, changes were made by s#ny that prevent hackers from deriving new signing keys. One of the loaders in the chain of trust (metldr2) was updated making older keys obsolete. metldr2 is found on 3.56 Minver consoles but not used. On 3.60 Minver, except for some very rare consoles, metldr2 is being used.
As a result, we cannot patch & resign the system files properly to make a CFW.

HAN is only a userland exploitation toolset.
A full jailbreak requires the exploitation of userland but also of the lv2 kernel & the lv1 hypervisor. lv1 & lv2 run in protected mode ie the memory they use isn't visible from userland or in a debugger. The code in lv1 & lv2 is not directly accessible, the only way to run kernel code is to use system calls (commonly called syscalls). There are a few hundreds syscalls available from userland.
In order to exploit the kernel, one needs for example to find a bug in a syscall & hope that the bug can be used to somehow divert the execution of the syscall to running pieces of kernel code that would apply jailbreak changes.
In truth, it's more complicated than this & a full ps3 jailbreak will require more than just one lv2 kernel exploit. HAN already uses 3 different exploits to do its job, 2 exploits were necessary just to own userland

Assuming that a full jailbreak is found & released, you still won't get to install a CFW because the system files will still be checked at boot time by the loader & signing cannot be faked as I explained earlier. The jailbreak will be applied at run time through the browser but on every boot the system will still check its files for valid signatures.

To get cfw without the signing keys, you MUST somehow compromise the chain of trust at boot. For the moment, the ps3 post 3.56 chain of trust remains fully secure.

Any improvements in jb 3000 models as of today? ... :(
 
Yes, PS3HEN available at www.**ps3xploit.com >Domain no Longer owned by team** (ps3xploit.me =new)
Still no CFW for the moment but HEN fulfills the needs of most users just needing to run homebrews & use backup games.

I mean on jb 3000+ in order to get CFW, I already knew HEN :)
 
I mean on jb 3000+ in order to get CFW, I already knew HEN :)

for the reason @bguerville mentioned in the second post. we simply don't have the keys. and, based on the way ECDSA works, we likely never will. sony once said the ps3 was unhackable. maybe that would've been true if they had implemented the security correctly, but they didn't, not at first.
 
for the reason @bguerville mentioned in the second post. we simply don't have the keys. and, based on the way ECDSA works, we likely never will. sony once said the ps3 was unhackable. maybe that would've been true if they had implemented the security correctly, but they didn't, not at first.
sony screws up everything...i bet the coffee in their offices tastes like peanut putter.
 
indeed, their arrogance got the better of them with the ps3. @Shaayn , ECDSA relies on two unknowns, which makes the private key impossible to calculate. the equation is known, and it was originally using only one unknown, so it could be solved. one of the values that's supposed to be unknown was static 3.55 and below. I'm not entirely sure of 3.56. it was always hackable, but you needed an E3. I think it was in preparation for 3.60, so not all keys were in place. could be wrong, but I seem to remember that. there's also level 0.2 (a new file for newer ps3s). I think it's some sort of checksum for lv0. we do not know its key either. that's why attempting to decrypt it errors.
 
They made some mistakes, sure, they have been arrogant, sure & they won't budge from their antiquated & archaic policies sure also.
However I don't see any console, OS or software maker faring any better tbph. Anyone looking hard enough will find bugs in most if not all pieces of software out there.

The encryption flaw that allowed private key derivations was of their own making, a terrible tiny mistake with huge consequences that made them look like fools & we know that PSN has been suffering from a number of severe flaws through the years.
But to be fair, over half of other exploited vulnerabilities are actually either BSD, Apple or Adobe etc.. bugs.
Same thing goes for the ps4 afaik.
 
Last edited:
As far as I know a static key was being used for all PS3s prior to ~October 2010 which is why we can hack all those consoles. October 2010 in the low level signing process was changed to use a dynamically generated key and that process has never been cracked to this day.
 
Sorry for gravedigging , but I've always had a doubt since I am not very experienced I never understood..

How did s#ny, with the new non-jailbrakeble consoles, distinguish between legitimate software signed with the old key and the homebrews signed with the same compromised old key ? How did they make it secure without breaking backwards compatibility?
 
Sorry for gravedigging , but I've always had a doubt since I am not very experienced I never understood..

How did s#ny, with the new non-jailbrakeble consoles, distinguish between legitimate software signed with the old key and the homebrews signed with the same compromised old key ? How did they make it secure without breaking backwards compatibility?
they didn't. if they did, HEN would be useless.

they changed a part of the boot process.
 
How did s#ny, with the new non-jailbrakeble consoles, distinguish between legitimate software signed with the old key and the homebrews signed with the same compromised old key ? How did they make it secure without breaking backwards compatibility?
Am gonna try to keep this explanation as clear and technically lightweight as possible, to do so I may deliberately oversimplify things a little at times.

They revoked some app/game IDs afaik but that's about it, they pretty much gave up on existing console models (< fw 3.60) as there was nothing much they could really do, short of a full recall, instead they decided to slightly modify the chain of trust to focus on securing the new PS3 models (3xxx and 4xxx) coming out of their factories.
The new chain of trust remains unbroken to this day, partly because its implementation is more solid, but maybe also because the best hackers who worked on PS3 to date had already moved on to other pastures by the time it was released, in the end, I don't think anyone took up the challenge to defeat the new system with a view to release CFWs for metldr.2 models, keeping in mind also that S#ny didn't appreciate being ridiculed publicly (especially when their supposedly unbreakable ecdsa signature algorithm implementation was shown to be using a constant number rather than a random number to generate signatures and that led to the derivation of their private keys) and was being more than "a little growly" with hackers at the time.
Of course, there's always the possibility that private exploits have been achieved but never shared for a number of reasons.

The improved chain of trust introduces metldr.2 which is in charge of verifying the metadata of system binaries loaded after lv0ldr and lv0, while lv0ldr itself is authenticated using data stored in the cellBE processor, in a location purposefully inaccessible by design, that process is hardware based and not likely to be vulnerable, once lv0 is loaded, the loaders are immediately available as they're embedded into lv0 (appldr, isoldr, rvkldr, lv1ldr, lv2ldr...).

On older consoles made before 3.60, metldr.2 is never used, which is why when you lose jailbreak because you installed OFW, you can simply patch the Flash Memory from OFW using (modded) re-signed CoreOS files and automatically regain jailbreak allowing you to install a CFW.
The re-signing of those patched CoreOS system files is done using old keys, yet it works as you can see, that illustrates for you how the OS does not really differentiate between old and new keys when the old metldr is used.

On newer consoles (minimum version 3.60+), metldr.2 is ALWAYS used, therefore the lower level system files used in boot such as lv0, lv1, lv2 etc.. won't work when re-signed with old keys, that's why we cannot install any CFW even with a kernel (lv2) exploit like HEN or an hypervisor (lv1) exploit. Once HEN is enabled, it patches kernel functions so that the system will accept to run binaries re-signed with old keys but at boot HEN is not enabled so ONLY officially signed OFW binaries can be loaded.

In order to get CFW on 3xxx/4xxx models, we would need to find an exploitable vulnerability in the lower level system files such as lv0ldr or lv0.
It's likely that such vulnerabilities exist, and they could be triggered through specific patches in the Flash Memory (or possibly syscon) where some data those files need to process is stored.
Low level system files often use such data assuming that it's not been tampered with which is a bad assumption to make whenever the data is accessible in read/write mode from userland.

Imagine for example a low level system file processing something like say the revocation list data which keeps track of any revoked file, that data is stored in the Flash Memory (nor or nand/eMMC) and the size of the revocation list data is also stored there. The system file reads the size of the list first then it copies it to the isolated SPU memory for processing.
Now let's say that with a userland exploit, you modify the value stored as size of the revocation list in the Flash Memory in such a way that it would overflow the isolated SPU memory buffer capacity, the system file trusts the data stored in Flash memory implicitly and does not bother to check the validity of the size value it reads there, it starts copying Flash memory data, it exceeds the buffer area, it continues copying and finally begins to overwrite the low level executable code itself, if done properly with a precisely controlled overflow, you can take control of code execution of the isolated SPU this way, from there you could do a number of cool things such as leaking data or ensuring that a revoked file can run etc...
In practice, take the eid_root_key, it can be dumped with the ERK Dumper, that hack follows a very similar method.
 
Last edited:
Am gonna try to keep this explanation as clear and technically lightweight as possible, to do so I may deliberately oversimplify things a little at times.

They revoked some app/game IDs afaik but that's about it, they pretty much gave up on existing console models (< fw 3.60) as there was nothing much they could really do, short of a full recall, instead they decided to slightly modify the chain of trust to focus on securing the new PS3 models (3xxx and 4xxx) coming out of their factories.
The new chain of trust remains unbroken to this day, partly because its implementation is more solid, but maybe also because the best hackers who worked on PS3 to date had already moved on to other pastures by the time it was released, in the end, I don't think anyone took up the challenge to defeat the new system with a view to release CFWs for metldr.2 models, keeping in mind also that S#ny didn't appreciate being ridiculed publicly (especially when their supposedly unbreakable ecdsa signature algorithm implementation was shown to be using a constant number rather than a random number to generate signatures and that led to the derivation of their private keys) and was being more than "a little growly" with hackers at the time.
Of course, there's always the possibility that private exploits have been achieved but never shared for a number of reasons.

The improved chain of trust introduces metldr.2 which is in charge of verifying the metadata of system binaries loaded after lv0ldr and lv0, while lv0ldr itself is authenticated using data stored in the cellBE processor, in a location purposefully inaccessible by design, that process is hardware based and not likely to be vulnerable, once lv0 is loaded, the loaders are immediately available as they're embedded into lv0 (appldr, isoldr, rvkldr, lv1ldr, lv2ldr...).

On older consoles made before 3.60, metldr.2 is never used, which is why when you lose jailbreak because you installed OFW, you can simply patch the Flash Memory from OFW using (modded) re-signed CoreOS files and automatically regain jailbreak allowing you to install a CFW.
The re-signing of those patched CoreOS system files is done using old keys, yet it works as you can see, that illustrates for you how the OS does not really differentiate between old and new keys when the old metldr is used.

On newer consoles (minimum version 3.60+), metldr.2 is ALWAYS used, therefore the lower level system files used in boot such as lv0, lv1, lv2 etc.. won't work when re-signed with old keys, that's why we cannot install any CFW even with a kernel (lv2) exploit like HEN or an hypervisor (lv1) exploit. Once HEN is enabled, it patches kernel functions so that the system will accept to run binaries re-signed with old keys but at boot HEN is not enabled so ONLY officially signed OFW binaries can be loaded.

In order to get CFW on 3xxx/4xxx models, we would need to find an exploitable vulnerability in the lower level system files such as lv0ldr or lv0.
It's likely that such vulnerabilities exist, and they could be triggered through specific patches in the Flash Memory (or possibly syscon) where some data those files need to process is stored.
Low level system files often use such data assuming that it's not been tampered with which is a bad assumption to make whenever the data is accessible in read/write mode from userland.

Imagine for example a low level system file processing something like say the revocation list data which keeps track of any revoked file, that data is stored in the Flash Memory (nor or nand/eMMC) and the size of the revocation list data is also stored there. The system file reads the size of the list first then it copies it to the isolated SPU memory for processing.
Now let's say that with a userland exploit, you modify the value stored as size of the revocation list in the Flash Memory in such a way that it would overflow the isolated SPU memory buffer capacity, the system file trusts the data stored in Flash memory implicitly and does not bother to check the validity of the size value it reads there, it starts copying Flash memory data, it exceeds the buffer area, it continues copying and finally begins to overwrite the low level executable code itself, if done properly with a precisely controlled overflow, you can take control of code execution of the isolated SPU this way, from there you could do a number of cool things such as leaking data or ensuring that a revoked file can run etc...
In practice, take the eid_root_key, it can be dumped with the ERK Dumper, that hack follows a very similar method.
I assume metldr is on an immutable ROM that can't be flashed even by Sony, which is why they can't patch older consoles?

Personally I don't believe CFW for 3000+ will ever happen; there's just not enough interest. HEN already has most of the features people need and for those who really need true CFW you can easily get a 2nd hand phat PS3 for like $100 on eBay. It's understandable that most modders have moved to PS4/PS5 at this point.
 
They can but such change will perm brick console. ;]

Since most people interesting only game copies, then yes, there is not much interesting in hack it and even most of stuff available on CFW can be done on HEN. The only real flaw for end user is lack of access to HDD/eMMC because we don't know how to read ERK, yet again, most of people doesn't care about their data like saves or trophies, and licenses can be easily retrieved via warez, like games too. Maybe one day, in far far future, someone will look at PS3 again, treating it as curiosity, fun, fame, whatever. Just to remind that in PS2 world, the DVD-Video Player, Dragon and YABasic exploits was found in last two years. Extreme gap between such kind of hacking. ^^
 
Last edited:
I assume metldr is on an immutable ROM that can't be flashed even by Sony, which is why they can't patch older consoles?
Is inside flash chip, we can read and write it, but is encrypted at factory using a key unique for every CELL unit (in other words, only your CELL can decrypt your metldr). And we cant dump the CELL key

For sony... the problem they had is the PUP firmware installers doesnt allows to update some of the lower stages of the bootchain... is like a flaw of the PUP format but it was made on purpose for security reasons
There was some controversial discussions about it because there was some people telling the PUP format can do it... but sony never did it so we are not completly sure if is posible

The long story short is the PUP firmware installers cant update it, and we dont have a replacement for it anyway (because we cant sign a custom metldr with the unknown CELL key)

*This applyes also to bootloader, both bootloader and metloader are encrypted with the CELL key
 
Is inside flash chip, we can read and write it, but is encrypted at factory using a key unique for every CELL unit (in other words, only your CELL can decrypt your metldr). And we cant dump the CELL key

For sony... the problem they had is the PUP firmware installers doesnt allows to update some of the lower stages of the bootchain... is like a flaw of the PUP format but it was made on purpose for security reasons
There was some controversial discussions about it because there was some people telling the PUP format can do it... but sony never did it so we are not completly sure if is posible

The long story short is the PUP firmware installers cant update it, and we dont have a replacement for it anyway (because we cant sign a custom metldr with the unknown CELL key)

*This applyes also to bootloader, both bootloader and metloader are encrypted with the CELL key
Oh, so probably not even Sony can decrypt it, they can just wipe it, which is the reason for Berion's statement that they can brick the console but not properly patch it to remove the weak keys.
Sounds like a poor man's ROM chip to me, probably because proper ROM chips are a lot more expensive than flash at this point. Sony probably did that intentionally so not even a full lv1 exploit would allow you to create an untethered exploit (similar to what Apple does with the iPhone) but it backfired when that early stage loader had an exploit itself.
 
Oh, so probably not even Sony can decrypt it, they can just wipe it, which is the reason for Berion's statement that they can brick the console but not properly patch it to remove the weak keys.
Sounds like a poor man's ROM chip to me, probably because proper ROM chips are a lot more expensive than flash at this point. Sony probably did that intentionally so not even a full lv1 exploit would allow you to create an untethered exploit (similar to what Apple does with the iPhone) but it backfired when that early stage loader had an exploit itself.
The RSX have a ROM inside it to store his "firmware" but is not updated ever, and i guess CELL could have his own ROM inside it too but im not sure

I guess what sony does at factories is... everytime a new console is assembled they stores his serial number together with all his component ID's and keys in a database (a huge database containing all the info from all the PS3 production), so if there is some official repair service that requires a key (lets say because they needs to replace the bootloader, or because the console cant be repaired so they needs to "clone" it to transfer the hdd data to the new console) they just makes a query to the database server to ask for his keys

Not sure if they was doing it so soon with the PS3, but nowadays there are many manufacturers that does this, is a nice way to control the production too, the idea is to keep a record of every single component used in every manufactured console. Nowadays this is made using blockchain technology to prevent any mistake and to secure all that data, the concept is they creates a hash of all this data for a single console, and the next "block" of the "chain" (for the next manufactured console) is dependant of that hash from the previous... this way the chain cant be broken and all the blocks of the chain are dependants of the others
 
Back
Top