SceRegistryMgr

From Vita Development Wiki
Revision as of 16:50, 23 August 2018 by CelesteBlue (talk | contribs)
Jump to navigation Jump to search

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

Version Name World Visibility NID
1.69 SceRegMgrForDriver Non-secure Kernel 0xB2223AEB
3.60 SceRegMgrForDriver Non-secure Kernel 0xB2223AEB
1.69 SceRegMgrServiceForDriver Non-secure Kernel 0x12431F66
3.60 SceRegMgrServiceForDriver Non-secure Kernel 0x12431F66
1.69 SceRegMgr Non-secure User 0xC436F916
3.60 SceRegMgr Non-secure User 0xC436F916
1.69 SceRegMgrService Non-secure User 0x23A10D9B
3.60 SceRegMgrService Non-secure User 0x23A10D9B
1.69 SceRegMgrForGame Non-secure User 0x0B351269
3.60 SceRegMgrForGame Non-secure User 0x0B351269
1.69 SceRegMgrForSDK Non-secure User 0x67E45817
3.60 SceRegMgrForSDK Non-secure User 0x67E45817
3.60 SceRegMgrForDebugger Non-secure User 0xCC88EAB1
3.60 SceRegMgrForTool Non-secure User 0x1F121C9E

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

Comments

;# 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.

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