Difference between revisions of "Modules"
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The | + | The PSVita ELF loaded in memory is called a module. A module is distinctive by its dbg_fingerprint and in most cases its name, but the same module name can be used in both the non-secure kernel and the secure kernel (example: SceSysmem). |
== SceModuleInfo == | == SceModuleInfo == | ||
− | The first SCE specific section .sceModuleInfo.rodata is located in the same program segment | + | The first SCE specific section .sceModuleInfo.rodata is located in the same program segment as .text. It contains metadata on the module. |
− | as .text. It contains metadata on the module. | ||
=== SceModuleInfo location === | === SceModuleInfo location === | ||
Line 15: | Line 14: | ||
Some fields are optional and can be set to zero. The other fields determine how this | Some fields are optional and can be set to zero. The other fields determine how this | ||
− | module is loaded and linked. All offset fields are formatted as follows: top 2 bits is an index | + | module is loaded and linked. All offset fields are formatted as follows: top 2 bits is an index to the segment to start at and bottom 30 bits is an offset from the segment start. Currently, the |
− | to the segment to start at and bottom 30 bits is an offset from the segment. Currently, the | ||
segment start index must match the segment that the module information structure is in. | segment start index must match the segment that the module information structure is in. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Name |
− | ! | + | ! Description |
− | |||
|- | |- | ||
− | | | + | | attribute |
− | | | + | | Attribute of the module. Most userland modules have it set to 0 (SCE_MODULE_ATTR_NONE) and kernel modules to 7. |
− | |||
|- | |- | ||
− | | | + | | major |
− | | | + | | Major version of the module (usually set to 1) |
− | |||
|- | |- | ||
− | | | + | | minor |
− | | | + | | Minor version of the module(usually set to 1). |
− | |||
|- | |- | ||
− | | | + | | name |
− | | | + | | Name of the module. |
− | |||
|- | |- | ||
− | | | + | | struct_type |
− | | | + | | Indicates which sceModuleInfo_prx2arm type it is. 3 on prototype FWs <=0.931, 6 on newer FWs >=0.940 |
+ | |- | ||
+ | | gp_value | ||
+ | | always 0 on ARM | ||
+ | |- | ||
+ | | libent_top | ||
| Offset to top of [[#Exports|exports]] array | | Offset to top of [[#Exports|exports]] array | ||
|- | |- | ||
− | | | + | | libent_end |
− | |||
| Offset to bottom of [[#Exports|exports]] array | | Offset to bottom of [[#Exports|exports]] array | ||
|- | |- | ||
− | | | + | | libstub_top |
− | |||
| Offset to top of [[#Imports|imports]] array | | Offset to top of [[#Imports|imports]] array | ||
|- | |- | ||
− | | | + | | libstub_end |
− | | | + | | Offset to bottom of [[#Imports|imports]] array |
− | + | |- | |
+ | | dbg_fingerprint | ||
+ | | It was wrongly named module NID. It is a sort of hash to ensure integrity and versioning. | ||
+ | |- | ||
+ | | tls_start | ||
+ | | Offset to start of TLS (Thread Local Storage) | ||
|- | |- | ||
− | | | + | | tls_filesz |
− | | | + | | Certainly equals (tls_end - tls_start). |
− | |||
|- | |- | ||
− | | | + | | tls_memsz |
− | | | + | | Certainly equals (tls_initialized_data_end - tls_start). |
− | |||
|- | |- | ||
− | | | + | | start_entry |
− | + | | Offset to module_start function. -1 to disable. | |
− | | Offset to module_start function | ||
|- | |- | ||
− | | | + | | stop_entry |
− | + | | Offset to module_stop function. -1 to disable. | |
− | | Offset to module_stop function | ||
|- | |- | ||
− | | | + | | exidx_start |
− | |||
| Offset to top of ARM EXIDX (optional) | | Offset to top of ARM EXIDX (optional) | ||
|- | |- | ||
− | | | + | | exidx_end |
− | |||
| Offset to bottom of ARM EXIDX (optional) | | Offset to bottom of ARM EXIDX (optional) | ||
|- | |- | ||
− | | | + | | extab_start |
− | |||
| Offset to top of ARM EXTAB (optional) | | Offset to top of ARM EXTAB (optional) | ||
|- | |- | ||
− | | | + | | extab_end |
− | |||
| Offset to bottom of ARM EXTAB (optional) | | Offset to bottom of ARM EXTAB (optional) | ||
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
− | + | #define MODULE_NAME_MAX_LEN 27 | |
− | + | ||
− | + | typedef struct _scemoduleinfo_common { // size is 0x20 | |
− | + | unsigned short attribute; | |
− | + | unsigned char major; | |
− | + | unsigned char minor; | |
− | + | char name[MODULE_NAME_MAX_LEN]; | |
− | + | char struct_type; | |
− | + | } sceModuleInfo_common; | |
− | + | ||
− | + | typedef struct _scemoduleinfo_prx2arm_3 { // size is 0x54 | |
− | + | sceModuleInfo_common c; | |
− | + | Elf32_Addr gp_value; | |
− | + | Elf32_Addr libent_top; | |
− | + | Elf32_Addr libent_end; | |
− | + | Elf32_Addr libstub_top; | |
− | + | Elf32_Addr libstub_end; | |
− | + | Elf32_Word dbg_fingerprint; | |
− | + | Elf32_Addr start_entry; | |
− | + | Elf32_Addr stop_entry; | |
+ | Elf32_Addr tls_start; | ||
+ | Elf32_Addr tls_filesz; | ||
+ | Elf32_Addr tls_memsz; | ||
+ | Elf32_Addr exidx_start; | ||
+ | Elf32_Addr exidx_end; | ||
+ | } sceModuleInfo_prx2arm_3; | ||
+ | |||
+ | typedef struct _scemoduleinfo_prx2arm_6 { // size is 0x5C | ||
+ | sceModuleInfo_common c; | ||
+ | Elf32_Addr gp_value; | ||
+ | Elf32_Addr libent_top; | ||
+ | Elf32_Addr libent_end; | ||
+ | Elf32_Addr libstub_top; | ||
+ | Elf32_Addr libstub_end; | ||
+ | Elf32_Word dbg_fingerprint; | ||
+ | Elf32_Addr tls_start; | ||
+ | Elf32_Addr tls_filesz; | ||
+ | Elf32_Addr tls_memsz; | ||
+ | Elf32_Addr start_entry; | ||
+ | Elf32_Addr stop_entry; | ||
+ | Elf32_Addr exidx_start; | ||
+ | Elf32_Addr exidx_end; | ||
+ | Elf32_Addr extab_start; | ||
+ | Elf32_Addr extab_end; | ||
+ | } sceModuleInfo_prx2arm_6; | ||
</source> | </source> | ||
− | ==== | + | == Modules imports-exports == |
+ | |||
+ | Each module contains zero or more library exports and zero or more library imports. An exported library groups together related functions along with their [[NID]] and exports it for [[SceKernelModulemgr]] to link with a library import in another module. | ||
+ | |||
+ | === Exports === | ||
+ | |||
+ | An array of export entries defines all the libraries exported by the module. | ||
+ | |||
+ | There is a special export entry that always shows up (even when the module exports no libraries) with flags 0x8000 and NID 0x00000000 that exports the module_start, module_stop, module_exit functions, module_info variable (if available). | ||
+ | |||
+ | The NIDs for these exports are common for all modules. On 0.940-1.00 psp2ld.exe (linker) these NIDs are hardcoded: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Name !! Type !! NID | ||
+ | |- | ||
+ | | module_start || Function || 0x935CD196 | ||
+ | |- | ||
+ | | module_stop || Function || 0x79F8E492 | ||
+ | |- | ||
+ | | module_exit || Function || 0x913482A9 | ||
+ | |- | ||
+ | | module_info || Variable || 0x6C2224BA | ||
+ | |- | ||
+ | | module_proc_param || Variable || 0x70FBA1E7 | ||
+ | |} | ||
+ | |||
+ | A way to generate NONAME exports NIDs was found in 0.945 armlibgen.exe: | ||
+ | uint32_t nid = sha1(name + suffix); | ||
+ | where suffix can be found on https://playstationdev.wiki/psvitadevwiki/index.php?title=Keys#PSVITA_noname_exports. | ||
− | The | + | Kernel modules that export user accessible libraries also get entries added to the [[Syscalls|syscall]] table. The table is randomized on each boot so the same function will likely get a different [[Syscalls|syscall]] number assigned each time. |
{| class="wikitable" | {| class="wikitable" | ||
− | ! | + | ! Name !! Description |
+ | |- | ||
+ | | size || Size of the structure (usually 0x1C or 0x20) | ||
|- | |- | ||
− | | | + | | version || Library version (usually 1) |
|- | |- | ||
− | | | + | | attribute || [[Modules#Library_attribute_flags|Library attribute flags]] |
|- | |- | ||
− | | | + | | nfunc || Number of exported functions |
|- | |- | ||
− | | | + | | nvar || Number of exported variables |
+ | |- | ||
+ | | ntlsvar || Number of exported TLS variables | ||
+ | |- | ||
+ | | hashinfo || Unknown. ex: 0, 2 | ||
+ | |- | ||
+ | | hashinfotls || Unknown. usually 0 | ||
+ | |- | ||
+ | | reserved || Unknown. usually 0 | ||
+ | |- | ||
+ | | nidaltsets || Unknown. usually 0 | ||
+ | |- | ||
+ | | libname_nid || Library [[NID]] | ||
+ | |- | ||
+ | | libname || Pointer to library name | ||
+ | |- | ||
+ | | nid_table || Pointer to array of [[NID]]s of exports | ||
+ | |- | ||
+ | | entry_table || Pointer to array of pointers of exports | ||
|} | |} | ||
− | == Modules | + | <source lang="C"> |
+ | typedef struct _scelibent_common { // size is 0x10 | ||
+ | short unsigned int size; | ||
+ | short unsigned int version; | ||
+ | short unsigned int attribute; | ||
+ | short unsigned int nfunc; | ||
+ | short unsigned int nvar; | ||
+ | short unsigned int ntlsvar; | ||
+ | unsigned char hashinfo; | ||
+ | unsigned char hashinfotls; | ||
+ | unsigned char reserved; | ||
+ | unsigned char nidaltsets; | ||
+ | } sceKernelLibraryEntryTable_common; | ||
+ | |||
+ | typedef sceKernelLibraryEntryTable_common sceKernelLibraryEntryTable_prx2_common; | ||
+ | |||
+ | typedef struct _scelibent_prx2arm_1C { // size is 0x1C | ||
+ | sceKernelLibraryEntryTable_prx2_common c; | ||
+ | Elf32_Addr libname; | ||
+ | Elf32_Addr nid_table; | ||
+ | Elf32_Addr entry_table; | ||
+ | } sceKernelLibraryEntryTable_prx2arm_1C; | ||
+ | |||
+ | typedef struct _scelibent_prx2arm_20 { // size is 0x20 | ||
+ | sceKernelLibraryEntryTable_prx2_common c; | ||
+ | Elf32_Word libname_nid; | ||
+ | Elf32_Addr libname; | ||
+ | Elf32_Addr nid_table; | ||
+ | Elf32_Addr entry_table; | ||
+ | } sceKernelLibraryEntryTable_prx2arm_20; | ||
+ | </source> | ||
+ | |||
+ | === Imports === | ||
+ | |||
+ | Each module can import any number of libraries from other modules by specifying the library [[NID]] to import along with a list of functions/variables [[NID]]s to import. [[SceKernelModulemgr]] does the dynamic linking by either jumping to an address if the two modules are in the same privilege level, or making a [[Syscalls|syscall]] if it is userland module importing a library exported by a kernel module. Kernel modules cannot import user libraries. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Name !! Description | ||
+ | |- | ||
+ | | size || Size of the structure (usually 0x24, 0x2C or 0x34) | ||
+ | |- | ||
+ | | version || Library version (ex: 1, 5) | ||
+ | |- | ||
+ | | attribute || [[Modules#Library_attribute_flags|Library attribute flags]] | ||
+ | |- | ||
+ | | nfunc || Number of imported functions | ||
+ | |- | ||
+ | | nvar || Number of imported variables | ||
+ | |- | ||
+ | | ntlsvar || Number of imported TLS variables | ||
+ | |- | ||
+ | | reserved || unk | ||
+ | |- | ||
+ | | libname_nid || Library [[NID]] | ||
+ | |- | ||
+ | | libname || Pointer to library name | ||
+ | |- | ||
+ | | sce_sdk_version || usually 0 | ||
+ | |- | ||
+ | | func_nid_table || Pointer to array of imported functions [[NID]]s | ||
+ | |- | ||
+ | | func_entry_table || Pointer to array of imported functions stubs offsets | ||
+ | |- | ||
+ | | var_nid_table || Pointer to array of imported variables [[NID]]s | ||
+ | |- | ||
+ | | var_entry_table || Pointer to array of imported variables offsets | ||
+ | |- | ||
+ | | tlsvar_nid_table || Pointer to array of imported TLS variables [[NID]]s | ||
+ | |- | ||
+ | | tlsvar_entry_table || Pointer to array of imported TLS variables offsets | ||
+ | |} | ||
+ | |||
+ | <source lang="C"> | ||
+ | typedef struct _scelibstub_common { // size is 0xC | ||
+ | unsigned short size; | ||
+ | unsigned short version; | ||
+ | unsigned short attribute; | ||
+ | unsigned short nfunc; | ||
+ | unsigned short nvar; | ||
+ | unsigned short ntlsvar; | ||
+ | } sceKernelLibraryStubTable_common; | ||
+ | |||
+ | typedef sceKernelLibraryStubTable_common sceKernelLibraryStubTable_prx2_common; | ||
+ | |||
+ | typedef struct _scelibstub_prx2arm_24 { // size is 0x24 | ||
+ | sceKernelLibraryStubTable_prx2_common c; | ||
+ | Elf32_Word libname_nid; | ||
+ | Elf32_Addr libname; | ||
+ | Elf32_Addr func_nid_table; | ||
+ | Elf32_Addr func_entry_table; | ||
+ | Elf32_Addr var_nid_table; | ||
+ | Elf32_Addr var_entry_table; | ||
+ | } sceKernelLibraryStubTable_prx2arm_24; | ||
+ | |||
+ | typedef struct _scelibstub_prx2arm_2C { // size is 0x2C | ||
+ | sceKernelLibraryStubTable_prx2_common c; | ||
+ | unsigned char reserved[4]; | ||
+ | Elf32_Addr libname; | ||
+ | Elf32_Word sce_sdk_version; | ||
+ | Elf32_Addr func_nid_table; | ||
+ | Elf32_Addr func_entry_table; | ||
+ | Elf32_Addr var_nid_table; | ||
+ | Elf32_Addr var_entry_table; | ||
+ | Elf32_Addr tls_nid_table; | ||
+ | Elf32_Addr tls_entry_table; | ||
+ | } sceKernelLibraryStubTable_prx2arm_2C; | ||
+ | |||
+ | typedef struct _scelibstub_prx2arm_34 { // size is 0x34 | ||
+ | sceKernelLibraryStubTable_prx2_common c; | ||
+ | unsigned char reserved[4]; | ||
+ | Elf32_Word libname_nid; | ||
+ | Elf32_Addr libname; | ||
+ | Elf32_Word sce_sdk_version; | ||
+ | Elf32_Addr func_nid_table; | ||
+ | Elf32_Addr func_entry_table; | ||
+ | Elf32_Addr var_nid_table; | ||
+ | Elf32_Addr var_entry_table; | ||
+ | Elf32_Addr tls_nid_table; | ||
+ | Elf32_Addr tls_entry_table; | ||
+ | } sceKernelLibraryStubTable_prx2arm_34; | ||
+ | </source> | ||
+ | |||
+ | === Library attribute flags === | ||
+ | |||
+ | Flags are ORed together and identified as follows: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Bit !! Comments | ||
+ | |- | ||
+ | | 0x10000 || Unknown | ||
+ | |- | ||
+ | | 0x8000 || Main Export: Set for main export. | ||
+ | |- | ||
+ | | 0x4000 || User Importable: In kernel modules only. Allow [[Syscalls|syscall]] export to userland. | ||
+ | |- | ||
+ | | 0x2 || ?kernel non-driver export? | ||
+ | |- | ||
+ | | 0x1 || Importable: Should be set unless it is the main export. ?regular export? | ||
+ | |} | ||
+ | |||
+ | == Relocations == | ||
+ | |||
+ | Relocations are stored within the PT_SCE_RELA segment. | ||
+ | |||
+ | Relocation entry format can be one of 10 types which is determined by r_format (the first 4 bits). | ||
+ | |||
+ | <source lang="C"> | ||
+ | // assuming LSB of bitfield is listed first | ||
+ | union { | ||
+ | Elf32Word r_format: 4; | ||
+ | |||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_symbol_segment : 4; | ||
+ | Elf32Word r_type : 8; | ||
+ | Elf32Word r_patch_segment : 4; | ||
+ | Elf32Word r_type2 : 8; | ||
+ | Elf32Word r_dist2 : 4; | ||
+ | |||
+ | Elf32Word r_addend; | ||
+ | |||
+ | Elf32Word r_offset; | ||
+ | } r_entry_0; | ||
+ | |||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_symbol_segment : 4; | ||
+ | Elf32Word r_type : 8; | ||
+ | Elf32Word r_patch_segment : 4; | ||
+ | Elf32Word r_offset_lo : 12; | ||
+ | |||
+ | Elf32Word r_offset_hi : 10; | ||
+ | Elf32Word r_addend : 22; | ||
+ | } r_entry_1; | ||
+ | |||
+ | // Used by var import relocations | ||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_symbol_segment : 4; | ||
+ | Elf32Word r_type : 8; | ||
+ | Elf32Word r_patch_segment : 2; | ||
+ | Elf32Word r_unk : 2; | ||
+ | Elf32Word r_pad : 4; | ||
+ | |||
+ | Elf32Word r_offset; | ||
+ | } r_entry_1_alt; | ||
+ | |||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_symbol_segment : 4; | ||
+ | Elf32Word r_type : 8; | ||
+ | Elf32Word r_offset : 16; | ||
+ | |||
+ | Elf32Word r_addend; | ||
+ | } r_entry_2; | ||
+ | |||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_symbol_segment : 4; | ||
+ | Elf32Word r_ins_mode : 1; // ARM = 0, THUMB = 1 | ||
+ | Elf32Word r_offset : 18; | ||
+ | Elf32Word r_dist2 : 5; | ||
+ | |||
+ | Elf32Word r_addend : 22; | ||
+ | } r_entry_3; | ||
+ | |||
+ | struct { | ||
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_offset : 23; | ||
+ | Elf32Word r_dist2 : 5; | ||
+ | } r_entry_4; | ||
− | + | struct { | |
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_dist1 : 9; | ||
+ | Elf32Word r_dist2 : 5; | ||
+ | Elf32Word r_dist3 : 9; | ||
+ | Elf32Word r_dist4 : 5; | ||
+ | } r_entry_5; | ||
− | + | struct { | |
+ | Elf32Word r_format : 4; | ||
+ | Elf32Word r_offset : 28; | ||
+ | } r_entry_6; | ||
− | + | struct { | |
+ | Elf32Word r_format : 4; | ||
+ | // r_format 7 has 4 offsets, 7 bits each | ||
+ | // r_format 8 has 7 offsets, 4 bits each | ||
+ | // r_format 9 has 14 offsets, 2 bits each | ||
+ | Elf32Word offsets : 28; | ||
+ | } r_entry_7_8_9; | ||
+ | } SCERel; | ||
+ | </source> | ||
+ | === Format 0 === | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
|- | |- | ||
− | + | ! Start !! End !! Description | |
|- | |- | ||
− | | | + | | 0 || 3 || Entry format type set to 0 |
|- | |- | ||
− | | | + | | 4 || 7 || Symbol segment index |
|- | |- | ||
− | | | + | | 8 || 15 || Relocation type |
|- | |- | ||
− | | | + | | 16 || 19 || Patch segment index |
|- | |- | ||
− | | | + | | 20 || 27 || Second relocation type |
|- | |- | ||
− | | | + | | 28 || 31 || Distance from offset (used for second relocation) |
|- | |- | ||
− | | | + | | 32 || 63 || Addend |
|- | |- | ||
− | | | + | | 64 || 95 || Offset |
+ | |} | ||
+ | |||
+ | === Format 1 === | ||
+ | {| class="wikitable" | ||
|- | |- | ||
− | + | ! Start !! End !! Description | |
|- | |- | ||
− | | | + | | 0 || 3 || Entry format type set to 1 |
+ | |- | ||
+ | | 4 || 7 || Symbol segment index | ||
+ | |- | ||
+ | | 8 || 15 || Relocation type | ||
+ | |- | ||
+ | | 16 || 19 || Patch segment index | ||
+ | |- | ||
+ | | 20 || 41 || Offset | ||
+ | |- | ||
+ | | 42 || 63 || Addend | ||
|} | |} | ||
− | === | + | === Format 2 === |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start !! End !! Description | ||
+ | |- | ||
+ | | 0 || 3 || Entry format type set to 2 | ||
+ | |- | ||
+ | | 4 || 7 || Symbol segment index | ||
+ | |- | ||
+ | | 8 || 15 || Relocation type | ||
+ | |- | ||
+ | | 16 || 31 || Offset | ||
+ | |- | ||
+ | | 32 || 64 || Addend | ||
+ | |} | ||
− | + | === Format 3 === | |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start !! End !! Description | ||
+ | |- | ||
+ | | 0 || 3 || Entry format type set to 3 | ||
+ | |- | ||
+ | | 4 || 7 || Symbol segment index | ||
+ | |- | ||
+ | | 8 || 8 || Mode (ARM = 0, THUMB = 1) | ||
+ | |- | ||
+ | | 9 || 26 || Offset | ||
+ | |- | ||
+ | | 27 || 31 || Distance from offset | ||
+ | |- | ||
+ | | 32 || 64 || Addend | ||
+ | |} | ||
− | === | + | === Format 4 === |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start !! End !! Description | ||
+ | |- | ||
+ | | 0 || 3 || Entry format type set to 4 | ||
+ | |- | ||
+ | | 4 || 26 || Offset | ||
+ | |- | ||
+ | | 27 || 31 || Distance from offset | ||
+ | |} | ||
+ | === Format 5 === | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
|- | |- | ||
− | + | ! Start !! End !! Description | |
|- | |- | ||
− | | | + | | 0 || 3 || Entry format type set to 5 |
|- | |- | ||
− | | | + | | 4 || 12 || Distance 1 |
|- | |- | ||
− | | | + | | 13 || 17 || Distance 2 |
|- | |- | ||
− | | | + | | 18 || 26 || Distance 3 |
|- | |- | ||
− | | | + | | 27 || 31 || Distance 4 |
+ | |} | ||
+ | |||
+ | === Format 6 === | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start !! End !! Description | ||
+ | |- | ||
+ | | 0 || 3 || Entry format type set to 6 | ||
+ | |- | ||
+ | | 4 || 31 || Offset | ||
+ | |} | ||
+ | |||
+ | === Format 7 === | ||
+ | {| class="wikitable" | ||
|- | |- | ||
− | + | ! Start !! End !! Description | |
|- | |- | ||
− | | | + | | 0 || 3 || Entry format type set to 7 |
|- | |- | ||
− | | | + | | 4 || 10 || Offset 1 |
|- | |- | ||
− | | | + | | 11 || 17 || Offset 2 |
|- | |- | ||
− | | | + | | 18 || 24 || Offset 3 |
|- | |- | ||
− | | | + | | 25 || 31 || Offset 4 |
|} | |} | ||
− | === | + | === Format 8 === |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start !! End !! Description | ||
+ | |- | ||
+ | | 0 || 3 || Entry format type set to 8 | ||
+ | |- | ||
+ | | 4 || 7 || Offset 1 | ||
+ | |- | ||
+ | | 8 || 11 || Offset 2 | ||
+ | |- | ||
+ | | 12 || 15 || Offset 3 | ||
+ | |- | ||
+ | | 16 || 19 || Offset 4 | ||
+ | |- | ||
+ | | 20 || 23 || Offset 5 | ||
+ | |- | ||
+ | | 24 || 27 || Offset 6 | ||
+ | |- | ||
+ | | 28 || 31 || Offset 7 | ||
+ | |} | ||
+ | === Format 9 === | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
|- | |- | ||
− | + | ! Start !! End !! Description | |
|- | |- | ||
− | | | + | | 0 || 3 || Entry format type set to 9 |
|- | |- | ||
− | | | + | | 4 || 5 || Offset 1 |
|- | |- | ||
− | | | + | | 6 || 7 || Offset 2 |
|- | |- | ||
− | | | + | | 8 || 9 || Offset 3 |
|- | |- | ||
− | | | + | | 10 || 11 || Offset 4 |
|- | |- | ||
− | | | + | | 12 || 13 || Offset 5 |
|- | |- | ||
− | | | + | | 14 || 15 || Offset 6 |
|- | |- | ||
− | | | + | | 16 || 17 || Offset 7 |
|- | |- | ||
− | | | + | | 18 || 19 || Offset 8 |
|- | |- | ||
− | | | + | | 20 || 21 || Offset 9 |
|- | |- | ||
− | | | + | | 22 || 23 || Offset 10 |
|- | |- | ||
− | | | + | | 24 || 25 || Offset 11 |
|- | |- | ||
− | | | + | | 26 || 27 || Offset 12 |
|- | |- | ||
− | | | + | | 28 || 29 || Offset 13 |
|- | |- | ||
− | | | + | | 30 || 31 || Offset 14 |
|} | |} | ||
− | === | + | === Supported Relocation Codes (as of FW 3.60) === |
− | |||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
|- | |- | ||
− | | | + | ! Code !! Description |
+ | |- | ||
+ | | 0 || R_ARM_NONE | ||
+ | |- | ||
+ | | 2 || R_ARM_ABS32 | ||
+ | |- | ||
+ | | 3 || R_ARM_REL32 | ||
+ | |- | ||
+ | | 10 || R_ARM_THM_CALL | ||
+ | |- | ||
+ | | 28 || R_ARM_CALL | ||
+ | |- | ||
+ | | 29 || R_ARM_JUMP24 | ||
+ | |- | ||
+ | | 38 || R_ARM_TARGET1 (same as R_ARM_ABS32) | ||
+ | |- | ||
+ | | 40 || R_ARM_V4BX (same as R_ARM_NONE) | ||
+ | |- | ||
+ | | 41 || R_ARM_TARGET2 (same as R_ARM_REL32) | ||
+ | |- | ||
+ | | 42 || R_ARM_PREL31 | ||
|- | |- | ||
− | | | + | | 43 || R_ARM_MOVW_ABS_NC |
|- | |- | ||
− | | | + | | 44 || R_ARM_MOVT_ABS |
|- | |- | ||
− | | | + | | 47 || R_ARM_THM_MOVW_ABS_NC |
|- | |- | ||
− | | | + | | 48 || R_ARM_THM_MOVT_ABS |
|} | |} | ||
Line 258: | Line 657: | ||
=== 3.60 Retail Modules === | === 3.60 Retail Modules === | ||
− | Module name obtained in decrypted SELF at offset ( | + | Module name obtained in decrypted SELF at offset (elf_hdr.entrypoint+4) and program-authority-id in SELF header at offset 0x80. |
==== 3.60 Kernel modules ==== | ==== 3.60 Kernel modules ==== | ||
Line 264: | Line 663: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Module name !! program-authority-id !! Module path |
|- | |- | ||
| [[ScePsp2BootConfig]] || 0x280800000002005B || os0:psp2bootconfig.skprx | | [[ScePsp2BootConfig]] || 0x280800000002005B || os0:psp2bootconfig.skprx |
Revision as of 17:17, 10 October 2019
The PSVita ELF loaded in memory is called a module. A module is distinctive by its dbg_fingerprint and in most cases its name, but the same module name can be used in both the non-secure kernel and the secure kernel (example: SceSysmem).
SceModuleInfo
The first SCE specific section .sceModuleInfo.rodata is located in the same program segment as .text. It contains metadata on the module.
SceModuleInfo location
- For ET SCE EXEC executables, SceModuleInfo structure is located in text segment at offset e_entry.
- For ET SCE RELEXEC executables, the segment containing SceModuleInfo structure is indexed by the upper two bits of e_entry of the ELF header. The structure is stored at the base offset of the segment plus the offset defined by the bottom 30 bits of e_entry.
SceModuleInfo structure
Some fields are optional and can be set to zero. The other fields determine how this module is loaded and linked. All offset fields are formatted as follows: top 2 bits is an index to the segment to start at and bottom 30 bits is an offset from the segment start. Currently, the segment start index must match the segment that the module information structure is in.
Name | Description |
---|---|
attribute | Attribute of the module. Most userland modules have it set to 0 (SCE_MODULE_ATTR_NONE) and kernel modules to 7. |
major | Major version of the module (usually set to 1) |
minor | Minor version of the module(usually set to 1). |
name | Name of the module. |
struct_type | Indicates which sceModuleInfo_prx2arm type it is. 3 on prototype FWs <=0.931, 6 on newer FWs >=0.940 |
gp_value | always 0 on ARM |
libent_top | Offset to top of exports array |
libent_end | Offset to bottom of exports array |
libstub_top | Offset to top of imports array |
libstub_end | Offset to bottom of imports array |
dbg_fingerprint | It was wrongly named module NID. It is a sort of hash to ensure integrity and versioning. |
tls_start | Offset to start of TLS (Thread Local Storage) |
tls_filesz | Certainly equals (tls_end - tls_start). |
tls_memsz | Certainly equals (tls_initialized_data_end - tls_start). |
start_entry | Offset to module_start function. -1 to disable. |
stop_entry | Offset to module_stop function. -1 to disable. |
exidx_start | Offset to top of ARM EXIDX (optional) |
exidx_end | Offset to bottom of ARM EXIDX (optional) |
extab_start | Offset to top of ARM EXTAB (optional) |
extab_end | Offset to bottom of ARM EXTAB (optional) |
#define MODULE_NAME_MAX_LEN 27
typedef struct _scemoduleinfo_common { // size is 0x20
unsigned short attribute;
unsigned char major;
unsigned char minor;
char name[MODULE_NAME_MAX_LEN];
char struct_type;
} sceModuleInfo_common;
typedef struct _scemoduleinfo_prx2arm_3 { // size is 0x54
sceModuleInfo_common c;
Elf32_Addr gp_value;
Elf32_Addr libent_top;
Elf32_Addr libent_end;
Elf32_Addr libstub_top;
Elf32_Addr libstub_end;
Elf32_Word dbg_fingerprint;
Elf32_Addr start_entry;
Elf32_Addr stop_entry;
Elf32_Addr tls_start;
Elf32_Addr tls_filesz;
Elf32_Addr tls_memsz;
Elf32_Addr exidx_start;
Elf32_Addr exidx_end;
} sceModuleInfo_prx2arm_3;
typedef struct _scemoduleinfo_prx2arm_6 { // size is 0x5C
sceModuleInfo_common c;
Elf32_Addr gp_value;
Elf32_Addr libent_top;
Elf32_Addr libent_end;
Elf32_Addr libstub_top;
Elf32_Addr libstub_end;
Elf32_Word dbg_fingerprint;
Elf32_Addr tls_start;
Elf32_Addr tls_filesz;
Elf32_Addr tls_memsz;
Elf32_Addr start_entry;
Elf32_Addr stop_entry;
Elf32_Addr exidx_start;
Elf32_Addr exidx_end;
Elf32_Addr extab_start;
Elf32_Addr extab_end;
} sceModuleInfo_prx2arm_6;
Modules imports-exports
Each module contains zero or more library exports and zero or more library imports. An exported library groups together related functions along with their NID and exports it for SceKernelModulemgr to link with a library import in another module.
Exports
An array of export entries defines all the libraries exported by the module.
There is a special export entry that always shows up (even when the module exports no libraries) with flags 0x8000 and NID 0x00000000 that exports the module_start, module_stop, module_exit functions, module_info variable (if available).
The NIDs for these exports are common for all modules. On 0.940-1.00 psp2ld.exe (linker) these NIDs are hardcoded:
Name | Type | NID |
---|---|---|
module_start | Function | 0x935CD196 |
module_stop | Function | 0x79F8E492 |
module_exit | Function | 0x913482A9 |
module_info | Variable | 0x6C2224BA |
module_proc_param | Variable | 0x70FBA1E7 |
A way to generate NONAME exports NIDs was found in 0.945 armlibgen.exe: uint32_t nid = sha1(name + suffix); where suffix can be found on https://playstationdev.wiki/psvitadevwiki/index.php?title=Keys#PSVITA_noname_exports.
Kernel modules that export user accessible libraries also get entries added to the syscall table. The table is randomized on each boot so the same function will likely get a different syscall number assigned each time.
Name | Description |
---|---|
size | Size of the structure (usually 0x1C or 0x20) |
version | Library version (usually 1) |
attribute | Library attribute flags |
nfunc | Number of exported functions |
nvar | Number of exported variables |
ntlsvar | Number of exported TLS variables |
hashinfo | Unknown. ex: 0, 2 |
hashinfotls | Unknown. usually 0 |
reserved | Unknown. usually 0 |
nidaltsets | Unknown. usually 0 |
libname_nid | Library NID |
libname | Pointer to library name |
nid_table | Pointer to array of NIDs of exports |
entry_table | Pointer to array of pointers of exports |
typedef struct _scelibent_common { // size is 0x10
short unsigned int size;
short unsigned int version;
short unsigned int attribute;
short unsigned int nfunc;
short unsigned int nvar;
short unsigned int ntlsvar;
unsigned char hashinfo;
unsigned char hashinfotls;
unsigned char reserved;
unsigned char nidaltsets;
} sceKernelLibraryEntryTable_common;
typedef sceKernelLibraryEntryTable_common sceKernelLibraryEntryTable_prx2_common;
typedef struct _scelibent_prx2arm_1C { // size is 0x1C
sceKernelLibraryEntryTable_prx2_common c;
Elf32_Addr libname;
Elf32_Addr nid_table;
Elf32_Addr entry_table;
} sceKernelLibraryEntryTable_prx2arm_1C;
typedef struct _scelibent_prx2arm_20 { // size is 0x20
sceKernelLibraryEntryTable_prx2_common c;
Elf32_Word libname_nid;
Elf32_Addr libname;
Elf32_Addr nid_table;
Elf32_Addr entry_table;
} sceKernelLibraryEntryTable_prx2arm_20;
Imports
Each module can import any number of libraries from other modules by specifying the library NID to import along with a list of functions/variables NIDs to import. SceKernelModulemgr does the dynamic linking by either jumping to an address if the two modules are in the same privilege level, or making a syscall if it is userland module importing a library exported by a kernel module. Kernel modules cannot import user libraries.
Name | Description |
---|---|
size | Size of the structure (usually 0x24, 0x2C or 0x34) |
version | Library version (ex: 1, 5) |
attribute | Library attribute flags |
nfunc | Number of imported functions |
nvar | Number of imported variables |
ntlsvar | Number of imported TLS variables |
reserved | unk |
libname_nid | Library NID |
libname | Pointer to library name |
sce_sdk_version | usually 0 |
func_nid_table | Pointer to array of imported functions NIDs |
func_entry_table | Pointer to array of imported functions stubs offsets |
var_nid_table | Pointer to array of imported variables NIDs |
var_entry_table | Pointer to array of imported variables offsets |
tlsvar_nid_table | Pointer to array of imported TLS variables NIDs |
tlsvar_entry_table | Pointer to array of imported TLS variables offsets |
typedef struct _scelibstub_common { // size is 0xC
unsigned short size;
unsigned short version;
unsigned short attribute;
unsigned short nfunc;
unsigned short nvar;
unsigned short ntlsvar;
} sceKernelLibraryStubTable_common;
typedef sceKernelLibraryStubTable_common sceKernelLibraryStubTable_prx2_common;
typedef struct _scelibstub_prx2arm_24 { // size is 0x24
sceKernelLibraryStubTable_prx2_common c;
Elf32_Word libname_nid;
Elf32_Addr libname;
Elf32_Addr func_nid_table;
Elf32_Addr func_entry_table;
Elf32_Addr var_nid_table;
Elf32_Addr var_entry_table;
} sceKernelLibraryStubTable_prx2arm_24;
typedef struct _scelibstub_prx2arm_2C { // size is 0x2C
sceKernelLibraryStubTable_prx2_common c;
unsigned char reserved[4];
Elf32_Addr libname;
Elf32_Word sce_sdk_version;
Elf32_Addr func_nid_table;
Elf32_Addr func_entry_table;
Elf32_Addr var_nid_table;
Elf32_Addr var_entry_table;
Elf32_Addr tls_nid_table;
Elf32_Addr tls_entry_table;
} sceKernelLibraryStubTable_prx2arm_2C;
typedef struct _scelibstub_prx2arm_34 { // size is 0x34
sceKernelLibraryStubTable_prx2_common c;
unsigned char reserved[4];
Elf32_Word libname_nid;
Elf32_Addr libname;
Elf32_Word sce_sdk_version;
Elf32_Addr func_nid_table;
Elf32_Addr func_entry_table;
Elf32_Addr var_nid_table;
Elf32_Addr var_entry_table;
Elf32_Addr tls_nid_table;
Elf32_Addr tls_entry_table;
} sceKernelLibraryStubTable_prx2arm_34;
Library attribute flags
Flags are ORed together and identified as follows:
Bit | Comments |
---|---|
0x10000 | Unknown |
0x8000 | Main Export: Set for main export. |
0x4000 | User Importable: In kernel modules only. Allow syscall export to userland. |
0x2 | ?kernel non-driver export? |
0x1 | Importable: Should be set unless it is the main export. ?regular export? |
Relocations
Relocations are stored within the PT_SCE_RELA segment.
Relocation entry format can be one of 10 types which is determined by r_format (the first 4 bits).
// assuming LSB of bitfield is listed first
union {
Elf32Word r_format: 4;
struct {
Elf32Word r_format : 4;
Elf32Word r_symbol_segment : 4;
Elf32Word r_type : 8;
Elf32Word r_patch_segment : 4;
Elf32Word r_type2 : 8;
Elf32Word r_dist2 : 4;
Elf32Word r_addend;
Elf32Word r_offset;
} r_entry_0;
struct {
Elf32Word r_format : 4;
Elf32Word r_symbol_segment : 4;
Elf32Word r_type : 8;
Elf32Word r_patch_segment : 4;
Elf32Word r_offset_lo : 12;
Elf32Word r_offset_hi : 10;
Elf32Word r_addend : 22;
} r_entry_1;
// Used by var import relocations
struct {
Elf32Word r_format : 4;
Elf32Word r_symbol_segment : 4;
Elf32Word r_type : 8;
Elf32Word r_patch_segment : 2;
Elf32Word r_unk : 2;
Elf32Word r_pad : 4;
Elf32Word r_offset;
} r_entry_1_alt;
struct {
Elf32Word r_format : 4;
Elf32Word r_symbol_segment : 4;
Elf32Word r_type : 8;
Elf32Word r_offset : 16;
Elf32Word r_addend;
} r_entry_2;
struct {
Elf32Word r_format : 4;
Elf32Word r_symbol_segment : 4;
Elf32Word r_ins_mode : 1; // ARM = 0, THUMB = 1
Elf32Word r_offset : 18;
Elf32Word r_dist2 : 5;
Elf32Word r_addend : 22;
} r_entry_3;
struct {
Elf32Word r_format : 4;
Elf32Word r_offset : 23;
Elf32Word r_dist2 : 5;
} r_entry_4;
struct {
Elf32Word r_format : 4;
Elf32Word r_dist1 : 9;
Elf32Word r_dist2 : 5;
Elf32Word r_dist3 : 9;
Elf32Word r_dist4 : 5;
} r_entry_5;
struct {
Elf32Word r_format : 4;
Elf32Word r_offset : 28;
} r_entry_6;
struct {
Elf32Word r_format : 4;
// r_format 7 has 4 offsets, 7 bits each
// r_format 8 has 7 offsets, 4 bits each
// r_format 9 has 14 offsets, 2 bits each
Elf32Word offsets : 28;
} r_entry_7_8_9;
} SCERel;
Format 0
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 0 |
4 | 7 | Symbol segment index |
8 | 15 | Relocation type |
16 | 19 | Patch segment index |
20 | 27 | Second relocation type |
28 | 31 | Distance from offset (used for second relocation) |
32 | 63 | Addend |
64 | 95 | Offset |
Format 1
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 1 |
4 | 7 | Symbol segment index |
8 | 15 | Relocation type |
16 | 19 | Patch segment index |
20 | 41 | Offset |
42 | 63 | Addend |
Format 2
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 2 |
4 | 7 | Symbol segment index |
8 | 15 | Relocation type |
16 | 31 | Offset |
32 | 64 | Addend |
Format 3
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 3 |
4 | 7 | Symbol segment index |
8 | 8 | Mode (ARM = 0, THUMB = 1) |
9 | 26 | Offset |
27 | 31 | Distance from offset |
32 | 64 | Addend |
Format 4
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 4 |
4 | 26 | Offset |
27 | 31 | Distance from offset |
Format 5
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 5 |
4 | 12 | Distance 1 |
13 | 17 | Distance 2 |
18 | 26 | Distance 3 |
27 | 31 | Distance 4 |
Format 6
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 6 |
4 | 31 | Offset |
Format 7
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 7 |
4 | 10 | Offset 1 |
11 | 17 | Offset 2 |
18 | 24 | Offset 3 |
25 | 31 | Offset 4 |
Format 8
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 8 |
4 | 7 | Offset 1 |
8 | 11 | Offset 2 |
12 | 15 | Offset 3 |
16 | 19 | Offset 4 |
20 | 23 | Offset 5 |
24 | 27 | Offset 6 |
28 | 31 | Offset 7 |
Format 9
Start | End | Description |
---|---|---|
0 | 3 | Entry format type set to 9 |
4 | 5 | Offset 1 |
6 | 7 | Offset 2 |
8 | 9 | Offset 3 |
10 | 11 | Offset 4 |
12 | 13 | Offset 5 |
14 | 15 | Offset 6 |
16 | 17 | Offset 7 |
18 | 19 | Offset 8 |
20 | 21 | Offset 9 |
22 | 23 | Offset 10 |
24 | 25 | Offset 11 |
26 | 27 | Offset 12 |
28 | 29 | Offset 13 |
30 | 31 | Offset 14 |
Supported Relocation Codes (as of FW 3.60)
Code | Description |
---|---|
0 | R_ARM_NONE |
2 | R_ARM_ABS32 |
3 | R_ARM_REL32 |
10 | R_ARM_THM_CALL |
28 | R_ARM_CALL |
29 | R_ARM_JUMP24 |
38 | R_ARM_TARGET1 (same as R_ARM_ABS32) |
40 | R_ARM_V4BX (same as R_ARM_NONE) |
41 | R_ARM_TARGET2 (same as R_ARM_REL32) |
42 | R_ARM_PREL31 |
43 | R_ARM_MOVW_ABS_NC |
44 | R_ARM_MOVT_ABS |
47 | R_ARM_THM_MOVW_ABS_NC |
48 | R_ARM_THM_MOVT_ABS |
List of Modules
Below is a list of all known Modules in the system along with the lowest version number it was seen on.
3.60 Retail Modules
Module name obtained in decrypted SELF at offset (elf_hdr.entrypoint+4) and program-authority-id in SELF header at offset 0x80.
3.60 Kernel modules
Module name | program-authority-id | Module path |
---|---|---|
ScePsp2BootConfig | 0x280800000002005B | os0:psp2bootconfig.skprx |
SceKernelPsp2Config | 0x2808000000020059 | os0:psp2config_dolce.skprx |
SceKernelPsp2Config | 0x2808000000020059 | os0:psp2config_vita.skprx |
SceSblACMgr | 0x2808000000020002 | os0:kd/acmgr.skprx |
SceSblAuthMgr | 0x2808000000020007 | os0:kd/authmgr.skprx |
SceKernelBootimage | 0x2808000000020060 | os0:kd/bootimage.skprx |
SceKernelBusError | 0x280800000002000D | os0:kd/buserror.skprx |
SceCrashDump | 0x2808000000020064 | os0:kd/crashdump.skprx |
SceDisplay | 0x2808000000020014 | os0:kd/display.skprx |
SceKernelDmacMgr | 0x2808000000020015 | os0:kd/dmacmgr.skprx |
SceEnumWakeUp | 0x280800000002005C | os0:kd/enum_wakeup.skprx |
SceExcpmgr | 0x2808000000020017 | os0:kd/excpmgr.skprx |
SceExfatfs | 0x2808000000020018 | os0:kd/exfatfs.skprx |
SceSblGcAuthMgr | 0x280800000002005E | os0:kd/gcauthmgr.skprx |
SceGpuEs4CoreDump | 0x280800000002001F | os0:kd/gpucoredump_es4.skprx |
SceHdmi | 0x2808000000020022 | os0:kd/hdmi.skprx |
SceKernelIntrMgr | 0x2808000000020025 | os0:kd/intrmgr.skprx |
SceIofilemgr | 0x2808000000020026 | os0:kd/iofilemgr.skprx |
SceKrm | 0x280800000002006E | os0:kd/krm.skprx |
SceLcd | 0x2808000000020066 | os0:kd/lcd.skprx |
SceLowio | 0x2808000000020028 | os0:kd/lowio.skprx |
SceMagicGate | 0x2808000000000201 | os0:kd/magicgate.skprx |
SceMarlinHci | 0x280800000002005F | os0:kd/marlin_hci.skprx |
SceSblMgKeyMgr | 0x2808000000000201 | os0:kd/mgkeymgr.skprx |
SceMgVideo | 0x2808000000000202 | os0:kd/mgvideo.skprx |
SceKernelModulemgr | 0x280800000002002A | os0:kd/modulemgr.skprx |
SceMsif | 0x280800000002002C | os0:kd/msif.skprx |
SceOled | 0x2808000000020031 | os0:kd/oled.skprx |
SceSblPcbcBin | 0x2808000000000100 | os0:kd/pcbc.skprx |
SceProcessmgr | 0x2808000000020036 | os0:kd/processmgr.skprx |
SceRtc | 0x2808000000020039 | os0:kd/rtc.skprx |
SceSdif | 0x280800000002003B | os0:kd/sdif.skprx |
SceSdstor | 0x280800000002003C | os0:kd/sdstor.skprx |
SceSblSmschedProxy | 0x280800000002003E | os0:kd/smsc_proxy.skprx |
SceSblSsSmComm | 0x280800000002003D | os0:kd/sm_comm.skprx |
SceSblSsMgr | 0x280800000002003F | os0:kd/ss_mgr.skprx |
SceSyscon | 0x2808000000020043 | os0:kd/syscon.skprx |
SceSysmem | 0x2808000000020044 | os0:kd/sysmem.skprx |
SceSysStateMgr | 0x2808000000020046 | os0:kd/sysstatemgr.skprx |
SceSystimer | 0x2808000000020047 | os0:kd/systimer.skprx |
SceKernelThreadMgr | 0x2808000000020048 | os0:kd/threadmgr.skprx |
SceUsbPspcm | 0x2808000000020063 | os0:kd/usbpspcm.skprx |
SceUsbstorDriver | 0x2808000000020061 | os0:kd/usbstor.skprx |
SceUsbstorMg | 0x2808000000000203 | os0:kd/usbstormg.skprx |
SceUsbstorVStorDriver | 0x2808000000020062 | os0:kd/usbstorvstor.skprx |
SceVipImage | 0x2808000000020052 | os0:kd/vipimg.skprx |
SceVeneziaImage | 0x2808000000020054 | os0:kd/vnzimg.skprx |
SceWlanBtRobinImageAx | 0x2808000000020057 | os0:kd/wlanbt_robin_img_ax.skprx |
SceSblPcffBin | 0x2808000000000101 | vs0:app/NPXS10028_pcff.skprx |
3.60 User modules and apps
Name | SELF AuthId | Path |
---|---|---|
SceSafeMode | 0x2800000000000015 | os0:ue/safemode.self |
SceAvcodecUser | 0x2800000000028005 | os0:us/avcodec_us.suprx |
SceDriverUser | 0x280000000002800A | os0:us/driver_us.suprx |
SceGpuEs4User | 0x280000000002802A | os0:us/libgpu_es4.suprx |
SceGxm | 0x2800000000028030 | os0:us/libgxm_es4.suprx |
SceLibKernel | 0x2800000000028034 | os0:us/libkernel.suprx |
SceNear | 0x2800000000000027 | vs0:app/NPXS10000/eboot.bin |
SceParty | 0x2800000000000026 | vs0:app/NPXS10001/eboot.bin |
SceNpPartyAppUtil | 0x280000000002001F | vs0:app/NPXS10001/np_party_app.suprx |
SceStoreBrowser | 0x280000000000001C | vs0:app/NPXS10002/eboot.bin |
SceWebBrowser | 0x2800000000000025 | vs0:app/NPXS10003/eboot.bin |
ScePhotoCam | 0x2800000000000018 | vs0:app/NPXS10004/eboot.bin |
SceFriend | 0x280000000000001A | vs0:app/NPXS10006/eboot.bin |
SceTrophy | 0x280000000000001B | vs0:app/NPXS10008/eboot.bin |
SceMusicBrowser | 0x2800000000000011 | vs0:app/NPXS10009/eboot.bin |
SceVideoPlayer | 0x280000000000001E | vs0:app/NPXS10010/eboot.bin |
SceRemotePlay | 0x2800000000000012 | vs0:app/NPXS10012/eboot.bin |
ScePS4Link | 0x280000000000700A | vs0:app/NPXS10013/eboot.bin |
gaikai_player | 0x2800000000020045 | vs0:app/NPXS10013/gaikai-player.suprx |
SceSecondScreen | 0x2800000000020046 | vs0:app/NPXS10013/libSceSecondScreen.suprx |
ScePsnMail | 0x2800000000000020 | vs0:app/NPXS10014/eboot.bin |
SceSettings | 0x2800000000000010 | vs0:app/NPXS10015/eboot.bin |
SceSystemSettingsCore | 0x2800000000020024 | vs0:app/NPXS10015/system_settings_core.suprx |
SceSignup | 0x2800000000000019 | vs0:app/NPXS10018/eboot.bin |
SceTelRegMain | 0x2800000000000029 | vs0:app/NPXS10021/eboot.bin |
SceTelReg | 0x2800000000020026 | vs0:app/NPXS10021/tel_reg.suprx |
ScePhotoExport | 0x2800000000000016 | vs0:app/NPXS10023/eboot.bin |
SceNearAutoLocation | 0x280000000000002B | vs0:app/NPXS10024/eboot.bin |
SceNearAutoCheckin | 0x280000000000002C | vs0:app/NPXS10025/eboot.bin |
SceContentManager | 0x280000000000002D | vs0:app/NPXS10026/eboot.bin |
SceGameManual | 0x2800000000000022 | vs0:app/NPXS10027/eboot.bin |
ScePspemu | 0x2800000000000013 | vs0:app/NPXS10028/eboot.bin |
SceMarlinBgMtp | 0x280000000000002A | vs0:app/NPXS10029/eboot.bin |
fake_package_installer | 0x280000000000002E | vs0:app/NPXS10031/eboot.bin |
SceNearUtilService | 0x280000000000002F | vs0:app/NPXS10032/eboot.bin |
SceAvMediaService | 0x2800000000000031 | vs0:app/NPXS10036/eboot.bin |
SceMsgMiddleWare | 0x2800000000000021 | vs0:app/NPXS10063/eboot.bin |
SceGriefReportDialogApp | 0x2800000000000034 | vs0:app/NPXS10065/eboot.bin |
SceGriefReportDialog | 0x2800000000020030 | vs0:app/NPXS10065/grief_report_dialog.suprx |
SceEmailApp | 0x2800000000000035 | vs0:app/NPXS10072/eboot.bin |
SceEmailEngine | 0x2800000000020035 | vs0:app/NPXS10072/email_engine.suprx |
SceEmailBg | 0x2800000000000037 | vs0:app/NPXS10073/eboot.bin |
SceCrashReport | 0x2800000000000036 | vs0:app/NPXS10077/eboot.bin |
SceComboPlay | 0x2800000000000040 | vs0:app/NPXS10078/eboot.bin |
SceDailyCheckerBg | 0x2800000000000039 | vs0:app/NPXS10079/eboot.bin |
swagner | 0x2800000000000041 | vs0:app/NPXS10080/eboot.bin |
ScePsmManual | 0x2800000000000038 | vs0:app/NPXS10081/eboot.bin |
SceWebKitProcess | 0x2800000000008005 | vs0:app/NPXS10083/eboot.bin |
SceWebKitProcessMini | 0x2800000000008005 | vs0:app/NPXS10084/eboot.bin |
SceVideoStreaming | 0x2800000000000044 | vs0:app/NPXS10085/eboot.bin |
SceCalendar | 0x2800000000000042 | vs0:app/NPXS10091/eboot.bin |
SceCalendarBg | 0x2800000000000043 | vs0:app/NPXS10092/eboot.bin |
SceKidsApp | 0x2800000000000046 | vs0:app/NPXS10094/eboot.bin |
ScePanorama | 0x2800000000000045 | vs0:app/NPXS10095/eboot.bin |
SceStitcherCoreAdapter | 0x2800000000020041 | vs0:app/NPXS10095/stitch_core_prx.suprx |
SceStitchAdapter | 0x2800000000020042 | vs0:app/NPXS10095/stitch_prx.suprx |
ScePS4Link | 0x280000000000700A | vs0:app/NPXS10098/eboot.bin |
gaikai_player | 0x2800000000020045 | vs0:app/NPXS10098/gaikai-player.suprx |
SceHostCollaboService | 0x2800000000000047 | vs0:app/NPXS10100/eboot.bin |
SceBgCopyResultBrowser | 0x2800000000000048 | vs0:app/NPXS10101/eboot.bin |
SceWebFiltering | 0x280000000002807F | vs0:data/external/webcore/jx_web_filtering.suprx |
ScePsp2Compat | 0x2800000000028097 | vs0:data/external/webcore/ScePsp2Compat.suprx |
SceWebKit | 0x2800000000028099 | vs0:data/external/webcore/SceWebKitModule.suprx |
SceLibVitaJSExtObj | 0x280000000002807E | vs0:data/external/webcore/vita_jsextobj.suprx |
SceActivityDb | 0x2800000000028001 | vs0:sys/external/activity_db.suprx |
SceNetAdhocMatching | 0x2800000000028002 | vs0:sys/external/adhoc_matching.suprx |
SceAppUtil | 0x2800000000028003 | vs0:sys/external/apputil.suprx |
SceAppUtilExt | 0x28000000000280A5 | vs0:sys/external/apputil_ext.suprx |
SceAudiocodec | 0x2800000000028004 | vs0:sys/external/audiocodec.suprx |
SceAvcdecForPlayer | 0x28000000000280AC | vs0:sys/external/avcdec_for_player.suprx |
SceBgAppUtil | 0x2800000000028086 | vs0:sys/external/bgapputil.suprx |
ScebXCe | 0x2800000000028007 | vs0:sys/external/bXCe.suprx |
SceCommonGuiDialog | 0x2800000000028008 | vs0:sys/external/common_gui_dialog.suprx |
SceDbrecoveryUtility | 0x2800000000028080 | vs0:sys/external/dbrecovery_utility.suprx |
SceDbutil | 0x2800000000028009 | vs0:sys/external/dbutil.suprx |
SceFriendSelect | 0x28000000000280AE | vs0:sys/external/friend_select.suprx |
SceIncomingDialog | 0x2800000000028087 | vs0:sys/external/incoming_dialog.suprx |
SceIniFileProcessor | 0x280000000002800C | vs0:sys/external/ini_file_processor.suprx |
SceAtrac | 0x2800000000028083 | vs0:sys/external/libatrac.suprx |
SceLibc | 0x280000000002800E | vs0:sys/external/libc.suprx |
SceCommonDialog | 0x280000000002800F | vs0:sys/external/libcdlg.suprx |
SceCalendarDialogPlugin | 0x28000000000280AA | vs0:sys/external/libcdlg_calendar_review.suprx |
SceCamImportDialogPlugin | 0x2800000000028079 | vs0:sys/external/libcdlg_cameraimport.suprx |
SceCheckoutDialogPlugin | 0x2800000000028010 | vs0:sys/external/libcdlg_checkout.suprx |
SceCompanionDialogPlugin | 0x2800000000017003 | vs0:sys/external/libcdlg_companion.suprx |
SceCompatDialogPlugin | 0x280000000002807C | vs0:sys/external/libcdlg_compat.suprx |
SceCrossCtlDialogPlugin | 0x2800000000028090 | vs0:sys/external/libcdlg_cross_controller.suprx |
SceFriendListDialogPlugin | 0x2800000000028011 | vs0:sys/external/libcdlg_friendlist.suprx |
SceFriendList2DialogPlugin | 0x28000000000280A8 | vs0:sys/external/libcdlg_friendlist2.suprx |
SceNpGameCustomDataDPlugin | 0x28000000000280B1 | vs0:sys/external/libcdlg_game_custom_data.suprx |
SceNpGameCustomDataDlgImpl | 0x28000000000280B2 | vs0:sys/external/libcdlg_game_custom_data_impl.suprx |
SceImeDialogPlugin | 0x2800000000028012 | vs0:sys/external/libcdlg_ime.suprx |
SceInvitationDlgPlugin | 0x28000000000280AF | vs0:sys/external/libcdlg_invitation.suprx |
SceInvitationDlgImplPlugin | 0x28000000000280B0 | vs0:sys/external/libcdlg_invitation_impl.suprx |
SceCommonDialogMain | 0x2800000000028013 | vs0:sys/external/libcdlg_main.suprx |
SceMsgDialogPlugin | 0x2800000000028015 | vs0:sys/external/libcdlg_msg.suprx |
SceNearDialogPlugin | 0x280000000002809F | vs0:sys/external/libcdlg_near.suprx |
SceNetCheckDialogPlugin | 0x2800000000028017 | vs0:sys/external/libcdlg_netcheck.suprx |
SceNpEulaDialogPlugin | 0x2800000000028089 | vs0:sys/external/libcdlg_npeula.suprx |
SceNpProfile2DialogPlugin | 0x28000000000280A9 | vs0:sys/external/libcdlg_npprofile2.suprx |
SceNpMessageDialogPlugin | 0x280000000002801A | vs0:sys/external/libcdlg_np_message.suprx |
SceNpSnsFbDialogPlugin | 0x2800000000028082 | vs0:sys/external/libcdlg_np_sns_fb.suprx |
SceTrophySetupDialogPlugin | 0x280000000002801B | vs0:sys/external/libcdlg_np_trophy_setup.suprx |
ScePhotoImportDialogPlugin | 0x280000000002801C | vs0:sys/external/libcdlg_photoimport.suprx |
ScePhotoReviewDialogPlugin | 0x280000000002801D | vs0:sys/external/libcdlg_photoreview.suprx |
ScePocsDialogPlugin | 0x2800000000020040 | vs0:sys/external/libcdlg_pocketstation.suprx |
SceRemoteOSKDialogPlugin | 0x2800000000017004 | vs0:sys/external/libcdlg_remote_osk.suprx |
SceSaveDataDialogPlugin | 0x280000000002801E | vs0:sys/external/libcdlg_savedata.suprx |
SceTwitterDialogPlugin | 0x2800000000028096 | vs0:sys/external/libcdlg_twitter.suprx |
SceTwLoginDialogPlugin | 0x280000000002809A | vs0:sys/external/libcdlg_tw_login.suprx |
SceVideoImportDialogPlugin | 0x28000000000280B3 | vs0:sys/external/libcdlg_videoimport.suprx |
SceClipboard | 0x2800000000028020 | vs0:sys/external/libclipboard.suprx |
SceLibDbg | 0x2800000000028023 | vs0:sys/external/libdbg.suprx |
SceFiber | 0x2800000000028024 | vs0:sys/external/libfiber.suprx |
SceLibFios2 | 0x2800000000028026 | vs0:sys/external/libfios2.suprx |
SceLibG729 | 0x2800000000028027 | vs0:sys/external/libg729.suprx |
SceLibGameUpdate | 0x28000000000280A1 | vs0:sys/external/libgameupdate.suprx |
SceHandwriting | 0x280000000002807A | vs0:sys/external/libhandwriting.suprx |
SceLibHttp | 0x2800000000028032 | vs0:sys/external/libhttp.suprx |
SceIme | 0x2800000000028033 | vs0:sys/external/libime.suprx |
SceIpmiNonGameApp | 0x2800000000028088 | vs0:sys/external/libipmi_nongame.suprx |
SceLibLocation | 0x2800000000028036 | vs0:sys/external/liblocation.suprx |
SceLibLocationExtension | 0x280000000002809C | vs0:sys/external/liblocation_extension.suprx |
SceLibLocationFactory | 0x2800000000028092 | vs0:sys/external/liblocation_factory.suprx |
SceLibLocationInternal | 0x2800000000028091 | vs0:sys/external/liblocation_internal.suprx |
SceLibMarlin | 0x280000000002002C | vs0:sys/external/libmln.suprx |
MarlinAppLib | 0x2800000000024003 | vs0:sys/external/libmlnapplib.suprx |
SceMarlinDownloader | 0x2800000000020031 | vs0:sys/external/libmlndownloader.suprx |
SceAacenc | 0x2800000000028078 | vs0:sys/external/libnaac.suprx |
SceNet | 0x2800000000028037 | vs0:sys/external/libnet.suprx |
SceLibNetCtl | 0x2800000000028038 | vs0:sys/external/libnetctl.suprx |
SceNgsUser | 0x2800000000028039 | vs0:sys/external/libngs.suprx |
ScePaf | 0x280000000002803A | vs0:sys/external/libpaf.suprx |
ScePafWebMapView | 0x2800000000020039 | vs0:sys/external/libpaf_web_map_view.suprx |
ScePerf | 0x280000000002803C | vs0:sys/external/libperf.suprx |
SceLibPgf | 0x280000000002803D | vs0:sys/external/libpgf.suprx |
SceLibPvf | 0x280000000002803E | vs0:sys/external/libpvf.suprx |
SceLibRudp | 0x2800000000028043 | vs0:sys/external/librudp.suprx |
SceSasUser | 0x2800000000028044 | vs0:sys/external/libsas.suprx |
SceAvPlayer | 0x280000000002809E | vs0:sys/external/libsceavplayer.suprx |
SceBeisobmf | 0x2800000000028093 | vs0:sys/external/libSceBeisobmf.suprx |
SceBemp2sys | 0x2800000000028094 | vs0:sys/external/libSceBemp2sys.suprx |
SceCompanionUtil | 0x2800000000017002 | vs0:sys/external/libSceCompanionUtil.suprx |
SceDtcpIp | 0x280000000002808D | vs0:sys/external/libSceDtcpIp.suprx |
SceLibft2 | 0x2800000000028045 | vs0:sys/external/libSceFt2.suprx |
SceJpegArm | 0x2800000000028046 | vs0:sys/external/libscejpegarm.suprx |
SceJpegEncArm | 0x2800000000028047 | vs0:sys/external/libscejpegencarm.suprx |
SceLibJson | 0x28000000000280AD | vs0:sys/external/libSceJson.suprx |
SceMp4 | 0x2800000000028076 | vs0:sys/external/libscemp4.suprx |
SceLibMp4Recorder | 0x28000000000280A4 | vs0:sys/external/libSceMp4Rec.suprx |
SceMusicExport | 0x2800000000028048 | vs0:sys/external/libSceMusicExport.suprx |
SceNearDialogUtil | 0x280000000002809B | vs0:sys/external/libSceNearDialogUtil.suprx |
SceNearUtil | 0x2800000000028049 | vs0:sys/external/libSceNearUtil.suprx |
ScePhotoExport | 0x280000000002804A | vs0:sys/external/libScePhotoExport.suprx |
ScePromoterUtil | 0x2800000000028081 | vs0:sys/external/libScePromoterUtil.suprx |
SceScreenShot | 0x280000000002804B | vs0:sys/external/libSceScreenShot.suprx |
SceShutterSound | 0x280000000002804C | vs0:sys/external/libSceShutterSound.suprx |
SceSqlite | 0x280000000002804D | vs0:sys/external/libSceSqlite.suprx |
SceTelephonyUtil | 0x280000000002808A | vs0:sys/external/libSceTelephonyUtil.suprx |
SceTeleportClient | 0x28000000000280A3 | vs0:sys/external/libSceTeleportClient.suprx |
SceTeleportServer | 0x28000000000280A2 | vs0:sys/external/libSceTeleportServer.suprx |
SceVideoExport | 0x2800000000024001 | vs0:sys/external/libSceVideoExport.suprx |
SceVideoSearchEmpr | 0x2800000000020034 | vs0:sys/external/libSceVideoSearchEmpr.suprx |
SceLibXml | 0x280000000002804F | vs0:sys/external/libSceXml.suprx |
SceShellSvc | 0x2800000000028050 | vs0:sys/external/libshellsvc.suprx |
SceLibSsl | 0x2800000000028051 | vs0:sys/external/libssl.suprx |
SceSystemGesture | 0x2800000000028053 | vs0:sys/external/libsystemgesture.suprx |
SceUlt | 0x2800000000028054 | vs0:sys/external/libult.suprx |
SceVoice | 0x2800000000028055 | vs0:sys/external/libvoice.suprx |
SceVoiceQoS | 0x2800000000028056 | vs0:sys/external/libvoiceqos.suprx |
SceLiveAreaUtil | 0x2800000000028057 | vs0:sys/external/livearea_util.suprx |
mail_api_for_local_libc | 0x28000000000280A0 | vs0:sys/external/mail_api_for_local_libc.suprx |
SceNearProfile | 0x2800000000028058 | vs0:sys/external/near_profile.suprx |
SceNotificationUtil | 0x2800000000028085 | vs0:sys/external/notification_util.suprx |
SceNpActivityNet | 0x2800000000028059 | vs0:sys/external/np_activity.suprx |
SceNpActivity | 0x280000000002805A | vs0:sys/external/np_activity_sdk.suprx |
SceNpBasic | 0x280000000002805B | vs0:sys/external/np_basic.suprx |
SceNpCommerce2 | 0x280000000002805C | vs0:sys/external/np_commerce2.suprx |
SceNpCommon | 0x280000000002805D | vs0:sys/external/np_common.suprx |
SceNpCommonPs4 | 0x28000000000280A7 | vs0:sys/external/np_common_ps4.suprx |
SceNpFriendPrivacyLevel | 0x280000000002805E | vs0:sys/external/np_friend_privacylevel.suprx |
SceNpKdc | 0x280000000002805F | vs0:sys/external/np_kdc.suprx |
SceNpManager | 0x2800000000028060 | vs0:sys/external/np_manager.suprx |
SceNpMatching2 | 0x2800000000028061 | vs0:sys/external/np_matching2.suprx |
SceNpMessage | 0x2800000000028062 | vs0:sys/external/np_message.suprx |
SceNpMessageContactsPlugin | 0x2800000000028074 | vs0:sys/external/np_message_contacts.suprx |
SceNpMessageDlgImplPlugin | 0x2800000000028075 | vs0:sys/external/np_message_dialog_impl.suprx |
SceNpMessagePadding | 0x2800000000028095 | vs0:sys/external/np_message_padding.suprx |
SceNpPartyGameUtil | 0x2800000000028063 | vs0:sys/external/np_party.suprx |
SceNpScore | 0x2800000000028064 | vs0:sys/external/np_ranking.suprx |
SceNpSignaling | 0x280000000002808F | vs0:sys/external/np_signaling.suprx |
SceNpSnsFacebook | 0x2800000000028084 | vs0:sys/external/np_sns_facebook.suprx |
SceNpTrophy | 0x2800000000028065 | vs0:sys/external/np_trophy.suprx |
SceNpTus | 0x2800000000028066 | vs0:sys/external/np_tus.suprx |
SceNpUtility | 0x2800000000028067 | vs0:sys/external/np_utility.suprx |
SceNpWebApi | 0x28000000000280A6 | vs0:sys/external/np_webapi.suprx |
ScePartyMemberListPlugin | 0x280000000002808B | vs0:sys/external/party_member_list.suprx |
SceDrmPsmKdc | 0x280000000002808E | vs0:sys/external/psmkdc.suprx |
SceLibPspnetAdhoc | 0x280000000002808C | vs0:sys/external/pspnet_adhoc.suprx |
SceSignInExt | 0x28000000000280AB | vs0:sys/external/signin_ext.suprx |
SceSqliteVsh | 0x280000000002806E | vs0:sys/external/sqlite.suprx |
SceStoreCheckoutPlugin | 0x280000000002806F | vs0:sys/external/store_checkout_plugin.suprx |
SceTriggerUtil | 0x2800000000024002 | vs0:sys/external/trigger_util.suprx |
SceWebUIPlugin | 0x2800000000028073 | vs0:sys/external/web_ui_plugin.suprx |
SceAppSettings | 0x2800000000020002 | vs0:vsh/common/app_settings.suprx |
SceAuthPlugin | 0x2800000000020003 | vs0:vsh/common/auth_plugin.suprx |
SceAvContentHandler | 0x2800000000020004 | vs0:vsh/common/av_content_handler.suprx |
SceBackupRestore | 0x280000000002002A | vs0:vsh/common/backup_restore.suprx |
SceContentOperation | 0x2800000000020006 | vs0:vsh/common/content_operation.suprx |
SceDbRecovery | 0x2800000000020007 | vs0:vsh/common/dbrecovery_plugin.suprx |
SceDbSetup | 0x2800000000020008 | vs0:vsh/common/dbsetup.suprx |
SceBEAVCorePlayer | 0x280000000002003C | vs0:vsh/common/libBEAVCorePlayer.suprx |
SceLibFflMp4 | 0x280000000002000F | vs0:vsh/common/libFflMp4.suprx |
SceLibical | 0x2800000000020044 | vs0:vsh/common/libical.suprx |
SceLibicalss | 0x2800000000020043 | vs0:vsh/common/libicalss.suprx |
SceLibMarlin | 0x280000000002002C | vs0:vsh/common/libmarlin.suprx |
SceMarlinDownloader | 0x2800000000020013 | vs0:vsh/common/libmarlindownloader.suprx |
SceLibMarlinPb | 0x280000000002002D | vs0:vsh/common/libmarlin_pb.suprx |
SceLibMtp | 0x2800000000020014 | vs0:vsh/common/libmtp.suprx |
SceLibMtpHttp | 0x280000000002003A | vs0:vsh/common/libmtphttp.suprx |
SceLibMtpHttpWrapper | 0x280000000002003B | vs0:vsh/common/libmtphttp_wrapper.suprx |
SceLibFflVuMp4 | 0x2800000000020037 | vs0:vsh/common/libSenvuabsFFsdk.suprx |
SceVideoProfiler | 0x2800000000020016 | vs0:vsh/common/libvideoprofiler.suprx |
mail_api_for_local | 0x2800000000020038 | vs0:vsh/common/mail_api_for_local.suprx |
SceMtpr3 | 0x280000000002001D | vs0:vsh/common/mtpr3.suprx |
SceMtpClient | 0x280000000002001E | vs0:vsh/common/mtp_client.suprx |
SceNpGriefReport | 0x280000000002002F | vs0:vsh/common/np_grief_report.suprx |
SceAACPromoter | 0x2800000000020001 | vs0:vsh/common/mms/AACPromoter.suprx |
SceBmpPromoter | 0x2800000000020005 | vs0:vsh/common/mms/bmp_promoter.suprx |
SceGifPromoter | 0x280000000002000B | vs0:vsh/common/mms/gif_promoter.suprx |
SceJpegPromoter | 0x280000000002000E | vs0:vsh/common/mms/jpeg_promoter.suprx |
SceMetaGen | 0x280000000002001A | vs0:vsh/common/mms/meta_gen.suprx |
SceMp3Promoter | 0x280000000002001B | vs0:vsh/common/mms/Mp3Promoter.suprx |
SceMsvPromoter | 0x280000000002001C | vs0:vsh/common/mms/MsvPromoter.suprx |
ScePngPromoter | 0x2800000000020020 | vs0:vsh/common/mms/png_promoter.suprx |
SceRiffPromoter | 0x2800000000020022 | vs0:vsh/common/mms/RiffPromoter.suprx |
SceSensMe | 0x2800000000020023 | vs0:vsh/common/mms/SensMe.suprx |
SceTiffPromoter | 0x2800000000020027 | vs0:vsh/common/mms/tiff_promoter.suprx |
SceGameCardInstallerPlugin | 0x280000000002003F | vs0:vsh/game/gamecard_installer_plugin.suprx |
SceGameDataPlugin | 0x2800000000020009 | vs0:vsh/game/gamedata_plugin.suprx |
SceInitialSetup | 0x2800000000000014 | vs0:vsh/initialsetup/initialsetup.self |
SceOnlineStoragePlugin | 0x280000000002003E | vs0:vsh/online_storage/online_storage_plugin.suprx |
SceAuthResetPlugin | 0x2800000000020029 | vs0:vsh/shell/auth_reset_plugin.suprx |
SceIduUpdate | 0x280000000002002E | vs0:vsh/shell/idu_update_plugin.suprx |
SceImePlugin | 0x280000000002000C | vs0:vsh/shell/ime_plugin.suprx |
SceImposeNet | 0x280000000002000D | vs0:vsh/shell/impose_net_plugin.suprx |
SceLibLocationDolceProvide | 0x280000000002003D | vs0:vsh/shell/liblocation_dolce_provider.suprx |
SceLibLocationPermission | 0x2800000000020010 | vs0:vsh/shell/liblocation_permission.suprx |
SceLibLocationProvider | 0x2800000000020011 | vs0:vsh/shell/liblocation_provider.suprx |
SceLsdb | 0x2800000000020018 | vs0:vsh/shell/livespace_db.suprx |
SceLocationPlugin | 0x2800000000020019 | vs0:vsh/shell/location_dialog_plugin.suprx |
SceShell | 0x2800000000000001 | vs0:vsh/shell/shell.self |
SceTelInitialCheck | 0x2800000000020025 | vs0:vsh/shell/telephony/initial_check/tel_initial_check_plugin.suprx |
SceCuiSetUpper | 0x2800800000000003 | ud0:PSP2UPDATE/cui_setupper.self |
ScePsp2Swu | 0x2800800000000002 | ud0:PSP2UPDATE/psp2swu.self |
1.69-1.80 Retail Modules (deprecated list over 3.60 one)
1.69-1.80 Kernel modules
Name | Version | Path |
---|---|---|
SceClockgen | 1.69 | bootfs:clockgen.skprx |
SceIdStorage | 1.69 | bootfs:idstorage.skprx |
SceCtrl | 1.69 | bootfs:ctrl.skprx |
SceTouch | 1.69 | bootfs:touch.skprx |
SceMotionDev | 1.69 | bootfs:motion.skprx |
SceCodec | 1.69 | bootfs:codec.skprx |
SceAudio | 1.69 | bootfs:audio.skprx |
SceHpremote | 1.69 | bootfs:hpremote.skprx |
ScePower | 1.69 | bootfs:power.skprx |
SceUsbd | 1.69 | bootfs:usbd.skprx |
SceUdcd | 1.69 | bootfs:udcd.skprx |
SceUsbServ | 1.69 | bootfs:usbserv.skprx |
SceUsbSerial | 1.69 | bootfs:usbserial.skprx |
SceUsbMtp | 1.69 | bootfs:usbmtp.skprx |
SceMtpIfDriver | 1.69 | bootfs:mtpif.skprx |
SceSblPostSsMgr | 1.69 | bootfs:post_ss_mgr.skprx |
SceSblUpdateMgr | 1.69 | bootfs:update_mgr.skprx |
SceRegistryMgr | 1.69 | bootfs:regmgr.skprx |
SceSblFwLoader | 1.69 | bootfs:fwloader.skprx |
SceVeneziaWrapper | 1.69 | bootfs:vnz_wrapper.skprx |
SceError | 1.69 | bootfs:error.skprx |
SceNpDrm | 1.69 | bootfs:npdrm.skprx |
SceUlobjMgr | 1.69 | bootfs:ulobjmgr.skprx |
SceNetPs | 1.69 | bootfs:net_ps.skprx |
SceGps | 1.69 | bootfs:gps.skprx |
1.69 | bootfs:bbmc.skprx | |
SceWlanBt | 1.69 | bootfs:wlanbt.skprx |
SceBt | 1.69 | bootfs:bt.skprx |
SceUsbstorDriver | 1.69 | bootfs:usbstor.skprx |
SceUsbstorVStorDriver | 1.69 | bootfs:usbstorvstor.skprx |
SceAvcodec | 1.69 | bootfs:avcodec.skprx |
SceAudioin | 1.69 | bootfs:audioin.skprx |
SceNgs | 1.69 | bootfs:ngs.skprx |
SceGpuEs4 | 1.69 | bootfs:gpu_es4.skprx |
1.69 | bootfs:gpuinit_es4.skprx | |
SceCompat | 1.69 | bootfs:compat.skprx |
SceCamera | 1.69 | bootfs:camera.skprx |
SceCoredump | 1.69 | bootfs:coredump.skprx |
SceAVConfig | 1.69 | bootfs:av_config.skprx |
SceFios2Kernel | 1.69 | bootfs:fios2.skprx |
ScePfsMgr | 1.69 | bootfs:pfsmgr.skprx |
SceAppMgr | 1.69 | bootfs:appmgr.skprx |
SceSysmodule | 1.69 | bootfs:sysmodule.skprx |
SceVshBridge | 1.69 | bootfs:vshbridge.skprx |
1.69 | bootfs:tty2uart.skprx | |
SceSblACMgr | 1.69 | os0:kd/acmgr.skprx |
SceSblAuthMgr | 1.69 | os0:kd/authmgr.skprx |
SceKernelBootimage | 1.69 | os0:kd/bootimage.skprx |
SceKernelBusError | 1.69 | os0:kd/buserror.skprx |
SceStdio | 1.69 | os0:kd/dbgsdio.skprx |
SceDisplay | 1.69 | os0:kd/display.skprx |
SceKernelDmacMgr | 1.69 | os0:kd/dmacmgr.skprx |
1.69 | os0:kd/enum_wakeup.skprx | |
SceExcpmgr | 1.69 | os0:kd/excpmgr.skprx |
SceExfatfs | 1.69 | os0:kd/exfatfs.skprx |
SceSblGcAuthMgr | 1.69 | os0:kd/gcauthmgr.skprx |
SceGpuEs4CoreDump | 1.69 | os0:kd/gpucoredump_es4.skprx |
SceHdmi | 1.69 | os0:kd/hdmi.skprx |
SceKernelIntrMgr | 1.69 | os0:kd/intrmgr.skprx |
SceIofilemgr | 1.69 | os0:kd/iofilemgr.skprx |
SceLowio | 1.69 | os0:kd/lowio.skprx |
SceMagicGate | 1.69 | os0:kd/magicgate.skprx |
SceMarlinHci | 1.69 | os0:kd/marlin_hci.skprx |
SceSblMgKeyMgr | 1.69 | os0:kd/mgkeymgr.skprx |
1.69 | os0:kd/mgvideo.skprx | |
SceKernelModulemgr | 1.69 | os0:kd/modulemgr.skprx |
SceMsif | 1.69 | os0:kd/msif.skprx |
SceOled | 1.69 | os0:kd/oled.skprx |
ScePamgr | 1.69 | os0:kd/pamgr.skprx |
SceSblPcbcBin | 1.69 | os0:kd/pcbc.skprx |
SceProcessmgr | 1.69 | os0:kd/processmgr.skprx |
SceRtc | 1.69 | os0:kd/rtc.skprx |
SceSDbgSdio | 1.69 | os0:kd/sdbgsdio.skprx |
SceSdif | 1.69 | os0:kd/sdif.skprx |
SceSdstor | 1.69 | os0:kd/sdstor.skprx |
SceSblSsSmComm | 1.69 | os0:kd/sm_comm.skprx |
SceSblSmschedProxy | 1.69 | os0:kd/smsc_proxy.skprx |
SceSblSsMgr | 1.69 | os0:kd/ss_mgr.skprx |
SceSyscon | 1.69 | os0:kd/syscon.skprx |
SceSysmem | 1.69 | os0:kd/sysmem.skprx |
SceSysStateMgr | 1.69 | os0:kd/sysstatemgr.skprx |
SceSystimer | 1.69 | os0:kd/systimer.skprx |
SceKernelThreadMgr | 1.69 | os0:kd/threadmgr.skprx |
1.69 | os0:kd/usbdev_serial.skprx | |
1.69 | os0:kd/usbpspcm.skprx | |
SceUsbstorDriver | 1.69 | os0:kd/usbstor.skprx |
1.69 | os0:kd/usbstormg.skprx | |
SceUsbstorVStorDriver | 1.69 | os0:kd/usbstorvstor.skprx |
1.69 | os0:kd/vipimg.skprx | |
1.69 | os0:kd/vnzimg.skprx | |
1.69 | os0:kd/wlanbt_robin_img_ax.skprx | |
ScePsp2BootConfig | 1.69 | os0:psp2bootconfig.skprx |
SceKernelPsp2Config | 1.69 | os0:psp2config.skprx |
SceSblPcffBin | 1.69 | vs0:app/NPXS10028/pcff.skprx |
1.69-1.80 Secure Kernel
Name | Version |
---|---|
SceSysmem | 1.69 |
SceExcpmgr | 1.69 |
SceKernelIntrMgr | 1.69 |
SceKernelBusError | 1.69 |
SceSblSmsched | 1.69 |
SceDriverTzs | 1.69 |
1.69-1.80 User modules
Name | Version | Path |
---|---|---|
SceAvcodecUser | 1.69 | os0:us/avcodec_us.suprx |
SceDriverUser | 1.69 | os0:us/driver_us.suprx |
SceGpuEs4User | 1.69 | os0:us/libgpu_es4.suprx |
SceGxm | 1.69 | os0:us/libgxm_es4.suprx |
SceLibKernel | 1.69 | os0:us/libkernel.suprx |
1.69-1.80 System Applications
Name | Version | Path |
---|---|---|
SceSafeMode | 1.69 | os0:ue/safemode.self |
SceShell | 1.69 | vs0:vsh/shell/shell.self |
SceInitialSetup | 1.69 | vs0:vsh/initialsetup/initialsetup.self |
SceCuiSetUpper | 1.69 | host0:cui_setupper.self |
ScePsp2Swu | 1.69 | up0:PSP2UPDATE/psp2swu.self |
SceNear | 1.69 | vs0:app/NPXS10000/eboot.bin |
NPXS10001 (Party) | 1.69 | vs0:app/NPXS10001/eboot.bin |
SceStoreBrowser | 1.69 | vs0:app/NPXS10002/eboot.bin |
SceWebBrowser | 1.69 | vs0:app/NPXS10003/eboot.bin |
ScePhotoCam | 1.69 | vs0:app/NPXS10004/eboot.bin |
SceMapViewer | 1.69 | vs0:app/NPXS10005/eboot.bin |
SceFriendsApp | 1.69 | vs0:app/NPXS10006/eboot.bin |
SceTrophy | 1.69 | vs0:app/NPXS10008/eboot.bin |
SceMusicBrowser | 1.69 | vs0:app/NPXS10009/eboot.bin |
SceVideoPlayer | 1.69 | vs0:app/NPXS10010/eboot.bin |
SceRemotePlay | 1.69 | vs0:app/NPXS10012/eboot.bin |
ScePsnMail | 1.69 | vs0:app/NPXS10014/eboot.bin |
SceSettings | 1.69 | vs0:app/NPXS10015/eboot.bin |
SceWebCore | 1.69 | vs0:app/NPXS10017/eboot.bin |
NPXS10018 (Sign up) | 1.69 | vs0:app/NPXS10018/eboot.bin |
NPXS10020 (Notifications) | 1.69 | vs0:app/NPXS10020/eboot.bin |
SceTelReg | 1.69 | vs0:app/NPXS10021/eboot.bin |
ScePhotoExport | 1.69 | vs0:app/NPXS10023/eboot.bin |
SceNearAutoCheckin | 1.69 | vs0:app/NPXS10025/eboot.bin |
CMA | 1.69 | vs0:app/NPXS10026/eboot.bin |
SceGameManual | 1.69 | vs0:app/NPXS10027/eboot.bin |
PSP Emulator | 1.69 | vs0:app/NPXS10028/eboot.bin |
NPXS10029 (Merlin DRM) | 1.69 | vs0:app/NPXS10029/eboot.bin |
NPXS10030 (Quick Signup) | 1.69 | vs0:app/NPXS10030/eboot.bin |
Package Installer | 1.69 | vs0:app/NPXS10031/eboot.bin |
NPXS10032 (Near Utility Background) | 1.69 | vs0:app/NPXS10032/eboot.bin |
NPXS10035 (Store In-Game) | 1.69 | vs0:app/NPXS10035/eboot.bin |
NPXS10036 (AVMediaSrv) | 1.69 | vs0:app/NPXS10036/eboot.bin |
SceWebCore | 1.69 | vs0:app/NPXS10037/eboot.bin |
NPXS10063 (MsgMW) | 1.69 | vs0:app/NPXS10063/eboot.bin |
NPXS10065 (Grief Report Dialog) | 1.69 | vs0:app/NPXS10065/eboot.bin |
NPXS10068 (Update Checker) | 1.69 | vs0:app/NPXS10068/eboot.bin |
ScePsm | 1.80 | vs0:app/NPXS10074/eboot.bin |
ScePsmManual | 1.80 | vs0:app/NPXS10081/eboot.bin |
1.69-1.80 Applications modules
Name | Version | Path |
---|---|---|
1.69 | vs0:app/NPXS10001/np_party_app.suprx | |
1.69 | vs0:app/NPXS10015/system_settings_core.suprx | |
1.69 | vs0:app/NPXS10017/jx_web_filtering.suprx | |
1.69 | vs0:app/NPXS10017/vita_jsextobj.suprx | |
1.69 | vs0:app/NPXS10021/tel_reg.suprx | |
1.69 | vs0:app/NPXS10037/jx_web_filtering.suprx | |
1.69 | vs0:app/NPXS10037/vita_jsextobj.suprx | |
1.69 | vs0:app/NPXS10065/grief_report_dialog.suprx | |
1.69 | vs0:data/external/webcore/jx_web_filtering.suprx | |
1.69 | vs0:data/external/webcore/silk.suprx | |
1.69 | vs0:data/external/webcore/silk_base.suprx | |
1.69 | vs0:data/external/webcore/silk_mrcommon.suprx | |
1.69 | vs0:data/external/webcore/silk_mrserver.suprx | |
1.69 | vs0:data/external/webcore/silk_webkit.suprx | |
1.69 | vs0:data/external/webcore/vita_jsextobj.suprx | |
1.69 | vs0:data/external/webcore/webcore.suprx | |
1.69 | vs0:data/external/webcore/webcore_server.suprx | |
1.69 | vs0:sys/external/activity_db.suprx | |
1.69 | vs0:sys/external/adhoc_matching.suprx | |
1.69 | vs0:sys/external/apputil.suprx | |
1.69 | vs0:sys/external/audiocodec.suprx | |
1.69 | vs0:sys/external/bgapputil.suprx | |
1.69 | vs0:sys/external/bXCe.suprx | |
1.69 | vs0:sys/external/common_gui_dialog.suprx | |
1.69 | vs0:sys/external/dbrecovery_utility.suprx | |
1.69 | vs0:sys/external/dbutil.suprx | |
1.69 | vs0:sys/external/incoming_dialog.suprx | |
1.69 | vs0:sys/external/ini_file_processor.suprx | |
1.69 | vs0:sys/external/libatrac.suprx | |
1.69 | vs0:sys/external/libc.suprx | |
1.69 | vs0:sys/external/libcdlg.suprx | |
1.69 | vs0:sys/external/libcdlg_cameraimport.suprx | |
1.69 | vs0:sys/external/libcdlg_checkout.suprx | |
1.69 | vs0:sys/external/libcdlg_compat.suprx | |
1.69 | vs0:sys/external/libcdlg_friendlist.suprx | |
1.69 | vs0:sys/external/libcdlg_ime.suprx | |
1.69 | vs0:sys/external/libcdlg_main.suprx | |
1.69 | vs0:sys/external/libcdlg_msg.suprx | |
1.69 | vs0:sys/external/libcdlg_netcheck.suprx | |
1.69 | vs0:sys/external/libcdlg_np_message.suprx | |
1.69 | vs0:sys/external/libcdlg_np_sns_fb.suprx | |
1.69 | vs0:sys/external/libcdlg_np_trophy_setup.suprx | |
1.69 | vs0:sys/external/libcdlg_npeula.suprx | |
1.69 | vs0:sys/external/libcdlg_npprofile.suprx | |
1.69 | vs0:sys/external/libcdlg_photoimport.suprx | |
1.69 | vs0:sys/external/libcdlg_photoreview.suprx | |
1.69 | vs0:sys/external/libcdlg_savedata.suprx | |
1.69 | vs0:sys/external/libclipboard.suprx | |
1.69 | vs0:sys/external/libcodecengine_perf.suprx | |
1.69 | vs0:sys/external/libdbg.suprx | |
1.69 | vs0:sys/external/libfiber.suprx | |
1.69 | vs0:sys/external/libfios2.suprx | |
1.69 | vs0:sys/external/libg729.suprx | |
1.69 | vs0:sys/external/libgxm_dbg_es3.suprx | |
1.69 | vs0:sys/external/libgxm_dbg_es4.suprx | |
1.69 | vs0:sys/external/libhandwriting.suprx | |
1.69 | vs0:sys/external/libhttp.suprx | |
1.69 | vs0:sys/external/libime.suprx | |
1.69 | vs0:sys/external/libipmi_nongame.suprx | |
1.69 | vs0:sys/external/liblocation.suprx | |
1.69 | vs0:sys/external/libmln.suprx | |
1.69 | vs0:sys/external/libmlnapplib.suprx | |
1.69 | vs0:sys/external/libmlndownloader.suprx | |
1.69 | vs0:sys/external/libnaac.suprx | |
1.69 | vs0:sys/external/libnet.suprx | |
1.69 | vs0:sys/external/libnetctl.suprx | |
1.69 | vs0:sys/external/libngs.suprx | |
ScePaf | 1.69 | vs0:sys/external/libpaf.suprx |
1.69 | vs0:sys/external/libperf.suprx | |
1.69 | vs0:sys/external/libpgf.suprx | |
1.69 | vs0:sys/external/libpvf.suprx | |
1.69 | vs0:sys/external/librazorcapture_es3.suprx | |
1.69 | vs0:sys/external/librazorcapture_es4.suprx | |
1.69 | vs0:sys/external/librazorhud_es3.suprx | |
1.69 | vs0:sys/external/librazorhud_es4.suprx | |
1.69 | vs0:sys/external/librudp.suprx | |
1.69 | vs0:sys/external/libsas.suprx | |
1.69 | vs0:sys/external/libSceFt2.suprx | |
1.69 | vs0:sys/external/libscejpegarm.suprx | |
1.69 | vs0:sys/external/libscejpegencarm.suprx | |
1.69 | vs0:sys/external/libscemp4.suprx | |
1.69 | vs0:sys/external/libSceMusicExport.suprx | |
1.69 | vs0:sys/external/libSceNearUtil.suprx | |
1.69 | vs0:sys/external/libScePhotoExport.suprx | |
ScePromoterUtil | 1.69 | vs0:sys/external/libScePromoterUtil.suprx |
1.69 | vs0:sys/external/libSceScreenShot.suprx | |
1.69 | vs0:sys/external/libSceShutterSound.suprx | |
1.69 | vs0:sys/external/libSceSqlite.suprx | |
1.69 | vs0:sys/external/libSceTelephonyUtil.suprx | |
1.69 | vs0:sys/external/libSceVideoExport.suprx | |
1.69 | vs0:sys/external/libSceXml.suprx | |
1.69 | vs0:sys/external/libshacccg.suprx | |
1.69 | vs0:sys/external/libshellsvc.suprx | |
SceLibSsl | 1.69 | vs0:sys/external/libssl.suprx |
1.69 | vs0:sys/external/libsulpha.suprx | |
1.69 | vs0:sys/external/libsystemgesture.suprx | |
1.69 | vs0:sys/external/libult.suprx | |
1.69 | vs0:sys/external/libvoice.suprx | |
1.69 | vs0:sys/external/libvoiceqos.suprx | |
1.69 | vs0:sys/external/livearea_util.suprx | |
1.69 | vs0:sys/external/near_profile.suprx | |
1.69 | vs0:sys/external/notification_util.suprx | |
1.69 | vs0:sys/external/np_activity.suprx | |
1.69 | vs0:sys/external/np_activity_sdk.suprx | |
1.69 | vs0:sys/external/np_basic.suprx | |
1.69 | vs0:sys/external/np_commerce2.suprx | |
1.69 | vs0:sys/external/np_common.suprx | |
1.69 | vs0:sys/external/np_friend_privacylevel.suprx | |
1.69 | vs0:sys/external/np_kdc.suprx | |
1.69 | vs0:sys/external/np_manager.suprx | |
1.69 | vs0:sys/external/np_matching2.suprx | |
1.69 | vs0:sys/external/np_message.suprx | |
1.69 | vs0:sys/external/np_message_contacts.suprx | |
1.69 | vs0:sys/external/np_message_dialog_impl.suprx | |
1.69 | vs0:sys/external/np_party.suprx | |
1.69 | vs0:sys/external/np_ranking.suprx | |
1.69 | vs0:sys/external/np_sns_facebook.suprx | |
1.69 | vs0:sys/external/np_trophy.suprx | |
1.69 | vs0:sys/external/np_tus.suprx | |
1.69 | vs0:sys/external/np_utility.suprx | |
1.69 | vs0:sys/external/sqlite.suprx | |
1.69 | vs0:sys/external/store_checkout_plugin.suprx | |
1.69 | vs0:sys/external/trigger_util.suprx | |
1.69 | vs0:sys/external/ulobj_dbg.suprx | |
1.69 | vs0:sys/external/web_ui_plugin.suprx | |
1.69 | vs0:vsh/common/app_settings.suprx | |
1.69 | vs0:vsh/common/auth_plugin.suprx | |
1.69 | vs0:vsh/common/av_content_handler.suprx | |
1.69 | vs0:vsh/common/backup_restore.suprx | |
1.69 | vs0:vsh/common/content_operation.suprx | |
1.69 | vs0:vsh/common/dbrecovery_plugin.suprx | |
1.69 | vs0:vsh/common/dbsetup.suprx | |
1.69 | vs0:vsh/common/libFflMp4.suprx | |
1.69 | vs0:vsh/common/libmarlin.suprx | |
1.69 | vs0:vsh/common/libmarlin_pb.suprx | |
1.69 | vs0:vsh/common/libmarlindownloader.suprx | |
1.69 | vs0:vsh/common/libmtp.suprx | |
1.69 | vs0:vsh/common/libvideoprofiler.suprx | |
1.69 | vs0:vsh/common/mms/AACPromoter.suprx | |
1.69 | vs0:vsh/common/mms/bmp_promoter.suprx | |
1.69 | vs0:vsh/common/mms/gif_promoter.suprx | |
1.69 | vs0:vsh/common/mms/jpeg_promoter.suprx | |
1.69 | vs0:vsh/common/mms/meta_gen.suprx | |
1.69 | vs0:vsh/common/mms/Mp3Promoter.suprx | |
1.69 | vs0:vsh/common/mms/MsvPromoter.suprx | |
1.69 | vs0:vsh/common/mms/png_promoter.suprx | |
1.69 | vs0:vsh/common/mms/RiffPromoter.suprx | |
1.69 | vs0:vsh/common/mms/SensMe.suprx | |
1.69 | vs0:vsh/common/mms/tiff_promoter.suprx | |
1.69 | vs0:vsh/common/mtp_client.suprx | |
1.69 | vs0:vsh/common/mtpr3.suprx | |
1.69 | vs0:vsh/common/np_grief_report.suprx | |
1.69 | vs0:vsh/common/webcore.suprx | |
1.69 | vs0:vsh/game/gamedata_plugin.suprx | |
1.69 | vs0:vsh/shell/auth_reset_plugin.suprx | |
1.69 | vs0:vsh/shell/idu_update_plugin.suprx | |
1.69 | vs0:vsh/shell/ime_plugin.suprx | |
1.69 | vs0:vsh/shell/impose_net_plugin.suprx | |
1.69 | vs0:vsh/shell/liblocation_permission.suprx | |
1.69 | vs0:vsh/shell/liblocation_provider.suprx | |
1.69 | vs0:vsh/shell/livearea_util_module.suprx | |
1.69 | vs0:vsh/shell/livespace_db.suprx | |
1.69 | vs0:vsh/shell/location_dialog_plugin.suprx | |
1.69 | vs0:vsh/shell/telephony/initial_check/tel_initial_check_plugin.suprx |