SceShellSvc: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! Name !! World !! Privilege
! Version !! World !! Privilege
|-
|-
| 1.69-3.60 || SceShellSvc || Non-secure || User
| 1.69-3.60 || Non-secure || User
|}
|}


Line 32: Line 32:


<source lang="C">
<source lang="C">
typedef struct SceShellSvcTable {
typedef struct SceShellSvcTable {
void *pFunc_0x00;
void *pFunc_0x00;
Line 40: Line 39:
void *pFunc_0x10;
void *pFunc_0x10;
int (* sceShutterSoundPlay)(void *obj, int flag, void *a3, int a4_flag, void *a5, void *a6, int a7);
int (* sceShutterSoundPlay)(void *obj, int flag, void *a3, int a4_flag, void *a5, void *a6, int a7);
// more ...
// more ...
} SceShellSvcTable;
} SceShellSvcTable;
</source>
</source>


== common ==
== common ==


how to play shutter sound on SceShellSvc only
sceShellSvcShutterSoundPlay can be used to play shutter sound only.


<source lang="C">
<source lang="C">
int sceShellSvcShutterSoundPlay(void){
int sceShellSvcShutterSoundPlay(void){
void *(* SceShellSvc_B31E7F1C)(void);
void *(* SceShellSvc_B31E7F1C)(void);
void *ptr;
void *ptr;
Line 70: Line 65:
return 0;
return 0;
}
}
</source>


</source>


[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]

Revision as of 19:39, 12 September 2022

Module

Version World Privilege
1.69-3.60 Non-secure User

Libraries

Known NIDs

Version Name World Visibility NID
3.60 SceShellSvc Non-secure User 0x773242c7
3.60 SceShellUtil Non-secure User 0xd2b1c8ae
3.60 SceShellUtilUketorne Non-secure User 0xa2316143
3.60 SceShellUtilLaunchApp Non-secure User 0xa0fd0261
3.60 SceSvcCtrl Non-secure User 0x33e9b101
3.60 SceIpmi Non-secure User 0xf4e34edb

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

sceShellSvcShutterSoundPlay can be used to play shutter sound 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;
}