|
|
Line 104: |
Line 104: |
| |- | | |- |
| | 1.69 || SceRegistryMgr || Non-secure || Kernel || 0x609EAF8C | | | 1.69 || SceRegistryMgr || Non-secure || Kernel || 0x609EAF8C |
| | |- |
| | | 3.60 || SceRegistryMgr || Non-secure || Kernel || 0x761F343C |
| |} | | |} |
|
| |
|
Line 115: |
Line 117: |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgrForDriver|SceRegMgrForDriver]] || Non-secure || Kernel || 0xB2223AEB | | | 1.69 || [[SceRegistryMgr#SceRegMgrForDriver|SceRegMgrForDriver]] || Non-secure || Kernel || 0xB2223AEB |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrForDriver|SceRegMgrForDriver]] || Non-secure || Kernel || 0xB2223AEB |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgrServiceForDriver|SceRegMgrServiceForDriver]] || Non-secure || Kernel || 0x12431F66 | | | 1.69 || [[SceRegistryMgr#SceRegMgrServiceForDriver|SceRegMgrServiceForDriver]] || Non-secure || Kernel || 0x12431F66 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrServiceForDriver|SceRegMgrServiceForDriver]] || Non-secure || Kernel || 0x12431F66 |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgr|SceRegMgr]] || Non-secure || User || 0xC436F916 | | | 1.69 || [[SceRegistryMgr#SceRegMgr|SceRegMgr]] || Non-secure || User || 0xC436F916 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgr|SceRegMgr]] || Non-secure || User || 0xC436F916 |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgrService|SceRegMgrService]] || Non-secure || User || 0x23A10D9B | | | 1.69 || [[SceRegistryMgr#SceRegMgrService|SceRegMgrService]] || Non-secure || User || 0x23A10D9B |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgrForGame|SceRegMgrForGame]] || Non-secure || User || 0xB351269 | | | 3.60 || [[SceRegistryMgr#SceRegMgrService|SceRegMgrService]] || Non-secure || User || 0x23A10D9B |
| | |- |
| | | 1.69 || [[SceRegistryMgr#SceRegMgrForGame|SceRegMgrForGame]] || Non-secure || User || 0x0B351269 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrForGame|SceRegMgrForGame]] || Non-secure || User || 0x0B351269 |
| |- | | |- |
| | 1.69 || [[SceRegistryMgr#SceRegMgrForSDK|SceRegMgrForSDK]] || Non-secure || User || 0x67E45817 | | | 1.69 || [[SceRegistryMgr#SceRegMgrForSDK|SceRegMgrForSDK]] || Non-secure || User || 0x67E45817 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrForSDK|SceRegMgrForSDK]] || Non-secure || User || 0x67E45817 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrForDebugger|SceRegMgrForDebugger]] || Non-secure || User || 0xCC88EAB1 |
| | |- |
| | | 3.60 || [[SceRegistryMgr#SceRegMgrForTool|SceRegMgrForTool]] || Non-secure || User || 0x1F121C9E |
| |} | | |} |
|
| |
|
Revision as of 16:49, 23 August 2018
os0:kd/registry.db0
The registry database has a plaintext header and then the remaining text is xor-"encrypted" using the "key" {0x89, 0xFA, 0x95, 0x48, 0xCB, 0x6D, 0x77, 0x9D, 0xA2, 0x25, 0x34, 0xFD, 0xA9, 0x35, 0x59, 0x6E}
. To "decrypt", just xor every 16 byte (after the header) with the "key".
File overview
;#
at beginning of a line comments this line
Exemple: line 5 is always :
;# XXXXXXXX (YYYY/MM/DD HH:mm)
where:
- XXXXXXXX is system software version
- (YYYY/MM/DD HH:mm) is build time
Areas
[ <TYPE>
line starts a registry area
Possible values:
- BASE: table of ID <-> name
- REG-BAS: Base
- REG-J1: Japan
- REG-UC2: USA/Canada
- REG-AU3: Australia/New Zealand
- REG-CEK: United Kingdom
- REG-CEL: Europe
- REG-KR2: Korea
- REG-E12: South Asia
- REG-TW1: Taiwan
- REG-RU3: Russia
- REG-MX2: Mexico
- REG-CN9: China
- REG-DEX: DEX (TestKit)
- REG-TOL: TOOL (DevKit)
- REG-BAS_D: Base Dolce (PS TV)
- REG-TOL_D: TOOL Dolce (DevKit in PS TV Emulation mode)
When PSVita is initialized at first boot, it first applies base registry, then it applies registry of the console's region / tyoe.
entries ID <-> entries name table
Example:
[BASE
1=REGISTRY/
2=category_version
3=region_no
4=serial_id
5=check_qaf
6=ERROR/
There are 2 types of registry entries:
- categories (folders): they are uppercase and end with
/
- keys: they are lowercase and do not end with
/
Registry areas
example:
[REG-BAS
/1/2=0:4:1:0:0:0:99:99:0:0:0:0:0:0:1:3473428:
/1/3=0:4:1:0:0:0:99:99:0:0:0:0:0:0:1:0:
/1/4=2:32:0:0:0:0:99:99:0:0:0:0:0:0:129:0:
/1/5=0:4:1:16:44:0:0:0:0:0:0:0:0:0:1:0:
/1/6/7=0:4:1:32:0:0:0:0:0:0:0:0:0:0:1:0:
/1/6/8/9=2:32:0:16416:0:0:99:99:0:0:0:0:0:0:0:0:
/1/6/8/10=2:96:0:16416:0:0:99:99:0:0:0:0:0:0:0:0:
/11/12/13=0:4:1:32:0:0:30:30:0:0:0:0:1:1:1:0:
/11/12/14=1:17:1:32:0:0:30:30:1:0:1:0:0:0:128:0:
/11/12/15=0:4:1:8224:0:0:30:30:1:0:1:0:1:1:1:1:
/11/12/16=0:4:1:8240:0:0:30:30:1:0:1:0:1:1:1:1:
/11/12/17=0:4:1:8224:0:0:30:30:1:0:1:0:0:0:1:1:
/11/12/18=0:4:1:8240:0:0:30:30:0:0:0:0:1:1:1:0:
/11/12/19=0:4:1:32:0:0:30:30:0:0:0:0:1:0:1:0:
/11/12/20=0:4:1:32:0:0:30:30:0:0:0:0:1:0:1:1:
/11/12/21=0:4:1:32:0:0:30:30:0:0:0:0:1:0:1:1:
Format is: <ID>/<ID2>/<ID3>/<ID4>/<ID5>=<value0>:<size>:<value2>:<value3>:<value4>:<value5>:<value6>:<value7>:<value8>:<value9>:<valueA>:<valueB>:<valueC>:<valueD>:<valueE>:<default_value>:
Where IDs are the entries ID, that for human understanding we have to change into entries name.
Example :
/1/2=0:4:1:0:0:0:99:99:0:0:0:0:0:0:1:3473428:
is translated into
/REGISTRY/category_version=0:4:1:0:0:0:99:99:0:0:0:0:0:0:1:3473428:
Values are in decimal, but for understanding we have sometime to translate them to hexadecimal:
/REGISTRY/category_version=0:4:1:0:0:0:0x63:0x63:0:0:0:0:0:0:1:0x350014:
We can see that size is 4 bytes and that default value is 0x350014 aka version 3.500.14.
Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceRegistryMgr |
Non-secure |
Kernel |
0x609EAF8C
|
3.60 |
SceRegistryMgr |
Non-secure |
Kernel |
0x761F343C
|
Libraries
Known NIDs
SceRegMgrForDriver
sceRegMgrGetKeyBin
Version |
NID
|
1.69 |
0xB98D646
|
sceRegMgrGetKeyInt
Version |
NID
|
1.69 |
0x16DDF3DC
|
sceRegMgrIsBlueScreen
Version |
NID
|
1.69 |
0x282027B7
|
sceRegMgrResetRegistryLv
Version |
NID
|
1.69 |
0x2B5F3E20
|
sceRegMgrSetKeys
Version |
NID
|
1.69 |
0x34E550DA
|
sceRegMgrGetInitVals
Version |
NID
|
1.69 |
0x3A9DE7C5
|
sceRegMgrSetKeyStr
Version |
NID
|
1.69 |
0x41D320C5
|
sceRegMgrSetKeyBin
Version |
NID
|
1.69 |
0x566A1793
|
sceRegMgrGetKeysInfo
Version |
NID
|
1.69 |
0x58421DD1
|
sceRegMgrGetKeys
Version |
NID
|
1.69 |
0x5B161504
|
sceRegMgrStopCallback
Version |
NID
|
1.69 |
0x6A8E2FB4
|
sceRegMgrGetRegVersion
Version |
NID
|
1.69 |
0x74A0FB10
|
sceRegMgrRegisterCallback
Version |
NID
|
1.69 |
0x82A4464D
|
sceRegMgrAddRegistryCallback
Version |
NID
|
1.69 |
0xA86F0A71
|
sceRegMgrDbRestore
Version |
NID
|
1.69 |
0xA87D2562
|
sceRegMgrDbBackup
Version |
NID
|
1.69 |
0xB68B5422
|
sceRegMgrStartCallback
Version |
NID
|
1.69 |
0xCE84FE2F
|
sceRegMgrSetKeyInt
Version |
NID
|
1.69 |
0xD72EA399
|
sceRegMgrUnregisterCallback
Version |
NID
|
1.69 |
0xD7BD3607
|
sceRegMgrUnregisterDrvErrCallback
Version |
NID
|
1.69 |
0xD9E6B7BD
|
sceRegMgrRegisterDrvErrCallback
Version |
NID
|
1.69 |
0xDDB02D7F
|
sceRegMgrGetKeyStr
Version |
NID
|
1.69 |
0xE188382F
|
SceRegMgrServiceForDriver
sceRegMgrSrvCnvRegionStr
Version |
NID
|
1.69 |
0x15B4A5C5
|
sceRegMgrSrvCnvRegionInt
Version |
NID
|
1.69 |
0x7683FC84
|
sceRegMgrSrvCnvRegionPsCode
Version |
NID
|
1.69 |
0x94D008D2
|
sceRegMgrSrvGetRegionStr
Version |
NID
|
1.69 |
0xBC3FE639
|
sceRegMgrSrvGetRegion
Version |
NID
|
1.69 |
0xBEC3F77A
|
SceRegMgr
sceRegMgrGetKeyBin
Version |
NID
|
1.69 |
0xB98D646
|
sceRegMgrGetKeyInt
Version |
NID
|
1.69 |
0x16DDF3DC
|
sceRegMgrIsBlueScreen
Version |
NID
|
1.69 |
0x282027B7
|
sceRegMgrResetRegistryLv
Version |
NID
|
1.69 |
0x2B5F3E20
|
sceRegMgrSetKeys
Version |
NID
|
1.69 |
0x34E550DA
|
sceRegMgrGetInitVals
Version |
NID
|
1.69 |
0x3A9DE7C5
|
sceRegMgrSetKeyStr
Version |
NID
|
1.69 |
0x41D320C5
|
sceRegMgrSetKeyBin
Version |
NID
|
1.69 |
0x566A1793
|
sceRegMgrGetKeysInfo
Version |
NID
|
1.69 |
0x58421DD1
|
sceRegMgrGetKeys
Version |
NID
|
1.69 |
0x5B161504
|
sceRegMgrStopCallback
Version |
NID
|
1.69 |
0x6A8E2FB4
|
sceRegMgrGetRegVersion
Version |
NID
|
1.69 |
0x74A0FB10
|
sceRegMgrRegisterCallback
Version |
NID
|
1.69 |
0x82A4464D
|
sceRegMgrAddRegistryCallback
Version |
NID
|
1.69 |
0xA86F0A71
|
sceRegMgrDbRestore
Version |
NID
|
1.69 |
0xA87D2562
|
sceRegMgrDbBackup
Version |
NID
|
1.69 |
0xB68B5422
|
sceRegMgrStartCallback
Version |
NID
|
1.69 |
0xCE84FE2F
|
sceRegMgrSetKeyInt
Version |
NID
|
1.69 |
0xD72EA399
|
sceRegMgrUnregisterCallback
Version |
NID
|
1.69 |
0xD7BD3607
|
sceRegMgrUnregisterDrvErrCallback
Version |
NID
|
1.69 |
0xD9E6B7BD
|
sceRegMgrRegisterDrvErrCallback
Version |
NID
|
1.69 |
0xDDB02D7F
|
sceRegMgrGetKeyStr
Version |
NID
|
1.69 |
0xE188382F
|
SceRegMgrService
sceRegMgrSrvCnvRegionStr
Version |
NID
|
1.69 |
0x15B4A5C5
|
sceRegMgrSrvCnvRegionInt
Version |
NID
|
1.69 |
0x7683FC84
|
sceRegMgrSrvCnvRegionPsCode
Version |
NID
|
1.69 |
0x94D008D2
|
sceRegMgrSrvGetRegionStr
Version |
NID
|
1.69 |
0xBC3FE639
|
sceRegMgrSrvGetRegion
Version |
NID
|
1.69 |
0xBEC3F77A
|
SceRegMgrForGame
sceRegMgrSystemIsBlueScreen
Version |
NID
|
1.69 |
0x169A0D1D
|
sceRegMgrSystemParamGetInt
Version |
NID
|
1.69 |
0x347C1BDB
|
sceRegMgrSystemParamGetBin
Version |
NID
|
1.69 |
0x7FFE2CDF
|
sceRegMgrSystemParamGetStr
Version |
NID
|
1.69 |
0x877ADB3F
|
sceRegMgrSystemParamSetInt
Version |
NID
|
1.69 |
0xC8F73311
|
sceRegMgrSystemParamSetStr
Version |
NID
|
1.69 |
0xCB3246E3
|
sceRegMgrSystemParamSetBin
Version |
NID
|
1.69 |
0xD5A73557
|
SceRegMgrForSDK
sceRegMgrUtilityGetStr
Version |
NID
|
1.69 |
0x1FE8949E
|
sceRegMgrUtilitySetStr
Version |
NID
|
1.69 |
0x4898C1E2
|
sceRegMgrUtilitySetBin
Version |
NID
|
1.69 |
0x7304DC12
|
sceRegMgrUtilityGetInt
Version |
NID
|
1.69 |
0x8154D696
|
sceRegMgrUtilitySetInt
Version |
NID
|
1.69 |
0xB370A2CF
|
sceRegMgrUtilityGetBin
Version |
NID
|
1.69 |
0xEFCFA182
|