Module
Version |
World |
Privilege
|
1.69-3.60 |
Non-secure |
Kernel
|
Libraries
Known NIDs
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 entries
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>:
value-type: 0:int 1:str 2:bin
value-size: size
some-bool: unknown
some-value: field7_0xe (field_0x12: 0x40/field7_0xe: 0x1000)
value-allow-env: field9_0x11 (retail=qaf:4|1/devmode=qaf:8|2/no-devmode=qaf:0x20|0x10)
some-bool: field_0x12: 1
some-value: field8_0x10 (only 0 0x28 0x63 0x1E)
some-value: field8_0x10 (only 0 0x28 0x63 0x1E)
bool-allow-non-utility: field_0x12: 2
bool-allow-utility: field_0x12: 4
some-bool: field_0x12: 8
some-bool: field_0x12: 0x10
bool-qaf-bypass: qaf
bool-devmode-only: devmode_only
some-value: field16_0x18
init-value: field18_0x1c
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.
More values
Found by reversing old modules.
- 0x00: UP DATE
- 0x10: FACTORY
- 0x20: SYSTEM
- 0x30: DEBUG
- 0x40: REGION
- default: ERROR!!
and on another flag level:
SystemParam table
Id |
Path |
Readable |
Writeable
|
0x00229142 |
/CONFIG/SYSTEM/button_assign |
Yes |
No
|
0x00037502 |
/CONFIG/SYSTEM/language |
Yes |
No
|
0x00088776 |
/CONFIG/DATE/date_format |
Yes |
No
|
0x00668503 |
/CONFIG/DATE/time_format |
Yes |
No
|
0x00100591 |
/CONFIG/DATE/time_zone |
Yes |
No
|
0x00760538 |
/CONFIG/DATE/summer_time |
Yes |
No
|
0x00186122 |
/CONFIG/SECURITY/PARENTAL/passcode |
Yes |
No
|
0x00598438 |
/CONFIG/SYSTEM/username |
Yes |
No
|
0x00450F32 |
/CONFIG/NP/account_id |
Yes |
No
|
0x0081649F |
/CONFIG/BROWSER/ADDIN/TRENDMICRO/tm_service |
Yes |
Yes
|
0x00068303 |
/CONFIG/BROWSER/ADDIN/TRENDMICRO/tm_ec_ttl |
Yes |
Yes
|
0x001B2292 |
/CONFIG/BROWSER/ADDIN/TRENDMICRO/tm_ec_ttl_update_time |
Yes |
Yes
|
0x00872621 |
/CONFIG/BROWSER/ADDIN/TRENDMICRO/tm_service_sub_status |
Yes |
Yes
|
0x00156489 |
/CONFIG/NP/debug_ingame_commerce2 |
Yes |
No
|
0x00033818 |
/CONFIG/NP/env |
Yes |
No
|
0x003CB6A4 |
/DEVENV/TOOL/gpi_switch |
Yes |
No
|
0x000B73CD |
/CONFIG/NP/debug |
Yes |
No
|
0x000A0495 |
/CONFIG/NP/nav_only |
Yes |
No
|
0x000B6ECD |
/CONFIG/NP/np_ad_clock_diff |
Yes |
No
|
0x000D18E5 |
/CONFIG/NP/np_geo_filtering |
Yes |
No
|
0x00313905 |
/CONFIG/NP2/test_patch |
Yes |
No
|
0x00646A8E |
/CONFIG/NP2/tpps_proxy_server |
Yes |
No
|
0x0022B191 |
/CONFIG/NP2/tpps_proxy_port |
Yes |
No
|
0x008EB468 |
/CONFIG/NP2/tpps_proxy_user_name |
Yes |
No
|
0x00168B9B |
/CONFIG/NP2/tpps_proxy_password |
Yes |
No
|
0x006FF829 |
/CONFIG/NP2/tpps_proxy_flag |
Yes |
No
|
0x00612B3E |
/CONFIG/BROWSER/web_security_status |
Yes |
Yes
|
0x003317A1 |
/CONFIG/NP2/trophy_setup_dialog_debug |
Yes |
No
|
0x008F94F9 |
/CONFIG/NP/country |
Yes |
No
|
0x00134C03 |
/CONFIG/NET/pspnet_adhoc_ssid_prefix |
Yes |
No
|
0x00683DCD |
/CONFIG/SYSTEM/key_pad |
Yes |
No
|
0x008E3939 |
/CONFIG/MUSIC/MUSIC_APP/impose_audio_balance |
Yes |
No
|
0x00146E23 |
/CONFIG/GAME/show_debug_info |
Yes |
No
|
0x00424500 |
/CONFIG/GAME/fake_sdslot_broken |
Yes |
No
|
0x0051F6AE |
/CONFIG/SPECIFIC/idu_mode |
Yes |
No
|
0x00154A2C |
/CONFIG/GAME/fake_free_space |
Yes |
No
|
0x0025CE9A |
/CONFIG/GAME/fake_free_space_quota |
Yes |
No
|
0x005F6737 |
/CONFIG/NP2/TWITTER/access_token |
Yes |
Yes
|
0x0091F34F |
/CONFIG/NP2/TWITTER/access_token_secret |
Yes |
Yes
|
0x0093C981 |
/CONFIG/PSM/revocation_check_req |
Yes |
No
|
0x007C9764 |
/CONFIG/NP2/fake_plus |
Yes |
No
|
0x00971FA1 |
/CONFIG/SHELL/voice_priority |
Yes |
No
|
0x00563BFE |
/CONFIG/NET/ssl_cert_ignorable |
Yes |
No
|
0x008D89EB |
/CONFIG/NP2/TELEPORT/wol_target_mac_address |
Yes |
Yes
|
0x004E7A16 |
/CONFIG/NP2/TELEPORT/target_name |
Yes |
Yes
|
0x00987180 |
/CONFIG/NP2/TELEPORT/initial_target |
Yes |
Yes
|
0x000504E4 |
/CONFIG/NP2/TELEPORT/passcode_client |
Yes |
Yes
|
0x0036F14E |
/CONFIG/NP2/TELEPORT/enable_media_transfer |
Yes |
No
|
0x002FDFB4 |
/CONFIG/DISPLAY/hdmi_out_scaling_ratio |
Yes |
No
|
0x004F7E60 |
/CONFIG/PS4LINK/counter |
Yes |
Yes
|
0x0094E320 |
/CONFIG/PS4LINK/keys |
Yes |
Yes
|
0x009623D0 |
/CONFIG/GAME/fake_no_memory_card |
Yes |
No
|
0x007D12C4 |
/CONFIG/GAME/fake_contents_max |
Yes |
No
|
0x0089C9CF |
/CONFIG/SECURITY/PARENTAL/store_start_control |
Yes |
No
|
0x007F9315 |
/CONFIG/DATE/is_summer_time |
Yes |
No
|
0x00988B81 |
/CONFIG/PSNOW/app_cached_url |
Yes |
No
|
SceRegMgrForDriver
sceRegMgrGetRegVersionForDriver
Version |
NID
|
1.69-3.60 |
0x74A0FB10
|
sceRegMgrIsBlueScreenForDriver
Version |
NID
|
1.69-3.60 |
0x282027B7
|
sceRegMgrResetRegistryLvForDriver
Version |
NID
|
1.69-3.60 |
0x2B5F3E20
|
sceRegMgrGetKeyBinForDriver
Version |
NID
|
1.69-3.60 |
0x0B98D646
|
sceRegMgrGetKeyIntForDriver
Version |
NID
|
1.69-3.60 |
0x16DDF3DC
|
sceRegMgrGetKeyStrForDriver
Version |
NID
|
1.69-3.60 |
0xE188382F
|
sceRegMgrGetKeysForDriver
Version |
NID
|
1.69-3.60 |
0x5B161504
|
sceRegMgrGetInitValsForDriver
Version |
NID
|
1.69-3.60 |
0x3A9DE7C5
|
sceRegMgrGetKeysInfoForDriver
Version |
NID
|
1.69-3.60 |
0x58421DD1
|
sceRegMgrSetKeyBinForDriver
Version |
NID
|
1.69-3.60 |
0x566A1793
|
sceRegMgrSetKeyIntForDriver
Version |
NID
|
1.69-3.60 |
0xD72EA399
|
sceRegMgrSetKeyStrForDriver
Version |
NID
|
1.69-3.60 |
0x41D320C5
|
sceRegMgrSetKeysForDriver
Version |
NID
|
1.69-3.60 |
0x34E550DA
|
sceRegMgrSystemParamGetBinForDriver
Version |
NID
|
3.60 |
0x7FFE2CDF
|
sceRegMgrSystemParamGetIntForDriver
Version |
NID
|
3.60 |
0x347C1BDB
|
sceRegMgrSystemParamGetStrForDriver
Version |
NID
|
3.60 |
0x877ADB3F
|
// 0x37502 : language
// 0x33818 : np_env
sceRegMgrDbBackupForDriver
Version |
NID
|
1.69-3.60 |
0xB68B5422
|
sceRegMgrDbRestoreForDriver
Version |
NID
|
1.69-3.60 |
0xA87D2562
|
sceRegMgrRegisterCallbackForDriver
Version |
NID
|
1.69-3.60 |
0x82A4464D
|
sceRegMgrRegisterDrvErrCallbackForDriver
Version |
NID
|
1.69-3.60 |
0xDDB02D7F
|
sceRegMgrAddRegistryCallbackForDriver
Version |
NID
|
1.69-3.60 |
0xA86F0A71
|
sceRegMgrStartCallbackForDriver
Version |
NID
|
1.69-3.60 |
0xCE84FE2F
|
sceRegMgrStopCallbackForDriver
Version |
NID
|
1.69-3.60 |
0x6A8E2FB4
|
sceRegMgrUnregisterCallbackForDriver
Version |
NID
|
1.69-3.60 |
0xD7BD3607
|
sceRegMgrUnregisterDrvErrCallbackForDriver
Version |
NID
|
1.69-3.60 |
0xD9E6B7BD
|
SceRegMgrServiceForDriver
sceRegMgrSrvCnvRegionStrForDriver
Version |
NID
|
1.69-3.60 |
0x15B4A5C5
|
sceRegMgrSrvCnvRegionIntForDriver
Version |
NID
|
1.69-3.60 |
0x7683FC84
|
sceRegMgrSrvCnvRegionPsCodeForDriver
Version |
NID
|
1.69-3.60 |
0x94D008D2
|
sceRegMgrSrvGetRegionStrForDriver
Version |
NID
|
1.69-3.60 |
0xBC3FE639
|
sceRegMgrSrvGetRegionForDriver
Version |
NID
|
1.69-3.60 |
0xBEC3F77A
|
SceRegMgr
sceRegMgrGetRegVersion
Version |
NID
|
1.69 |
0x74A0FB10
|
sceRegMgrIsBlueScreen
Version |
NID
|
1.69 |
0x282027B7
|
sceRegMgrResetRegistryLv
Version |
NID
|
1.69 |
0x2B5F3E20
|
sceRegMgrGetKeyBin
Version |
NID
|
1.69 |
0xB98D646
|
sceRegMgrGetKeyInt
Version |
NID
|
1.69 |
0x16DDF3DC
|
sceRegMgrGetKeyStr
Version |
NID
|
1.69 |
0xE188382F
|
sceRegMgrGetKeys
Version |
NID
|
1.69 |
0x5B161504
|
sceRegMgrGetInitVals
Version |
NID
|
1.69 |
0x3A9DE7C5
|
sceRegMgrGetKeysInfo
Version |
NID
|
1.69 |
0x58421DD1
|
sceRegMgrSetKeyBin
Version |
NID
|
1.69 |
0x566A1793
|
sceRegMgrSetKeyInt
Version |
NID
|
1.69 |
0xD72EA399
|
sceRegMgrSetKeyStr
Version |
NID
|
1.69 |
0x41D320C5
|
sceRegMgrSetKeys
Version |
NID
|
1.69 |
0x34E550DA
|
sceRegMgrDbBackup
Version |
NID
|
1.69 |
0xB68B5422
|
sceRegMgrDbRestore
Version |
NID
|
1.69 |
0xA87D2562
|
sceRegMgrRegisterCallback
Version |
NID
|
1.69 |
0x82A4464D
|
sceRegMgrRegisterDrvErrCallback
Version |
NID
|
1.69 |
0xDDB02D7F
|
sceRegMgrAddRegistryCallback
Version |
NID
|
1.69 |
0xA86F0A71
|
sceRegMgrStartCallback
Version |
NID
|
1.69 |
0xCE84FE2F
|
sceRegMgrStopCallback
Version |
NID
|
1.69 |
0x6A8E2FB4
|
sceRegMgrUnregisterCallback
Version |
NID
|
1.69 |
0xD7BD3607
|
sceRegMgrUnregisterDrvErrCallback
Version |
NID
|
1.69 |
0xD9E6B7BD
|
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-3.65 |
0x169A0D1D
|
sceRegMgrSystemParamGetBin
Version |
NID
|
1.69-3.65 |
0x7FFE2CDF
|
SceInt32 sceRegMgrSystemParamGetBin(SceRegMgrSystemParam paramId, SceChar8* buf, SceSize bufSize);
sceRegMgrSystemParamGetInt
Version |
NID
|
1.69-3.65 |
0x347C1BDB
|
SceInt32 sceRegMgrSystemParamGetInt(SceRegMgrSystemParam paramId, SceInt32* value);
sceRegMgrSystemParamGetStr
Version |
NID
|
1.69-3.65 |
0x877ADB3F
|
SceInt32 sceRegMgrSystemParamGetStr(SceRegMgrSystemParam paramId, SceChar8* buf, SceSize bufSize);
sceRegMgrSystemParamSetBin
Version |
NID
|
1.69-3.65 |
0xD5A73557
|
SceInt32 sceRegMgrSystemParamSetBin(SceRegMgrSystemParam paramId, const SceChar8* buf, SceSize bufSize);
sceRegMgrSystemParamSetInt
Version |
NID
|
1.69-3.65 |
0xC8F73311
|
SceInt32 sceRegMgrSystemParamSetInt(SceRegMgrSystemParam paramId, SceInt32 value);
sceRegMgrSystemParamSetStr
Version |
NID
|
1.69-3.65 |
0xCB3246E3
|
SceInt32 sceRegMgrSystemParamSetStr(SceRegMgrSystemParam paramId, const SceChar8 *buf, SceSize bufSize);
SceRegMgrForSDK
sceRegMgrUtilityGetBin
Version |
NID
|
1.69 |
0xEFCFA182
|
sceRegMgrUtilityGetInt
Version |
NID
|
1.69 |
0x8154D696
|
sceRegMgrUtilityGetStr
Version |
NID
|
1.69 |
0x1FE8949E
|
sceRegMgrUtilitySetBin
Version |
NID
|
1.69 |
0x7304DC12
|
sceRegMgrUtilitySetInt
Version |
NID
|
1.69 |
0xB370A2CF
|
sceRegMgrUtilitySetStr
Version |
NID
|
1.69 |
0x4898C1E2
|
SceRegMgrForDebugger
sceRegMgrComSyncKeyValueForDebugger
Version |
NID
|
0.990-3.60 |
0x53970232
|
int sceRegMgrComSyncKeyValueForDebugger(void *a1, void *a2);
sceRegMgrGetKeysForDebugger
Version |
NID
|
0.990-3.60 |
0xC64C67A8
|
int sceRegMgrGetKeysForDebugger(int a1);
sceRegMgrSetKeysForDebugger
Version |
NID
|
0.990-3.60 |
0x810D2F09
|
typedef struct SceRegMgrKeyParamForDebugger { // size is 0x10
SceSize size;
const char *path;
int flags;
union {
int Int;
const char *Str;
void *Bin;
};
} SceRegMgrKeyParamForDebugger;
int sceRegMgrSetKeysForDebugger(const SceRegMgrKeyParamForDebugger *pParam);
sceRegMgrRequestFromHostForDebugger
Version |
NID
|
1.03-3.60 |
0x46AC0CCB
|
Used by SceDeci4pTsmp.
Used to copy DevKit's XML to host PC, to read DevKit's XML, and more commands.
int sceRegMgrRequestFromHostForDebugger(int cmd, void *pParam);
SceRegMgrForDebugger_8E798E47
Version |
NID
|
1.03-3.60 |
0x8E798E47
|
int SceRegMgrForDebugger_8E798E47(void);
SceRegMgrForDebugger_B9A0BB77
Version |
NID
|
1.03-3.60 |
0xB9A0BB77
|
int SceRegMgrForDebugger_B9A0BB77(void);
SceRegMgrForDebugger_D668ABD2
Version |
NID
|
1.03-3.60 |
0xD668ABD2
|
Get some data from DevKit's XML.
int SceRegMgrForDebugger_D668ABD2(int *a1);
SceRegMgrForDebugger_8AE5757E
Version |
NID
|
1.03 |
not present
|
3.60 |
0x8AE5757E
|
Get some data from DevKit's XML.
int SceRegMgrForDebugger_8AE5757E(int *a1);
SceRegMgrForDebugger_C588D3E7
Version |
NID
|
1.03 |
not present
|
3.60 |
0xC588D3E7
|
int SceRegMgrForDebugger_C588D3E7(void);
SceRegMgrForTool
sceRegMgrInitRegistryForTool
Version |
NID
|
0.990-3.60 |
0xE6E81558
|
int sceRegMgrInitRegistryForTool(int a1);
sceRegMgrInitRegistryRegionForTool
Version |
NID
|
0.990-3.60 |
0x0CFA929B
|
int sceRegMgrInitRegistryRegionForTool(int a1, int a2);
SceRegMgrForTool_0B623D0B
Version |
NID
|
3.60 |
0x0B623D0B
|
int SceRegMgrForTool_0B623D0B(void);
SceRegMgrForTool_2A76051A
Version |
NID
|
3.60 |
0x2A76051A
|
int SceRegMgrForTool_2A76051A(int a1, int a2);
SceRegMgrForTool_2D415472
Version |
NID
|
3.60 |
0x2D415472
|
int SceRegMgrForTool_2D415472(int a1, int a2);
SceRegMgrForTool_3AAB71EF
Version |
NID
|
3.60 |
0x3AAB71EF
|
int SceRegMgrForTool_3AAB71EF(int a1, int a2);
SceRegMgrForTool_4EDF87F9
Version |
NID
|
3.60 |
0x4EDF87F9
|
int SceRegMgrForTool_4EDF87F9(int a1, int a2, int a3);
SceRegMgrForTool_6276E7D8
Version |
NID
|
3.60 |
0x6276E7D8
|
int SceRegMgrForTool_6276E7D8(int a1, int a2, int a3, int a4);
SceRegMgrForTool_6808B7AD
Version |
NID
|
3.60 |
0x6808B7AD
|
int SceRegMgrForTool_6808B7AD(void);
SceRegMgrForTool_7B30AC2C
Version |
NID
|
3.60 |
0x7B30AC2C
|
int SceRegMgrForTool_7B30AC2C(int a1, int a2, int a3);
SceRegMgrForTool_B441660B
Version |
NID
|
3.60 |
0xB441660B
|
int SceRegMgrForTool_B441660B(int a1, int a2);
SceRegMgrForTool_C689E36C
Version |
NID
|
3.60 |
0xC689E36C
|
int SceRegMgrForTool_C689E36C(int a1, int a2, int a3, int a4);
SceRegMgrForTool_F55E6E4F
Version |
NID
|
3.60 |
0xF55E6E4F
|
int SceRegMgrForTool_F55E6E4F(int a1);