Difference between revisions of "Modules"

From Vita Development Wiki
Jump to navigation Jump to search
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
The executable ELF encrypted to a [[SELF]] formatted file is called a module. A module is distinctive by its [[NID]] and in most cases the module name, but the same module name can be used in both the non-secure kernel and the secure kernel.
+
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.
  
Line 24: Line 22:
 
! Description
 
! Description
 
|-
 
|-
| modattribute
+
| attribute
| Most userland modules have it set to 0 and kernel modules to 7.
+
| Attribute of the module. Most userland modules have it set to 0 (SCE_MODULE_ATTR_NONE) and kernel modules to 7.
 
|-
 
|-
| modversion
+
| major
| First byte is major version (usually set to 1), second byte is minor version (usually set to 1).
+
| Major version of the module (usually set to 1)
 
|-
 
|-
| modname
+
| minor
| Name of the module
+
| Minor version of the module(usually set to 1).
 
|-
 
|-
| type
+
| 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
 
| Indicates which sceModuleInfo_prx2arm type it is. 3 on prototype FWs <=0.931, 6 on newer FWs >=0.940
 
|-
 
|-
| resreve
+
| gp_value
| gp_value (always 0 on ARM)
+
| always 0 on ARM
 
|-
 
|-
| ent_top
+
| libent_top
 
