Update: Chinese PlayStation 3 developer xoeo at A9VG.com has now released a working PSGroove payload to spoof PS3 Firmware version 3.15 / 3.41 to 3.50 along with some PSGroove hex codes, as follows:
Downloads: PSGroove PSN Yes 3.15 Hex Code / PSGroove PSN Yes 3.41 Hex Code / Hermes v4b PSN PS3 Yes Hex Code (80010009 Error Fix) / Port1 Hermes v4b PSN (PS3 Yes Pro) / Arduino PL3 (PSN) + Hermes v4b / Arduino PL3 (PSN) + Hermes v4b (PSN) / PSN Payload For PS3 Break v1.1 / Olimex PSN Hermes v4b 8mhz Hex Code / PSFreedom v1.5 Dingoo (PSN) / PSFreedom Palm Pre (PSN) / AVRKey PSN Hermes v4b Blinky LED Hex Code / AVRKey PSN Hermes v4b Working LED Hex Code / AVRKey Hermes v4 PSN Math Netkas Blinky LED Hex Codes / Blackcat PSN Hermes v4b Blinky LED Hex Code / Blackcat PSN Hermes v4b Working LED Hex Code / Blackcat Hermes v4b PSN Math Netkas Blinky LED Hex Codes / Hermes v4b PSN Math Netkas Blinky Multiboard Hex Codes / Maximus PSN Hermes v4b Blinky LED Hex Code / Maximus PSN Hermes v4b Working LED Hex Code / Maximus Hermes v4b PSN Math Netkas Blinky LED Hex Codes / Minimus Hermes v4b PSN Math Netkas Blinky LED Hex Codes / Minimus PSN Hermes v4b Blinky LED Hex Code / Minimus PSN Hermes v4b Working LED Hex Code / Minimus v2.0 Hermes v4b AVR USB Atmega32u2 16Mhz / PS2Chipper PSN Hermes v4b Working LED Hex Code / PS2Chiper Hermes v4 PSN Math Netkas Working LED Hex Code / PSGroove Hermes v4b PSN Mathfix4all OpenKubus Hex Codes / XPlain PSN Hermes v4b Hex Code / Teensy 2.0 PSGroove Hermes PSN Hex Code / Vidarino PL3 (2.76 - 3.41) 11-10-2010 TI-84+ / Vidarino PL3 (2.76 -3.41) 11-10-2010 TI-89 / PSN Hermes V2 TI-84 Hex Code / PSN Hermes V2 TI-89 Hex Code / Hermes v4 PSN Math Netkas Teensy 2.0 Hex Code / Hermes v4 PSN Math Netkas Teensy++ 2.0 Hex Code / Hermes v4 PSN Math Netkas Xplain Hex Code / PSGroove PSN v3 Hex Codes / PSGrooPIC SysVer 3.50 v2.01 Hex Codes / PSGrooPIC PSN PL3 Hex Codes / PIC18F iLLNESS PSN PL3 Hex Codes / PIC18F iLLNESS Hermes V4B PSN 3.41 18Fxxxx LEDB145C0 C1 USBHID Hex Code / PIC18F iLLNESS Hermes V4B PSN 3.41 18Fxxxx LEDB145C0 C1 PICDEM Hex Code / Mini1g Rockbox Hermes V4b PSN / Mini2g Rockbox Hermes V4b PSN / Nano1g Rockbox Hermes V4b PSN / Photo4g Rockbox Hermes V4b PSN / Video5g Rockbox Hermes V4b PSN / Rockbox PL3 PSN FW 3.41 / Nano1g, Mini1g Mini2g, Photo4g, Gray4g, and Video5g Rockbox Hermes v4b Math PSN / PL3 c200/e200 v1 3.41 PSN / PSN Payload Source / PSN Hermes Ubuntu V4B Fixed / Hermes PSN Math All Boards Hex Code Pack / PSGroove All Hex Codes PL3 Default PSN / Hermes v4 PSN Math Netkas All Hex Codes Pack / PL3 Default Vidarino Ecosystem 3.41 Hex Codes / PL3 Dev Vidarino Ecosystem 3.41 Hex Codes / PSGrooPIC PSNDEBUG2 PL3 Hex Codes / PIC18F P3Free iLLNESS Hermes V4B PSN 3.41 Hex Code / Hermes v4 Minimus32 (Atmega32U2) PSN Math Netkas (Switching LED) Hex Code / PIC18F P3Free iLLNESS HermesV4B PSN 3.41 Hex Codes / PL3 Default Vidario Ecosystem Fixed 3.41 Fixed Hex Codes / PL3 Dev Vidario Ecosystem Fixed 3.41 Fixed Hex Codes / psfMOD Android PL3 + PSN 3.41 Payload / PL3 Default Vidario Ecosystem Fixed (PL3 3.50 Fpoofed on 0x82) Hex Codes / PL3 NoUnAuth Vidario Ecosystem Fixed Hex Codes / Hermes v4b Evilsperm Blinky 11.11 Hex Codes / PS3Break v1.1 Hermes 4B PSN VTX Hex Code / PSGroove PSN Trophy Sync 3.41 Bin / All Boards PL3 PSN ECO DEF DEV NOUNAUTH 3.15 3.41 Hex Codes / AVRKey PL3 PSN ECO DEF Hex Codes / AVRKey PL3 PSN ECO DEV Hex Codes / AVRKey PL3 PSN ECO NOUNAUTH Hex Codes / JMDBU2 Atmega32u4 PL3 PSN ECO DEV DEF NOUNAUTH 3.41 Hex Codes / OpenKubus 1287 16Mhz PL3 PSN ECO DEF Hex Codes / OpenKubus Atmega16 8mhz Hermes v4b PSN Math Netkas Hex Codes / PSJailBreak Atmega168 PL3 PSN ECO DEV DEF NOUNAUTH 3.41 Hex Codes / UDIP PL3 PSN EC0 DEV Hex Codes / UDIP PL3 PSN ECO DEF Hex Codes / UDIP PL3 PSN ECO NOUNAUTH Hex Codes / PIC18F iLLNESS PSNPL3 350SPOOF LEDB145C0 C1 PICDEM / PIC18F iLLNESS PSNPL3 350SPOOF LEDB145C0 C1 USBHID / P3Free iLLNESS PSNPL3 350SPOOF / PL3 PSN ECO Cyber Evil Hex Codes / PS3Key v4.3 PSN Fix / PS3Key v4.3 Open Firmware / Rockbox PL3 NOUNAUTH PSN ECO Math FW3.41 FLP / PL3 PSN Evilsperm 12.11.10 Math + Netkas Fix + 3.50 Spoof / Fix Permissions PKG File / AmazeBreak V3 Hermes V4b 3.15 PSN
Be warned though, Sony can detect this method according to Mathieulh, to quote: "Tip for Sony, look for people connecting with submodel 3 but target id != 0x81 and have fun ! Another tip for sony: You may want to update those psn auth certs while you are at it..."
Today ecosystem_mod at PSX-Scene.com (linked above) has posted about a PSGroove PL3 payload project he is working on that attempts to fake / spoof PS3 Firmware 3.41 to version 3.50 in hopes of successfully connecting to PSN.
WIP Downloads: Version Ecosystem / Version Ecosystem 2 / Version Ecosystem 201
To quote: I have made a payload that spoofs version to 3.50. It works by capturing VSH code in the moment after it decrypts index.dat.
Unluckily, it is not enough to connect to the PSN, it still refuses to connect. I have only faked the version but there are other numbers, such as release numbers.
I don't know what these numbers would be on 3.50. You can try by modifying the payload with an hexeditor and maybe someone finds the proper numbers.
Techincal info for geeks: Index.dat is the encrypted version of version.txt. After decryption, index.dat is a 20 bytes sha1 followed by 12 bytes of padding, followed by a content identical to that of version.txt.
My payload works by hooking the memcmp that the vsh performs with the sha1 to a syscall, the syscall 10, which is implemented in the payload to fill the buffer with other data.
The payload is just a PL3 default payload with that syscall 10 added and two additional patches added to memory_patch_table_1 (PATCH_INST(0x190C90, li %r11, 10) and PATCH_INST(0x190C94, sc)), and converted to the port1_config_descriptor.bin format.
Only for 3.41. Have fun.
Second version now it also fakes the auth/revision code from 45039 to 46135, which is the supossed one for 3.50. This value was also hardcoded in vsh.self, so two additional patches are done to change that string in vsh.self too. If you are gonna change auth number, remember that you must update that patch too, or you will get a beatiful red screen.
Also it now patches a syscall that gets the SDK version of a process, the patch only fakes the one for vsh. Vsh calls this function before entering the PSN.
Despite all of this, PSN still doesn't connect, but now there is a different behavior: before it told you to update and if you answered yes, you could go through the update process. Now it still tells you to update, but if you click yes, then it tells you that you are on latest version and doesn't let you to update.
I post binary and the three source files that must replace/add to the PL3 one.
Didn't want to release source because I've commited some lazyness. But anyways, here you have the only two files modified by latest, as downloaded some hours ago, PL3.
You can see the two additional patches in memory_patching.h.S. I used direct offsets instead of putting symbols in firmware_symbols.h because I was damn lazy. To complete the payload you need to put the firmware version data here (in default_payload.S):
.space 0x2D0, 0x99
Replacing the space 0x2D0, 0x99 with the data, which should be 0x2D0 size.
I was lazy again and I just pasted the proper content after compilation with an hex editor.
As for the other question, dunno if games with higher version work without sfo editing, but I think they should work. Anyways, real purpose of this is to at least allow tests to be done.
It serves the purpose of faking version. It is a matter of time to check if it leads to more things.
Update: 2.01, small bugfix (cmpwi != cmpw), still no luck with PSN. Here's just the diff (by lindax), for those who would like to take a look:
[Register or Login to view code]
More PlayStation 3 News...