Editing XRegistry.sys
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
=Rebuild, regenerate, restore processes= | =Rebuild, regenerate, restore processes= | ||
The PS3 system always | The PS3 system always tryes to keep a record of everything that was made before (like the number of users that was created by storing his number in a cumulative counter that never decreases). For this reason when new info from another xregistry.sys needs to be added to the local xRegistry.sys the system does a selective "merging" of his values | ||
This processes changes the values inside xRegistry.sys, but also can involve a whole rebuild of xRegistry.sys when new entries are added (like when going from 1.00 firmware to 4.66 firmware) | This processes changes the values inside xRegistry.sys, but also can involve a whole rebuild of xRegistry.sys when new entries are added (like when going from 1.00 firmware to 4.66 firmware) | ||
Line 18: | Line 18: | ||
==Restore default settings== | ==Restore default settings== | ||
Some settings of xRegistry.sys (the ones that appears in XMB {{icon category settings}} column) can | Some settings of xRegistry.sys (the ones that appears in XMB {{icon category settings}} column) can de restored to his default values by rebooting the PS3 in [[Recovery Menu]] and using the option 2: ''Restore Default Settings'' | ||
==Backup and Restore from a HDD backup== | ==Backup and Restore from a HDD backup== | ||
Line 30: | Line 30: | ||
**For NAND flash. xRegistry.sys is stored in real FLASH... unknown kill method <!--i dont have a NAND, never tryed, and im not going to suggest to erase it manually, if someone knows please explain the method here--> | **For NAND flash. xRegistry.sys is stored in real FLASH... unknown kill method <!--i dont have a NAND, never tryed, and im not going to suggest to erase it manually, if someone knows please explain the method here--> | ||
= xRegistry.sys access from | =xRegistry.sys access from gameOS= | ||
* | *http://www.psdevwiki.com/ps3/Talk:VSH#xRegistry_Access | ||
*https://github.com/Estwald/irismanager-4-x/blob/master/source/sysregistry.c | *https://github.com/Estwald/irismanager-4-x/blob/master/source/sysregistry.c | ||
*https://github.com/Zarh/ManaGunZ/blob/master/MGZ/source/xreg.h https://github.com/Zarh/ManaGunZ/blob/master/MGZ/source/xreg.c | *https://github.com/Zarh/ManaGunZ/blob/master/MGZ/source/xreg.h https://github.com/Zarh/ManaGunZ/blob/master/MGZ/source/xreg.c | ||
Line 38: | Line 38: | ||
=Structure= | =Structure= | ||
Whole file size is 0x40000, seems to be divided in 4 areas of 0x10000 bytes each and only the first two are used | Whole file size is 0x40000, seems to be divided in 4 areas of 0x10000 bytes each and only the first two are used | ||
==Header== | ==Header== | ||
The header | The header seems to contain static values and is 0x10 length | ||
BC AD AD BC 00 00 00 90 00 00 00 02 BC AD AD BC | BC AD AD BC 00 00 00 90 00 00 00 02 BC AD AD BC | ||
Line 61: | Line 50: | ||
| 0x0 || 0x4 || '''header_mark''' || BC AD AD BC || | | 0x0 || 0x4 || '''header_mark''' || BC AD AD BC || | ||
|- | |- | ||
| 0x4 || 0x4 || {{cellcolors|#ff6666}} '' | | 0x4 || 0x4 || {{cellcolors|#ff6666}} ''unknown'' || 00 00 00 90 || ? | ||
|- | |- | ||
| 0x8 || 0x4 || {{cellcolors|#ff6666}} '' | | 0x8 || 0x4 || {{cellcolors|#ff6666}} ''unknown'' || 00 00 00 02 || ? | ||
|- | |- | ||
| 0xC || 0x4 || '''header_mark''' || BC AD AD BC || | | 0xC || 0x4 || '''header_mark''' || BC AD AD BC || | ||
Line 69: | Line 58: | ||
|} | |} | ||
==Index Entries== | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 79: | Line 64: | ||
! Offset !! Length !! Name !! Example !! Notes | ! Offset !! Length !! Name !! Example !! Notes | ||
|- | |- | ||
| 0x0 || 0x2 || {{cellcolors|#ff6666}} '' | | 0x0 || 0x2 || {{cellcolors|#ff6666}} ''unknown'' || 25 A0 || <strike>Entry ID</strike> ? | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| colspan="5" | | | colspan="5" | | ||
|- | |- | ||
| 0x2 || 0x2 || ''' | | 0x2 || 0x2 || '''name_length''' || 00 20 || | ||
|- | |- | ||
| 0x4 || 0x1 || ''' | | 0x4 || 0x1 || '''name_type''' || 00 || 0 = Unlocked / In use<br>1 = Locked / Inactive<br>2 = Hidden / Never used<br>3 = Directory | ||
|- | |- | ||
| 0x5 || ''variable'' || ''' | | 0x5 || ''variable'' || '''name''' || /setting/parental/passwordNumber || | ||
|- | |- | ||
| 0x5 + ''' | | 0x5 + '''name_length''' || 0x1 || '''null''' || 00 || Entry terminator | ||
|} | |} | ||
Line 97: | Line 82: | ||
**The entry 0xAABBCCDDEE0000 can be used inside the table to overwrite and old entry, the rests of the old entry are visibles after the seventh byte (''etting...'' instead of ''/setting''), seems to be related with the users that has been created/erased before... it can be an error of the process that updates the file, or maybe are the rests of groups of entries that was erased or disabled | **The entry 0xAABBCCDDEE0000 can be used inside the table to overwrite and old entry, the rests of the old entry are visibles after the seventh byte (''etting...'' instead of ''/setting''), seems to be related with the users that has been created/erased before... it can be an error of the process that updates the file, or maybe are the rests of groups of entries that was erased or disabled | ||
== | ==Data Entries== | ||
There is a 0x10 length area at offset 0xFFF0 that seems to be a bit special, is copyed here as example, some values in it seems to be generic, note the value 0x4D26 is repeated two times, actually, it looks like two groups of two values each: 0x4D26007A and 0x4D260062 | There is a 0x10 length area at offset 0xFFF0 that seems to be a bit special, is copyed here as example, some values in it seems to be generic, note the value 0x4D26 is repeated two times, actually, it looks like two groups of two values each: 0x4D26007A and 0x4D260062 | ||
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||
Line 109: | Line 94: | ||
! Offset !! Length !! Name !! Example || Notes | ! Offset !! Length !! Name !! Example || Notes | ||
|- | |- | ||
| 0x0 || 0x2 || {{cellcolors|#ff6666}} '' | | 0x0 || 0x2 || {{cellcolors|#ff6666}} ''unknown'' || 00 00 || <strike>Flags</strike> ?. Usually zeroes | ||
|- | |- | ||
| 0x2 || 0x2 || ''' | | 0x2 || 0x2 || '''name_offset''' || 00 86 || Indicates the owner of this data entry<br>+ 0x10 of the static header = absolute offset | ||
|- | |- | ||
| 0x4 || 0x2 || {{cellcolors|#ff6666}} '' | | 0x4 || 0x2 || {{cellcolors|#ff6666}} ''unknown'' || 81 2D || <strike>Entry ID</strike> ? | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| colspan="5" | | | colspan="5" | | ||
|- | |- | ||
| 0x6 || 0x2 || ''' | | 0x6 || 0x2 || '''data_length''' || 00 04 || | ||
|- | |- | ||
| 0x8 || 0x1 || ''' | | 0x8 || 0x1 || '''data_type''' || 01 || 0 = boolean<br>1 = integer<br>2 = string | ||
|- | |- | ||
| 0x9 || ''variable'' || ''' | | 0x9 || ''variable'' || '''data''' || 00 00 55 53 || | ||
|- | |- | ||
| 0x9 + ''' | | 0x9 + '''data_length''' || 0x1 || '''null''' || 00 || Entry terminator | ||
|} | |} | ||
Line 842: | Line 827: | ||
| /setting/browser/ifilter | | /setting/browser/ifilter | ||
| ? | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/browser/ifilterAddress | | /setting/browser/ifilterAddress | ||
Line 866: | Line 851: | ||
| /setting/browser/trendEula | | /setting/browser/trendEula | ||
| Determine whether or not TrendMicro EULA was accepted | | Determine whether or not TrendMicro EULA was accepted | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/browser/trendEnable | | /setting/browser/trendEnable | ||
| Enable or disable TrendMicro internet filter | | Enable or disable TrendMicro internet filter | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/dlna/dlnaFlag | | /setting/dlna/dlnaFlag | ||
Line 1,538: | Line 1,523: | ||
| /setting/browser/trendTtl | | /setting/browser/trendTtl | ||
| ? | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/browser/trendRegistered | | /setting/browser/trendRegistered | ||
| ? | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/browser/debugMenu | | /setting/browser/debugMenu | ||
| {{icon category settings}} ⇨ '''[Debug Settings]''' ⇨ '''[Internet Browser Debug]'''<br>Web Browser Debug Menu. See [[Web Browser]] | | {{icon category settings}} ⇨ '''[Debug Settings]''' ⇨ '''[Internet Browser Debug]''' ?<br>Web Browser Debug Menu. See [[Web Browser]] | ||
| 0 = disabled, 1 = enabled | | 0 = disabled, 1 = enabled | ||
|- | |- | ||
Line 1,673: | Line 1,658: | ||
|- | |- | ||
| /setting/browser/browserType | | /setting/browser/browserType | ||
| | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/xmb/yconExplained | | /setting/xmb/yconExplained |