| Offset to top of [[#Exports|exports]] array
 
| Offset to top of [[#Exports|exports]] array
 
|-
 
|-
| ent_end
+
| libent_end
 
| Offset to bottom of [[#Exports|exports]] array
 
| Offset to bottom of [[#Exports|exports]] array
 
|-
 
|-
| stub_top
+
| libstub_top
 
| Offset to top of [[#Imports|imports]] array
 
| Offset to top of [[#Imports|imports]] array
 
|-
 
|-
| stub_end
+
| libstub_end
| Offset to bottom of [[#Imports|imports]] array
+
| Offset to bottom of [[#Imports|imports]] array
 
|-
 
|-
 
| dbg_fingerprint
 
| dbg_fingerprint
 
| It was wrongly named module NID. It is a sort of hash to ensure integrity and versioning.
 
| It was wrongly named module NID. It is a sort of hash to ensure integrity and versioning.
 
|-
 
|-
| tls_top
+
| tls_start
|  
+
| Offset to start of TLS (Thread Local Storage)
 
|-
 
|-
 
| tls_filesz
 
| tls_filesz
|  
+
| Certainly equals (tls_end - tls_start).
 
|-
 
|-
 
| tls_memsz
 
| tls_memsz
|  
+
| Certainly equals (tls_initialized_data_end - tls_start).
 
|-
 
|-
 
| start_entry
 
| start_entry
Line 69: Line 70:
 
| Offset to module_stop function. -1 to disable.
 
| Offset to module_stop function. -1 to disable.
 
|-
 
|-
| arm_exidx_top
+
| exidx_start
 
| Offset to top of ARM EXIDX (optional)
 
| Offset to top of ARM EXIDX (optional)
 
|-
 
|-
| arm_exidx_end
+
| exidx_end
 
| Offset to bottom of ARM EXIDX (optional)
 
| Offset to bottom of ARM EXIDX (optional)
 
|-
 
|-
| arm_extab_top
+
| extab_start
 
| Offset to top of ARM EXTAB (optional)
 
| Offset to top of ARM EXTAB (optional)
 
|-
 
|-
| arm_extab_end
+
| extab_end
 
| Offset to bottom of ARM EXTAB (optional)
 
| Offset to bottom of ARM EXTAB (optional)
 
|}
 
|}
  
 
<source lang="C">
 
<source lang="C">
#define SYS_MODULE_NAME_LEN     27
+
#define MODULE_NAME_MAX_LEN 27
  
 
typedef struct _scemoduleinfo_common { // size is 0x20
 
typedef struct _scemoduleinfo_common { // size is 0x20
   unsigned short modattribute;
+
   unsigned short attribute;
   unsigned char modversion[2];
+
   unsigned char major;
   char modname[SYS_MODULE_NAME_LEN];
+
  unsigned char minor;
   char type;
+
   char name[MODULE_NAME_MAX_LEN];
 +
   char struct_type;
 
} sceModuleInfo_common;
 
} sceModuleInfo_common;
  
 
typedef struct _scemoduleinfo_prx2arm_3 { // size is 0x54
 
typedef struct _scemoduleinfo_prx2arm_3 { // size is 0x54
 
   sceModuleInfo_common c;
 
   sceModuleInfo_common c;
   Elf32_Addr resreve;
+
   Elf32_Addr gp_value;
   Elf32_Addr ent_top;
+
   Elf32_Addr libent_top;
   Elf32_Addr ent_end;
+
   Elf32_Addr libent_end;
   Elf32_Addr stub_top;
+
   Elf32_Addr libstub_top;
   Elf32_Addr stub_end;
+
   Elf32_Addr libstub_end;
 
   Elf32_Word dbg_fingerprint;
 
   Elf32_Word dbg_fingerprint;
 
   Elf32_Addr start_entry;
 
   Elf32_Addr start_entry;
 
   Elf32_Addr stop_entry;
 
   Elf32_Addr stop_entry;
   Elf32_Addr tls_top;
+
   Elf32_Addr tls_start;
 
   Elf32_Addr tls_filesz;
 
   Elf32_Addr tls_filesz;
 
   Elf32_Addr tls_memsz;
 
   Elf32_Addr tls_memsz;
   Elf32_Addr arm_exidx_top;
+
   Elf32_Addr exidx_start;
   Elf32_Addr arm_exidx_end;
+
   Elf32_Addr exidx_end;
 
} sceModuleInfo_prx2arm_3;
 
} sceModuleInfo_prx2arm_3;
  
 
typedef struct _scemoduleinfo_prx2arm_6 { // size is 0x5C
 
typedef struct _scemoduleinfo_prx2arm_6 { // size is 0x5C
 
   sceModuleInfo_common c;
 
   sceModuleInfo_common c;
   Elf32_Addr resreve;
+
   Elf32_Addr gp_value;
   Elf32_Addr ent_top;
+
   Elf32_Addr libent_top;
   Elf32_Addr ent_end;
+
   Elf32_Addr libent_end;
   Elf32_Addr stub_top;
+
   Elf32_Addr libstub_top;
   Elf32_Addr stub_end;
+
   Elf32_Addr libstub_end;
 
   Elf32_Word dbg_fingerprint;
 
   Elf32_Word dbg_fingerprint;
   Elf32_Addr tls_top;
+
   Elf32_Addr tls_start;
 
   Elf32_Addr tls_filesz;
 
   Elf32_Addr tls_filesz;
 
   Elf32_Addr tls_memsz;
 
   Elf32_Addr tls_memsz;
 
   Elf32_Addr start_entry;
 
   Elf32_Addr start_entry;
 
   Elf32_Addr stop_entry;
 
   Elf32_Addr stop_entry;
   Elf32_Addr arm_exidx_top;
+
   Elf32_Addr exidx_start;
   Elf32_Addr arm_exidx_end;
+
   Elf32_Addr exidx_end;
   Elf32_Addr arm_extab_top;
+
   Elf32_Addr extab_start;
   Elf32_Addr arm_extab_end;
+
   Elf32_Addr extab_end;
 
} sceModuleInfo_prx2arm_6;
 
} sceModuleInfo_prx2arm_6;
 
</source>
 
</source>
Line 139: Line 141:
 
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).
 
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 psp2ld.exe (linker) these NIDs are hardcoded:
+
The NIDs for these exports are common for all modules. On 0.940-1.00 psp2ld.exe (linker) these NIDs are hardcoded:
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 151: Line 153:
 
|-
 
|-
 
| module_info || Variable || 0x6C2224BA
 
| module_info || Variable || 0x6C2224BA
 +
|-
 +
| module_proc_param || Variable || 0x70FBA1E7
 
|}
 
|}
  
A way to generate NONAME exports NIDs is:
+
A way to generate NONAME exports NIDs was found in 0.945 armlibgen.exe:
 
uint32_t nid = sha1(name + suffix);
 
uint32_t nid = sha1(name + suffix);
 
where suffix can be found on https://playstationdev.wiki/psvitadevwiki/index.php?title=Keys#PSVITA_noname_exports.
 
where suffix can be found on https://playstationdev.wiki/psvitadevwiki/index.php?title=Keys#PSVITA_noname_exports.
Line 160: Line 164:
  
 
{| class="wikitable"
 
{| class="wikitable"
! Offset !! Size !! Data
+
! Name !! Description
 +
|-
 +
| size || Size of the structure (usually 0x1C or 0x20)
 +
|-
 +
| version || Library version (usually 1)
 +
|-
 +
| attribute || [[Modules#Library_attribute_flags|Library attribute flags]]
 
|-
 
|-
| 0x0 || 0x2 || Size of the structure (always 0x20)
+
| nfunc || Number of exported functions
 
|-
 
|-
| 0x2 || 0x2 || Library version (ex: 1)
+
| nvar || Number of exported variables
 
|-
 
|-
| 0x4 || 0x2 || [[Modules#Flags|Flags]]
+
| ntlsvar || Number of exported TLS variables
 
|-
 
|-
| 0x6 || 0x2 || Number of exported functions
+
| hashinfo || Unknown. ex: 0, 2
 
|-
 
|-
| 0x8 || 0x2 || Number of exported variables
+
| hashinfotls || Unknown. usually 0
 
|-
 
|-
| 0xA || 0x2 || Number of exported TLS variables?  <-- pretty sure wrong // yifanlu
+
| reserved || Unknown. usually 0
 
|-
 
|-
| 0xC || 0x4 || unk (ex: 0, 2)
+
| nidaltsets || Unknown. usually 0
 
|-
 
|-
| 0x10 || 0x4 || Library [[NID]]
+
| libname_nid || Library [[NID]]
 
|-
 
|-
| 0x14 || 0x4 || Pointer to library name
+
| libname || Pointer to library name
 
|-
 
|-
| 0x18 || 0x4 || Pointer to array of [[NID]]s of exported functions
+
| nid_table || Pointer to array of [[NID]]s of exports
 
|-
 
|-
| 0x1C || 0x4 || Pointer to array of pointers of exported functions
+
| entry_table || Pointer to array of pointers of exports
 
|}
 
|}
  
=== Imports ===
+
<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;
  
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.
+
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;
  
==== size 0x24 ====
+
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>
  
{| class="wikitable"
+
=== Imports ===
! Offset !! Size !! Data
 
|-
 
| 0x0 || 0x2 || Size of the structure (always 0x24 or 0x34)
 
|-
 
| 0x2 || 0x2 || Library version (ex: 5)
 
|-
 
| 0x4 || 0x2 || [[Libraries#Flags|Flags]]
 
|-
 
| 0x6 || 0x2 || Number of imported functions
 
|-
 
| 0x8 || 0x2 || Number of imported variables
 
|-
 
| 0xA || 0x2 || unk
 
|-
 
| 0xC || 0x4 || Module [[NID]]
 
|-
 
| 0x10 || 0x4 || Pointer to module name
 
|-
 
| 0x14 || 0x4 || Pointer to array of imported functions [[NID]]s
 
|-
 
| 0x18 || 0x4 || Pointer to array of imported functions stubs offsets
 
|-
 
| 0x1C || 0x4 || Pointer to array of imported variables [[NID]]s
 
|-
 
| 0x20 || 0x4 || Pointer to array of imported variables offsets
 
|}
 
  
==== size 0x34 ====
+
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"
 
{| class="wikitable"
! Offset !! Size !! Data
+
! Name !! Description
 
|-
 
|-
| 0x0 || 0x2 || Size of the structure (always 0x24 or 0x34)
+
| size || Size of the structure (usually 0x24, 0x2C or 0x34)
 
|-
 
|-
| 0x2 || 0x2 || Library version (ex: 5)
+
| version || Library version (ex: 1, 5)
 
|-
 
|-
| 0x4 || 0x2 || [[Libraries#Flags|Flags]]
+
| attribute || [[Modules#Library_attribute_flags|Library attribute flags]]
 
|-
 
|-
| 0x6 || 0x2 || Number of imported functions
+
| nfunc || Number of imported functions
 
|-
 
|-
| 0x8 || 0x2 || Number of imported variables
+
| nvar || Number of imported variables
 
|-
 
|-
| 0xA || 0x2 || Number of imported TLS variables
+
| ntlsvar || Number of imported TLS variables
 
|-
 
|-
| 0xC || 0x4 || unk
+
| reserved || unk
 
|-
 
|-
| 0x10 || 0x4 || Module [[NID]]
+
| libname_nid || Library [[NID]]
 
|-
 
|-
| 0x14 || 0x4 || Pointer to module name
+
| libname || Pointer to library name
 
|-
 
|-
| 0x18 || 0x4 || unk
+
| sce_sdk_version || usually 0
 
|-
 
|-
| 0x1C || 0x4 || Pointer to array of imported functions [[NID]]s
+
| func_nid_table || Pointer to array of imported functions [[NID]]s
 
|-
 
|-
| 0x20 || 0x4 || Pointer to array of imported functions stubs offsets
+
| func_entry_table || Pointer to array of imported functions stubs offsets
 
|-
 
|-
| 0x24 || 0x4 || Pointer to array of imported variables [[NID]]s
+
| var_nid_table || Pointer to array of imported variables [[NID]]s
 
|-
 
|-
| 0x28 || 0x4 || Pointer to array of imported variables offsets
+
| var_entry_table || Pointer to array of imported variables offsets
 
|-
 
|-
| 0x2C || 0x4 || Pointer to array of imported TLS variables [[NID]]s
+
| tlsvar_nid_table || Pointer to array of imported TLS variables [[NID]]s
 
|-
 
|-
| 0x30 || 0x4 || Pointer to array of imported TLS variables offsets
+
| tlsvar_entry_table || Pointer to array of imported TLS variables offsets
 
|}
 
|}
  
=== Flags ===
+
<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;
  
Flags in the export and import entries are ORed together and identified as follows:
+
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"
 
{| class="wikitable"
Line 266: Line 326:
 
| 0x10000 || Unknown
 
| 0x10000 || Unknown
 
|-
 
|-
| 0x8000 || Main Export: Set for main export. ?library info export?
+
| 0x8000 || Main Export: Set for main export.
 
|-
 
|-
 
| 0x4000 || User Importable: In kernel modules only. Allow [[Syscalls|syscall]] export to userland.
 
| 0x4000 || User Importable: In kernel modules only. Allow [[Syscalls|syscall]] export to userland.
Line 279: Line 339:
 
Relocations are stored within the PT_SCE_RELA segment.
 
Relocations are stored within the PT_SCE_RELA segment.
  
Relocation entry format can be one of 10 types which is determined by the first 4 bits.
+
Relocation entry format can be one of 10 types which is determined by r_format (the first 4 bits).
  
 
<source lang="C">
 
<source lang="C">
//assuming LSB of bitfield is listed first
+
// assuming LSB of bitfield is listed first
 
union {
 
union {
 
Elf32Word r_format: 4;
 
Elf32Word r_format: 4;
 +
 
struct {
 
struct {
Elf32Word r_format: 4; // 0
+
Elf32Word r_format : 4;
Elf32Word r_symseg: 4;
+
Elf32Word r_symbol_segment : 4;
Elf32Word r_code: 8;
+
Elf32Word r_type : 8;
Elf32Word r_datseg: 4;
+
Elf32Word r_patch_segment : 4;
Elf32Word r_code2: 8;
+
Elf32Word r_type2 : 8;
Elf32Word r_dist2: 4;
+
Elf32Word r_dist2 : 4;
 +
 
 
Elf32Word r_addend;
 
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;
 
Elf32Word r_offset;
} rlongentry;
+
} 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 {
 
struct {
Elf32Word r_format: 4; // 1
+
Elf32Word r_format : 4;
Elf32Word r_symseg: 4;
+
// r_format 7 has 4 offsets, 7 bits each
Elf32Word r_code: 8;
+
// r_format 8 has 7 offsets, 4 bits each
Elf32Word r_datseg: 4;
+
// r_format 9 has 14 offsets, 2 bits each
Elf32Word r_offsetlo: 12;
+
Elf32Word offsets : 28;
Elf32Word r_offsethi: 20;
+
} r_entry_7_8_9;
Elf32Word r_addend: 12;
 
} rshortentry;
 
 
} SCERel;
 
} SCERel;
 
</source>
 
</source>

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