Difference between revisions of "SceShellSvc"

From Vita Development Wiki
Jump to navigation Jump to search
(Created page with "== Library == === Known NIDs === {| class="wikitable" |- ! Version !! Name !! World !! Privilege !! NID |- | 1.69 || SceShellSvc || Non-secure || Kernel || 0x23B4910E |} == ...")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Library ==
+
== Module ==
  
=== Known NIDs ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! Name !! World !! Privilege !! NID
+
! Version !! Name !! World !! Privilege
 
|-
 
|-
| 1.69 || SceShellSvc || Non-secure || Kernel || 0x23B4910E
+
| 1.69-3.60 || SceShellSvc || Non-secure || User
 
|}
 
|}
  
== Modules ==
+
== Libraries ==
  
 
=== Known NIDs ===
 
=== Known NIDs ===
Line 16: Line 15:
 
|-
 
|-
 
! Version !! Name !! World !! Visibility !! NID
 
! 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
 
|}
 
|}
  
[[Category:Libraries]]
+
== Types ==
 +
 
 +
<source lang="C">
 +
 
 +
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;
 +
 
 +
</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>
 +
 
 +
[[Category:Modules]]
 
[[Category:Kernel]]
 
[[Category:Kernel]]

Revision as of 05:48, 16 November 2020

Module

Version Name World Privilege
1.69-3.60 SceShellSvc 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

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;
}