Since PS3News released their PS3 FTP application I did some research on the PS3's registry.
The registry and it's backup are stored on dev_flash2 as xRegistry.sys.
The header
BC AD AD BC 00 00 00 90 00 00 00 02 BC AD AD BC
The entries
Every entry has a fronttag which is 5 bytes long. I'll describe:
56 41 00 11 01
This is an example value:
/setting/parental
Behind the value theres a 1 byte close mark:
00
The 5 bytes
The first 4 bytes are a unique but random number. Every value has it to be identified and found by the system as there is no special pattern. An sprx(?) finds every value by this 4 bytes.
56 41 00 11
The 5th byte can be 00, 01 or 02. 00 tagged values are actually activated/used by the VSH, 01 ones not. The 02 seems to mean "DO NEVER UNLOCK". For example the QA Mode is tagged with 02.
00 == unlocked/used/activated
01 == locked/unused/inactive
02 == never ment to be unlocked
Stop footer
The registry has a
AA BB CC DD EE
after the last value. Here the system stops to search for values.
Single values without tag
Some values are behind the stop tag spreaded randomly in the file it seems. I have no clue how the system finds those yet but here are some I found:
- your local username
- your language (f.e. eng for english)
- your PS3 system name
- URL to the information board online stored files
- HDD serial
- Board name
- your PSN username + password
- your WIFI network key
- your local IP
- your PSID
- path to local user pic
You can modify all those values as long as you don't change its size or adress. For example the local user pic is loaded from:
/dev_flash/vsh/resource/explore/user/000.png
But you can redirect it to load from USB for example:
/dev_usb/vsh/resource/explore/user/12345.png
The Cool Stuff
The retail PS3's registry contains all values to unlock the settings which are possible on a test/debug PS3 and even more like QA mode. We can enable those via the registry, but we won't see any effect in the XMB.
That is because we just UNLOCKED it, but different files on dev_flash handle what we can actually SEE in the XMB. So we need to modify them also to fully use debug options on a retail and more.
This can be done by mounting the dev_flash from USB. We need to do this as we can not write to the original dev_flash. So once we can load our customized dev_flash from USB and have modiified our registry, we have a nice way to load a our custom firmwares.
The Crash Report
The registry can contain an crash report which is seperatly splitted with another registry header as explained above. It contains system error messages, for example if you **** up your registry ;-)