PS3 [DEV} PS3MFW Builder MOD

I think I finaly found the main issue :)

My feeling was it's an issue with the LV0 decryption/signature that's wrong using unself/iso_rebuilder (or self_rebuilder) versus using SCEtool (test4 vs test5).
So, I compared the 4.81 lv0 keys used by SCEtool (the "keys" file) and those used by the PS3tools (the binary files lv0-xxxx-481).
Then I found that the ctype used by SCEtool as been set to 0x33 versus 0x30 for the PS3tools...

I modified the LV0-ctype-481 with the 0x33 value, done test4 again, and it works!!!

I don't know what are those curve types exactly but I had a quick look, it seems there is many other keys in this case (lv1...).

Ugg.. I don't know why, mine has it as 0x30 since (4.46) and it still worked for me if my memory serves right.. but @habib can explain it better for you
 
According to the wiki, the curve type of lv0ldr is 0x33 although the wiki value is taken from a pre 4.xx fw...
But as it's also the value used successfully by scetool in the keys file for 4.46+ lv0ldr as littlebalup mentioned, it's likely that the information is correct for 4.46+ fw.
 
Last edited:
According to the wiki, the curve type of lv0ldr is 0x33 although the wiki value is taken from a pre 4.xx fw...
But as it's also the value used successfully by scetool in the keys file for 4.46+ lv0ldr as littlebalup mentioned, it's likely that the information is correct for 4.46+ fw.
This is not going to add much info, but i been taking a look at the history of changes of the wiki page just to see if at some point has been a typo in wiki with that 0x33
But no typos in wiki with it, has been always 0x33 since 2013 or so
 
strange story... it's crazy it has not been identified since four years.
If somebody can reproduce the experience it would be nice. I hope I'm not crazy myself... maybe drunk but not crazy...
 
Last edited:
Hmm... There must be an explanation though...
It would be truly amazing if Joonie (and others who used the keys in multiple files format) used a wrong curve type for lv0 to compile cfw for years without consequences...

@Joonie
Which tool are you using again to decrypt/encrypt lv0?

@littlebalup
Did you say that there are other keys with the same kind of discrepancies?
 
Hmm... There must be an explanation though...
It would be truly amazing if Joonie (and others who used the keys in multiple files format) used a wrong curve type for lv0 to compile cfw for years without consequences...

@Joonie
Which tool are you using again to decrypt/encrypt lv0?

I only use SCEtool for building REBUG on these days, but before I used to use unself, self_rebuidler and iso_rebuilder
 
I also use LV0tool + SCEtool and I have no problems.
I had added time to do it in the dev area, my lv0 decrypter. If I do not mistake it's 0x33 the curve type.

I guess probably @littlebalup is right about 0x33 as @sandungas also mentioned it about that wiki stuff.

I maybe just mistaken, but I do remember I used to have hard time dealing with this unself/iso_rebuilder stuff when I just started messing with CFW. At the end I was able to fix the issue without knowing that was an issue with ctype [it could have been or not still mystery]
 
Iso-rebuilder should only be used to sign isolated loaders (appldr, lv1ldr, lv2ldr and isoldr) inside lv0.elf. Then use lv0tool to inject those 4 ldrs to lv0.elf

Everything else has to be signed with self rebuilder including lv0.elf if my memory serves right.

I only used this iso/self rebuilder for making DB OFW while back. Because I could not use those for making REX CFWs due to the size limit inside CoreOS (roughly about 7MB)

Now that the lv0 curves type set to 0x33, I done few more tests using self_rebuilder vs iso
So, about using self_rebuilder to resign lv0, I get a GLOD on boot. All run fine using iso_rebuilder for the three lv0, isoldr and spu_pkg_rvk_verifier module.

Looking at the wiki (http://www.psdevwiki.com/ps3/Making_Isolated_SPU_Modules_and_Loaders#ps3tools), Glevand said:
self_rebuilder doesn't work properly with isolated SPU modules or loaders. Therefore, i made a new tool which works with isolated SPU modules and loaders. It's called iso_rebuilder and is a modified version of self_rebuilder.

So, "isolated SPU modules" includes the spu_pkg_rvk_verifier module of course and "loaders" seems to include lv0 as well.


I'll try to make a test with anther 4.46+ firmware version this week end.

P.S: Can I say I made my first CFW? The "littlebalup 4.81 DB"... lol ;)
 
Now that the lv0 curves type set to 0x33, I done few more tests using self_rebuilder vs iso
So, about using self_rebuilder to resign lv0, I get a GLOD on boot. All run fine using iso_rebuilder for the three lv0, isoldr and spu_pkg_rvk_verifier module.

Looking at the wiki (http://www.psdevwiki.com/ps3/Making_Isolated_SPU_Modules_and_Loaders#ps3tools), Glevand said:


So, "isolated SPU modules" includes the spu_pkg_rvk_verifier module of course and "loaders" seems to include lv0 as well.


I'll try to make a test with anther 4.46+ firmware version this week end.

I see, I must have been mistaken, because last time I used those tools was like almost 3 years ago. So Iso-rebuilder works for all modules inside CoreOS
 
curve type will remain/is same for all firmwares lv0
its related to ecdsa signature
invalid signature will brick and that goes for lv0 and loaders OR if you dont patch them, then ecdsa of lv2/lv1/appldr/isoldr

and yes loaders do include lv0, easy way to check this is compare size of elf and size of self, the difference should be around 1kb only(926 vs 925 for lv0)
 
for those who have doubts about curve type, just dump your own lv0ldr and look inside... for memes :D

edit:
8u6R11l.png
 
Last edited:
for those who have doubts about curve type, just dump your own lv0ldr and look inside... for memes :D

edit:
8u6R11l.png

I don't doubt we've been using 0x33, because that's what I got for scetool's keyset :)

But it's weird that I had 0x30 for isorebuilder lol oh well I haven't used it since 2014


Sent from my iPhone using Tapatalk
 
Back
Top