Module
Version |
World |
Privilege
|
1.69-3.73 |
Non-secure |
Kernel
|
Libraries
Known NIDs
Version |
Name |
World |
Visibility |
NID
|
Data segment layout
Address |
Size |
Description
|
0x0000 |
4 |
mutex to lock mempool
|
0x0004 |
4 |
SceUID mempool SceExfatfsCommon of size 0x7F000
|
0x0008 |
4 |
unknown
|
0x000C |
0x20 |
vfs_add_data exfat node
|
0x002C |
4 |
unknown
|
0x0030 |
4 * 8(0x20) |
Partition drive strings pointers. os0: etc.
|
0x0050 |
0x10 |
unknown
|
0x0060 |
4 |
SceFatfsCPTable memblock base.
|
0x0064 |
4 |
SceFatfsCPTable memblock guid.
|
0x0068 |
0x10 |
array of void* pointers (pools)
|
0x0078 |
4 |
some counter.
|
0x007C |
4 |
unused in order to next member align.
|
0x0080 |
0x430 * 15(0x3ED0) |
15 elements of type exfat_ctx
|
0x3F50 |
0x200 * 15(0x1E00) |
Storage MBR
|
0x5D50 |
4 |
pointer
|
0x5D54 |
4 |
unknown
|
0x5D58 |
0x290*0x400(0xA4000) |
0x400 elements of type file_entry
|
0xA9D58 |
0xC00*0x400(0x1EC000) |
0xC00 elements of type file_entry . maybe related to ReserveUnusedFd.
|
0x295D58 |
0x78 |
unknown
|
0x295DD0 |
4 |
unknown
|
0x295DD4 |
4 |
Available SceExfatfs_data_0x5D50 elements number
|
0x295DD8 |
4 |
Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x200 in many case.
|
0x295DDC |
4 |
Related to ReserveUnusedFd number of SceExfatfs_data_0x5D50 elements. 0x100 in many case.
|
0x295DE0 |
4 |
All file_entry elements number?
|
0x295DE4 |
4 |
SceExfatfsSharedResource fast mutex
|
0x295DE8 |
0x40 |
unknown
|
Types
typedef struct exfat_ctx //size is 0x430 bytes
{
uint32_t unk_0;
uint32_t unk_4;
uint32_t unk_8;
uint32_t unk_C;
uint32_t unk_10;
uint32_t unk_14;
file_entry* unk_18;
uint32_t unk_1C;
uint32_t unk_20;
uint32_t unk_24;
uint32_t unk_28;
uint32_t unk_2C;
char data1[0x3B0];
uint32_t fast_mutex_SceExfatfsRoot; //offset 0x3E0
char data2[0x4C];
} exfat_ctx;
typedef struct file_entry //size is 0x290 bytes
{
uint32_t unk_0;
uint32_t unk_4;
char path[0x208]; //in unicode
char data1[0x80];
}file_entry;