Pubblicato un nuovo aggiornamento per PS4 Universal, 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 funziona con tutti i firmware ‘sensibili’ della console PlayStation 4 (anche se potrebbe dare alcuni problemi con il firmware 5.05), se installato permette ad un’app di scalare i privilegi e ottenere il root (questa funzione è parte integrante della libreria libHBL di cfwprophet).
Questo nuovo aggiornamento, oltre a correggere alcuni bug non meglio specificati, aggiunge il supporto per l’installazione dei file PKG.
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);
//ti permette di impostare la temperatura
Debug
[spoiler]
Notifiche di debug
private static extern void SetDebuggerTrue()
//Mostra una notifica di debug, buon vecchio test printf
[/spoiler]
Notifiche
[spoiler]
Notifica su PS4
private static extern int SendMessageToPS4(string Message)
//Mostra una notifica su PS4
[/spoiler]
Save Data
[spoiler]
Metodi che possono essere utilizzati per salvare i dati
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, utilizzare gli zero per l'impronta digitale
UnMountSaveData
private static extern int UnMountSaveData()
//Smonta tutti i dati di salvataggio montati
[/spoiler]
Chiamate al kernel
[spoiler]
Chiamate del kernel base
Carica un altro eseguibile
private static extern bool LoadExec (string path, string argv)
//Chiama e apre un'applicazione
GetIDPS
private static extern string GetIDPS()
//Ti dà il tuo IDPS
GetPSID
private static extern string GetPSID()
//Ti dà il tuo PSID
Get_Firmware questo otterrà il firmware corrente della console non il firmware falsificato
private static extern UInt16 get_firmware();
//Dovrebbe restituire XXX, ad esempio 505, 702 o 755
get_fw
private static extern int get_fw()
//Ottiene la versione come un int (legge da kern.sdk_version) può essere falsificato
Chiamate sperimentali
GetCallableList
private static extern string GetCallableList()
//Progettato per mostrarti tutti gli elementi che puoi chiamare sul sistema
GetListOfServices
private static extern string GetListOfServices()
//Progettato per mostrarti 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 da libc (per prevenire lo spoofing del kernel)
//Non dovrebbe più essere richiesto grazie a LM
[/spoiler]
Funzioni User Service
[spoiler]
GetUsername
private static extern string GetUsername()
//restituisce il nome utente corrente
GetUserId
private static extern string GetUserId()
//restituisce l'ID utente corrente
[/spoiler]
Trofei
[spoiler]
Metodo di chiamata base
Sblocca trofei
private static extern int UnlockTrophies(string TitleId, string Titleidsecret)
//restituisce il nome utente corrente
[/spoiler]
Controller
[spoiler]
Metodo di chiamata base
Change_Controller_Color
private static extern int Change_Controller_Color(int r,int g,int b)
//Cambia il colore del controller in RGB fornito
[/spoiler]
Screenshot
[spoiler]
Metodo di chiamata base
Fai uno screenshot
private static extern int TakeScreenShot()
//Dovrebbe acquisire uno screenshot della schermata corrente
[/spoiler]
Mount
[spoiler]
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
[/spoiler]
Changelog
- Aggiunto supporto per l’installazione dei file PKG.
- Alcune correzioni di bug.
[DllImport("universal")]
private static extern bool JailbreakMe();//nuova modalità indipendente dal firmware
[DllImport("universal")]
private static extern int InstallPKG(string path, string name,string imgpath);
[DllImport("universal")]
private static extern int UnloadPKGModule();
Download: PS4 Universal v1.1
Download: Source code PS4 Universal v1.1
Fonte: github.com