Difference between revisions of "Kprx auth sm"

From Vita Development Wiki
Jump to navigation Jump to search
Line 2: Line 2:
  
 
== functions ==
 
== functions ==
 +
 +
=== get_metainfo_ac_info ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset
 +
|-
 +
| 3.60 || 0x80eb8a
 +
|}
 +
 +
check fself authid to get corresponding privileged attr/caps.
 +
 +
{| class="wikitable"
 +
|+Supported authid
 +
|-
 +
! Privileged !! Authid
 +
|-
 +
| Game || 0x2F00000000000001
 +
|-
 +
| Non-Game || 0x2F00000000000002
 +
|}
 +
 +
Attempting to start fself with an unsupported authid eventually causes the system to get error code 0x800f0616.
 +
 +
This function itself returns error code 0x800f0624 for unsupported authid.
  
 
=== sceBigmacExec ===
 
=== sceBigmacExec ===

Revision as of 19:27, 21 September 2022

Security module that authenticates and decrypts signed elf.

functions

get_metainfo_ac_info

Version offset
3.60 0x80eb8a

check fself authid to get corresponding privileged attr/caps.

Supported authid
Privileged Authid
Game 0x2F00000000000001
Non-Game 0x2F00000000000002

Attempting to start fself with an unsupported authid eventually causes the system to get error code 0x800f0616.

This function itself returns error code 0x800f0624 for unsupported authid.

sceBigmacExec

Version offset
3.60 0x80EF46
typedef struct SceBigmacExecOption {
	int channel;
	int flags; // masked by 0xFFFFFCC0
} SceBigmacExecOption;

/*
 * key      - If option->flags not seted 0x80, pass to bigmac keyslot
 * key_size - 0:1:2:3, 64:128:192:256
 */
int sceBigmacExec(void *dst, const void *src, int size, const void *key, void *iv, int first_algo, int second_algo, int key_size, const SceBigmacExecOption *option);