128w ago - As a follow-up to his recent
PS3 SELF Decrypter PSGroove Payload and
PS3 3.50 Firmware Decryption work, today PlayStation 3 developer
graf_chokolo has released a PS3 LV2 Kernel Decrypter payload for PSGroove.
Download:
PS3 LV2 Kernel Decrypter PSGroove Payload /
GIT
To quote from his comment on
xorloser's blog, linked above:
graf_chokolo says:
I just release my lv2 kernel decrypter

You need metldr, lv2ldr, RL_FOR_PROGRAM.img and lv2_kernel.self. You have first to dump your metldr from FLASH memory. lv2ldr you will find also in your FLASH memory or in decrypted CORE_OS_PACKAGE.pkg from PUP files.
RL_FOR_PROGRAM.img is a revoke list for programs and can be also found in PUP files. lv2_kernel.self is on your FLASH memory or in decrypted CORE_OS_PACKAGE.pkg.
First i send all files to PS3 and store them in memory. After that i load metldr in isolation mode and pass it the addr e ss of lv2ldr. The code is very low level and many things are done by directly manipulating SPU registers
If you have any questions or problems then feel free to contact me or ask here. I will try to help you. I will try to document my findings on my homepage
I also uploaded a code which can communicate with USB Dongle AUthenticator by using Dispatcher Manager without using any GameOS functions

It’s exactly what GameOS does, just low level
Have fun guys
lv2_kernel.self from 1.10 firmware decrypted
http://pastie.org/1360067
Guys, just to make sure that you know

LV2 decrypter is also PS2 emu decrypter, just change LPAR auth id in code

PS2 emu is like GameOS, it’s LV2 and is decrypted by lv2ldr
Just decrypted vsh.self from 1.10 firmware

Just like old good days
I decrypted software_update_plugin.sprx but didn’t have time to reverse it yet
metldr
Loading metldr
- Physical/Virtual memory address of an isolation module that should be loaded by metldr is written into SPU register SPU_In_Mbox. The SPU register SPU_In_Mbox is 32bit, so 64bit memory address is written in 2 steps.
- MFC relocation is turned off by clearing R-bit in SPU register MFC_SR1. By doing this, HV enables real address mode for MFC of SPU.
- On GameOS, it also works with relocation on. You just have to initialize SLB of SPU and insert valid SLB entries.
- Physical/Virtual memory address of metldr is written to SPU registers Sig_Notify1 and Sig_Notify2
- Isolation load request is enabled by writing SPU register SPU_PrivCntl
- Isolation load request is made by writing value 0x3 into SPU register SPU_RunCntl
Methods
SPE_load_request_metldr - 0x002B00A4 (3.15)
lv2ldr
- lv2ldr is used to decrypt lv2_kernel.self
- syscalls 0x10042 and 0x1004A use lv2ldr
- syscall 0x10042 is used by HV Process 3 during LV2 LPAR construction
- syscall 0x1004A uses different parameters as syscall 0x10042
Methods
SPE_load_request_lv2ldr_1 - 0x002AE82C (3.15)
SPE_load_request_lv2ldr_2 - 0x002AE8D8 (3.15)
Loading lv2ldr
- 64 bit memory address of lv2ldr is written into 32 bit SPU register SPU_In_Mbox
- metldr is loaded
Decrypting SELFs with appldr and lv1_undocumented_function_99
- lv1_undocumented_function_99 loads and prepares appldr for SELF decryption.
- When appldr is ready to decrypt data, it sends a message via mailbox.
- The address and the size of the encrypted data is passed to appldr via a shared memory.
This would only work with digital only content, because prior to purchasing the newest game it could then prompt you that your hardware is inadequate (that's not what she said
I think, for the developers who put months or years of their lives into these games, they'd want to do those updates and make their work really shine. It's the publishers, and sony's own restrictions, that would make things difficult. Publishers don't want to spend any more money once a game is released, and sony would of course require the patches to be run through the full QA again, which means it's not just a fire-and-forget patch - the publisher has to keep the developers on payroll long enough to make sure it passes QA.
Ouch, so much for that. Oh well, one can dream... and nice Office Space reference.
In the next generation of consoles they should design them with upgrades in mind. It would have been nice to upgrade the PS3 to play games at 60fps instead of 20, and dare I say it... in real 1080p (outrageous, I know, since most games are not really even 720p). This is unlikely, especially since older games may have to be patched and we all know how lazy-as-hell developers are... especially those at Sega, Namco, Tecmo, Capcom, Squarenix, EA, THQ... okay, all of them.
This cannot be used on the PS3 since the IOIF which can be configured to be used as a BIF interface is already used by the RSX.
+1 By "external", they mean external to the processor system described in the patent, not external to a PS3. Now everyone put away their Jump to Conclusions mat.