Difference between revisions of "SceSdstor"
Jump to navigation
Jump to search
(→Types) |
|||
Line 42: | Line 42: | ||
uint8_t unk_60[0x1D8]; | uint8_t unk_60[0x1D8]; | ||
}sdstor_mbr_ctx; | }sdstor_mbr_ctx; | ||
+ | |||
+ | //named after "SceSdStorDevice" mutex | ||
+ | typedef struct sd_stor_device //size is 0x54 | ||
+ | { | ||
+ | int unk_0; | ||
+ | int unk_4; | ||
+ | int unk_8; | ||
+ | int unk_C; | ||
+ | |||
+ | int unk_10; | ||
+ | int unk_14; | ||
+ | int unk_18; | ||
+ | int unk_1C; | ||
+ | |||
+ | int unk_20; | ||
+ | int unk_24; | ||
+ | int unk_28; | ||
+ | int unk_2C; | ||
+ | |||
+ | int unk_30; | ||
+ | int unk_34; | ||
+ | int unk_38; | ||
+ | int unk_3C; | ||
+ | |||
+ | char index1; // (0x00, 0x01, 0xFF, 0xFF, 0x03) | ||
+ | char index2; // (0x00, 0x00, 0x02, 0x03, 0x01) | ||
+ | char unk_42; | ||
+ | char unk_43; | ||
+ | |||
+ | int unk_44; | ||
+ | int unk_48; | ||
+ | int unk_4C; | ||
+ | |||
+ | int unk_50; | ||
+ | }sd_stor_device; | ||
</source> | </source> | ||
Revision as of 21:49, 12 February 2017
Module
SceSdstor module does not export any functions exсept module_start.
This module is responsible for initializing all storage devices. This includes:
- eMMC
- Game gard
- Memory card
- Usb Mass Storage (unknown SceUsbMassForDriver)
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceSdstor | Non-secure | Kernel | 0x5804A397 |
3.60 | SceSdstor | ? | Kernel | 0xD7FBAE7C |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|
Types
typedef struct sdstor_mbr_ctx //size is 0x238
{
uint8_t unk_0[0x50];
uint32_t unk_50;
void* mbr_ptr; //pointer to corresponding MBR record in array (offset 0x40)
uint32_t unk_58;
uint32_t unk_5C;
uint8_t unk_60[0x1D8];
}sdstor_mbr_ctx;
//named after "SceSdStorDevice" mutex
typedef struct sd_stor_device //size is 0x54
{
int unk_0;
int unk_4;
int unk_8;
int unk_C;
int unk_10;
int unk_14;
int unk_18;
int unk_1C;
int unk_20;
int unk_24;
int unk_28;
int unk_2C;
int unk_30;
int unk_34;
int unk_38;
int unk_3C;
char index1; // (0x00, 0x01, 0xFF, 0xFF, 0x03)
char index2; // (0x00, 0x00, 0x02, 0x03, 0x01)
char unk_42;
char unk_43;
int unk_44;
int unk_48;
int unk_4C;
int unk_50;
}sd_stor_device;
Data segment layout
Address | Size | Description |
---|---|---|
0x0000 | 0x40 | unknown |
0x0040 | 0x200 | MBR of eMMC |
0x0240 | 0x200 | MBR of Game gard |
0x0440 | 0x200 | MBR of Memory card |
0x0640 | 0x200 | unknown (most likely for MBR since there are 5 elements in all arrays) |
0x0840 | 0x200 | unknown (most likely for MBR since there are 5 elements in all arrays) |
0x0A40 | 0x238 | sdstor_mbr_ctx element 0 |
0x0C78 | 0x238 | sdstor_mbr_ctx element 1 |
0x0EB0 | 0x238 | sdstor_mbr_ctx element 2 |
0x10E8 | 0x238 | sdstor_mbr_ctx element 3 |
0x1320 | 0x238 | sdstor_mbr_ctx element 4 |
0x1558 | 0x54 | structure of size 0x54, element 0 |
0x15AC | 0x54 | structure of size 0x54, element 1 |
0x1600 | 0x54 | structure of size 0x54, element 2 |
0x1654 | 0x54 | structure of size 0x54, element 3 |
0x16A8 | 0x54 | structure of size 0x54, element 4 |
0x16FC | 0x20 | vfs_add_data |
0x171C | 0x04 | SceUID of mempool "SceSdStorVfs" of size 0x2000 |
0x1720 | 0x200 | unknown (gcd-lp-act-mediaid ?) |
0x1920 | 0x200 | unknown (mcd-lp-act-mediaid ?) |
0x1B20 | 0xB4 | array of 5 structures of size 0x24 |
0x1BD4 | 0x1C | unknown |
0x1BF0 | 0x3C | array of 5 structures of size 0xC |
0x1C2C | 0x8C | array of 5 structures of size 0x1C |
0x1CB8 | 0x8 | unknown |
0x1CC0 | 0x200 | MBR of Game gard |
SceSdstor
module_start
Version | NID |
---|---|
3.60 | 0x935cd196 |
int module_start();