SceShellSvc: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
// more ... | // more ... | ||
} SceShellSvcTable; | } SceShellSvcTable; | ||
</source> | |||
== common == | |||
how to play shutter sound on SceShellSvc only | |||
<source lang="C"> | |||
int sceShellSvcShutterSoundPlay(void){ | |||
void *(* SceShellSvc_B31E7F1C)(void); | |||
void *ptr; | |||
int arg_a3 = 0, arg_a5[2]; | |||
arg_a5[0] = 0; | |||
arg_a5[1] = 0; // sound type? | |||
taiGetModuleExportFunc("SceShellSvc", 0xFFFFFFFF, 0xB31E7F1C, (uintptr_t *)&SceShellSvc_B31E7F1C); | |||
ptr = SceShellSvc_B31E7F1C(); | |||
((SceShellSvcTable *)(*(uint32_t *)ptr))->sceShutterSoundPlay(ptr, 0x140000, &arg_a3, 1, arg_a5, 0, 0); | |||
return 0; | |||
} | |||
</source> | </source> |
Revision as of 12:10, 12 March 2020
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69 | SceShellSvc | Non-secure | Kernel | 0x23B4910E |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|
Types
typedef struct SceShellSvcTable { void *pFunc_0x00; void *pFunc_0x04; void *pFunc_0x08; void *pFunc_0x0C; void *pFunc_0x10; int (* sceShutterSoundPlay)(void *obj, int flag, void *a3, int a4_flag, void *a5, void *a6, int a7); // more ... } SceShellSvcTable;
common
how to play shutter sound on SceShellSvc only
int sceShellSvcShutterSoundPlay(void){ void *(* SceShellSvc_B31E7F1C)(void); void *ptr; int arg_a3 = 0, arg_a5[2]; arg_a5[0] = 0; arg_a5[1] = 0; // sound type? taiGetModuleExportFunc("SceShellSvc", 0xFFFFFFFF, 0xB31E7F1C, (uintptr_t *)&SceShellSvc_B31E7F1C); ptr = SceShellSvc_B31E7F1C(); ((SceShellSvcTable *)(*(uint32_t *)ptr))->sceShutterSoundPlay(ptr, 0x140000, &arg_a3, 1, arg_a5, 0, 0); return 0; }