Pubblicato un nuovo aggiornamento per PS4 Unjail, il plugin PRX è stato creato per aiutare gli sviluppatori nello sviluppo di applicazioni homebrew che fanno uso del motore Unity sulla console PlayStation 4.
Il plugin Unjail permette ad un’app di scalare i privilegi e ottenere il root (questa funzione è parte integrante della libreria libHBL di cfwprophet).
Utilizzando Universal
- Per iniziare dovrai eseguire un’importazione DLL in unità (il plugin
universal.prx
deve essere posizionato all’interno della directoryAssets\Plugins\PS4
).
Importazione DLL
[DllImport("universal")]
//Funzione personalizzata da aggiungere come di seguito
private static extern UInt16 get_firmware();
Unjail
private static extern int FreeUnjail(int FWVersion);
//Annulla il jail del processo corrente (se un gioco o un'app)
//può essere combinato con la funzione GetFirmware per unjail automatico
FreeUnjail(get_firmware());
Temperature
private static extern int Temperature();
//Mostra la temperatura in ºC
FreeFTP
private static extern int FreeFTP();
//Abilita FTP sulla console
FreeMount
private static extern int FreeMount();
// Consente rw completo
SetTemperature
private static extern void SetTemperature(int celsius);
//consente di impostare la temperatura
Debug
Notifiche di debug
private static extern void SetDebuggerTrue()
//Mostra una notifica di debug con il buon vecchio test printf
Notifiche
Notifica su PS4
private static extern int SendMessageToPS4(string Message)
//Mostra una notifica su PS4
Save Data
MountSaveData
private static extern int MountSaveData(string TITLEID,string fingerprint)
//monta i dati di salvataggio sulla PS4 se si utilizzano le patch di salvataggio del mounter si prega di utilizzare zero per l'impronta digitale
UnMountSaveData
private static extern int UnMountSaveData()
//Smonta tutti i dati di salvataggio montati
Chiamate del kernel
Chiamate di base del kernel
Carica un altro eseguibile
private static extern bool LoadExec(string path, string argv)
//Chiama e apre un'applicazione
GetIDPS
private static extern string GetIDPS()
//Ottiene IDPS
GetPSID
private static extern string GetPSID()
//Ottiene PSID
Get_Firmware – questo otterrà il firmware corrente della console non il firmware contraffatto
private static extern UInt16 get_firmware();
//Dovrebbe restituire come XXX, ad esempio 505, 702 o 755
get_fw
private static extern int get_fw()
//Ottiene la versione come int (legge da kern.sdk_version) può essere falsificato
Chiamate sperimentali
GetCallableList
private static extern string GetCallableList()
//Progettato per mostrare tutti gli elementi che puoi chiamare sul sistema
GetListOfServices
private static extern string GetListOfServices()
//Progettato per mostrare tutti i servizi che puoi chiamare sul sistema
KernelGetOpenPsId
private static extern string KernelGetOpenPsId()
//Non sono sicuro del motivo per cui esiste questa chiamata
firmware_version_kernel
private static extern string firmware_version_kernel()
//Ottieni la versione del firmware sul kernel (ma può essere falsificata!)
firmware_version_libc
private static extern string firmware_version_kernel()
//Ottieni la versione del firmware tramite libc (per evitare lo spoofing del kernel)
//Non dovrebbe più essere richiesto grazie a LM
Funzioni User Service
GetUsername
private static extern string GetUsername()
//Restituisce il nome utente corrente
GetUserId
private static extern string GetUserId()
//Restituisce l'ID utente corrente
Trofei
Metodo di chiamata di base
UnlockTrophies
private static extern int UnlockTrophies(string TitleId,string Titleidsecret)
//Restituisce il nome utente corrente
Sperimentale
MakeCusaAppReadWrite
private static extern int MakeCusaAppReadWrite()
//Restituisce l'ID utente corrente
Controller
Metodo di chiamata di base
Change_Controller_Color
private static extern int Change_Controller_Color(int r,int g,int b)
//Cambia il colore del controller in RBG fornito
Screenshot
Metodo di chiamata di base
TakeScreenShot
private static extern int TakeScreenShot()
//Dovrebbe fare uno screenshot della schermata corrente
Mount
Sperimentale
MountandLoad
private static extern int MountandLoad()
//prova a montare qualcosa nella sandbox
Sperimentale
MountTrophy
private static extern int MountTrophy()
//prova a montare un file trofeo
Download: Source code PS4 Unjail plugin
Fonte: github.com