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 37: | Line 37: | ||
=Structure= | =Structure= | ||
==Header== | ==Header== | ||
The header | The header consists of a 0x10 bytes (seems to be static). | ||
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 48: | ||
| 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 56: | ||
|} | |} | ||
==Index Entries== | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 79: | Line 62: | ||
! 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''' || 0x01 || '''null''' || 00 || Entry terminator | ||
|} | |} | ||
Line 97: | Line 80: | ||
**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 | The entry data begins at 0xFFF0. There is a 2 byte marker here (0x4D26) indicating it's the data section, continued by a table of data entries. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 109: | Line 87: | ||
! Offset !! Length !! Name !! Example || Notes | ! Offset !! Length !! Name !! Example || Notes | ||
|- | |- | ||
| 0x0 || 0x2 || {{cellcolors|#ff6666}} '' | | 0x0 || 0x2 || {{cellcolors|#ff6666}} ''unknown'' || 00 00 || <strike>Flags</strike> ? | ||
|- | |- | ||
| 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 820: | ||
| /setting/browser/ifilter | | /setting/browser/ifilter | ||
| ? | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/browser/ifilterAddress | | /setting/browser/ifilterAddress | ||
Line 866: | Line 844: | ||
| /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,516: | ||
| /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,651: | ||
|- | |- | ||
| /setting/browser/browserType | | /setting/browser/browserType | ||
| | | ? | ||
| 0 | | 0 | ||
|- | |- | ||
| /setting/xmb/yconExplained | | /setting/xmb/yconExplained |