Home Homebrew Aggiunti nuovi strumenti SQL Lite in PS4 Tools

[Scena PS4] Aggiunti nuovi strumenti SQL Lite in PS4 Tools

345
0

Il developer TheDarkprogramer ha pubblicato un nuovo aggiornamento per la raccolta di strumenti PS4 open source, tutto in un’unica libreria, e tutto scritto in C#.

Questo nuovo aggiornamento introduce il supporto per gli strumenti di recupero, lo sblocco dei trofei e quant’altro. La Collection vede strumenti come PS4 PS2 Classics Manager, PS4 PS2 Classics GUI, PS4 PKG Installer (PKG Store) e PS4 Save Manager.

Progetti attualmente in esecuzione con PS4 Tools

  • PS4 PS2 Classics Manager (non rilasciato) Github
  • PS4 PS2 Classics GUI Github
  • PS4 PKG Installer (PKG Store) Github
  • PS4 PKG Installer Android Github
  • PS4 PKG Tool- By pearlxcore Github
  • PS4 Explorer – By Lapy Github|Twitter
  • PS4 Tools Homebrew (WIP) Github
  • PS4 Save Manager Github

Applicazioni di esempio

Image Util

Creato da DefaultDNB

PS4 Tools Homebrew WIP

Creato originariamente solo per mostrare la potenza degli strumenti PS4, ma ora ha molte più caratteristiche

PS4 PKG Viewer

Creata come un’app di esempio, legge i file PKG della PS4 Github

PS4 Save Manager

Creato per gestire i file di salvataggio scaricati con PS4 Tools Homebrew o con Save Data Mounter di Chendo Chap

Guida

Aggiungere il file .DLL alla propria soluzione. Fatto Spolverato e pronto per l’uso.

Struttura della classe

La struttura della classe potrebbe cambiare nelle versioni future

namespace PS4_Tools
├── PS4_Tools /*Some Default Methods For the Tools*/
│ ├── AppCommonPath() /*Returns Working Directory For Tools*/
│ ├── DeleteDirectory() /*Recursive Deletes Directory*/
├── SELF /* Reserved class for SELF/ELF Handeling*/
├── Media /* PS4 Media Class*/
│ ├── Atrac9 /*Atrac9 Class*/
│ ├── ├── LoadAt9 /*Loads Atrac9 Method still in the works*/
├── Image /* PS4 Image Class*/
| ├── PNG /*PNG Class*/
│ ├── ├── Create_PS4_Compatible_PNG /*Creates a Complatible PS4 PNG*/
│ ├── DDS /*DDS Class*/
│ ├── ├── SavePNGFromDDS /*Saves a PNG from a DDS File*/
│ ├── ├── GetStreamFromDDS /*Gets a Stream from a DDS*/
│ ├── ├── GetBitmapFromDDS /*Gets a Bitmap from a DDS*/
│ └── GIMImages /*GIM Image Class*/
├── RCO /* PS4 RCO Class*/
│ ├── DumpRco /*Dumps a Rco File*/
├── SaveData /* PS4 SaveData Reserved Class*/
├── PKG /* PS4 PKG Handling Class*/
│ ├── Official /*Some Methods for Official PKG Items*/
│ ├── ├── ReadAllUnprotectedData /*Deprecated*/
│ ├── ├── StoreItems /*Store Items Object Class (Placeholder)*/
│ ├── ├── CheckForUpdate /*Returns a Update_Structure Type*/
│ ├── ├── Get_All_Store_Items /*Returns a List<StoreItems> With Download Links and some other infrmation*/
│ ├── SceneRelated /*Some Methods for Scene Related PKG Items*/
| ├── ├── GP4 /*GP4 File Class*/
| ├── ├── ├── ReadGP4 /*Reads a GP4 File Into a Custom Object*/
| ├── ├── ├── SaveGP4 /*Saves a GP4 File From a Custom Object*/
| ├── ├── Create_FKPG /*Creates a FPKG (addon file from store items for a spesific item*/
| ├── ├── IDS /*IDS Reserved Class*/
| ├── ├── PARAM_SFO /*Param.SFO Reserved Class*/
| ├── ├── ├── Get_Param_SFO /*Reads a Param SFO into a Param.sfo structure*/
| ├── ├── NP_Data /*NP_Data Reserved Class*/
| ├── ├── NP_Title /*NP_Title Reserved Class*/
| ├── ├── ReadPKG /*Reads a PKG File (Powered by maxtron)*/
| ├── ├── Read_PKG /*Reads all unprotected data from a pkg (Powered by Leecherman)*/
| ├── ├── Rename_pkg_To_ContentID /*Renames a PKG File to the Content ID of the SFO*/
| ├── ├── Rename_pkg_To_Title /*Renames a PKG File to the Title of the SFO*/
│ ├── PS2_Classics /*Class For Building PS2 Classics*/
| ├── ├── Create_Single_ISO_PKG /*Creates a Single ISO File PS2 Classic*/
| ├── ├── Create_Multi_ISO_PKG /*Creates a Multie ISO File PS2 Classic*/
│ ├── PSP_HD /*Class For Building PSP HD Items*/
│ ├── PUP /*Class For PUP Tools*/
| ├── ├── Unpack_PUP /*Unpacks a PUP Files*/
└── (More to come)

Utilizzando PS4_Tools

Si prega di consultare il modulo dei tester per vedere come funzionano alcune delle classi se non documentate qui.

Lettura di un file PKG (utilizzando il set di strumenti ufficiale) /Deprecato 18-11-2018/

Leggere e salvare un file GP4

 PS4_Tools.PKG.SceneRelated.GP4.Psproject project =   PS4_Tools.PKG.SceneRelated.GP4.ReadGP4(@"C:\Users\3deEchelon\Documents\Sony\Crash Bandcioot Twinsanity.gp4";
            if(project.Fmt != "gp4")
            {
                MessageBox.Show("This is not a valid PS4 Project");
                return;
            }

            //lets validate some pkg item info before saving
           if(project.Volume.Package.Passcode.Length != 32)
            {
                MessageBox.Show("Passcode Lentgh is not valid");
            }

            //to save a gp4 

            PS4_Tools.PKG.SceneRelated.GP4.SaveGP4(@"C:\Users\3deEchelon\Documents\Sony\tempworking.gp4", project);

Visualizzazione di un file dds

var item = PS4_Tools.Image.DDS.GetBitmapFromDDS(@"C:\Users\3deEchelon\Desktop\PS4\psp Decrypt\Sc0\icon0.dds");
            pictureBox1.Image = item;

Scaricare un file RCO

PS4_Tools.RCO.DumpRco(@"C:\Users\3deEchelon\Desktop\PS4\RCO\Sce.Cdlg.GameCustomData.rco");

Riproduzione di un file at9

PS4_Tools.Media.Atrac9.LoadAt9(@"C:\Users\3deEchelon\Desktop\PS4\AT9\prelude1.at9");

Ottieni informazioni sull’aggiornamento del gioco

            var item =PS4_Tools.PKG.Official.CheckForUpdate(textBox1.Text);

            /*TitleID Patch Data Is Avaiavle Here*/

            /*Build some string*/
            string update = label1.Text;
            update += "\n Version : " + item.Tag.Package.Version;
            int ver = Convert.ToInt32(item.Tag.Package.System_ver);
            update += "\n System Version : " + ver.ToString("X");
            update += "\n Remaster : " + item.Tag.Package.Remaster;
            update += "\n Manifest File Number of Pieces : " + item.Tag.Package.Manifest_item.pieces.Count;

            label1.Text = update;

Ottieni articoli dello Store attraverso un TitleID

    var storeitems = PS4_Tools.PKG.Official.Get_All_Store_Items(textBox1.Text);

Ottieni dati non protetti da PKG

     PS4_Tools.PKG.SceneRelated.Unprotected_PKG ps4pkg = PS4_Tools.PKG.SceneRelated.Read_PKG(@"C:\Users\3deEchelon\Desktop\PS4\Euro.FISHING.COLLECTORS.EDITION.PS4-DUPLEX\Euro.Fishing.Collectors.Edition.PS4-DUPLEX\duplex-euro.fishing.collectors.ed.ps4\Euro.Fishing.Collectors.Edition.PS4-DUPLEX.pkg");

            /*Lets work with the data shall we*/
            /*Display the PSFO in some type of info format*/
            var item = ps4pkg.Param;
           
            for (int i = 0; i < item.Tables.Count; i++)
            {
                listBox3.Items.Add(item.Tables[i].Name + ":" + item.Tables[i].Value);
            }
            /*Display Image*/
            pictureBox2.Image = ps4pkg.Image;

            var trphy = ps4pkg.Trophy_File;

            for (int i = 0; i < trphy.FileCount; i++)
            {
                listBox4.Items.Add(trphy.trophyItemList[i].Name);
            }

Crediti

  • Maxton – Per l’incredibile lavoro che ha fatto per la scena! (LibOrbisPKG)
  • GarnetSunset – Playstation Store DLC Indexer
  • stooged – PS4 DLC Indexer (C#)
  • cfwprph – Il suo aiuto e l’estrattore di Vita Rco
  • IDC – Il suo Pup Extractor per PS4 e altri lavori che ha svolto
  • Leecherman – I suoi strumenti sono sempre un ottimo riferimento per me e fanno un ottimo lavoro
  • Thealexbarney – La sua grande ricerca fatta sui file atrac9 e sulla loro decodifica
  • RedEye-32 – Il suo aiuto per ottenere la decrittografia di ESFM (file all’interno dei trofei)

Download

Download: File Explorer Deprecated

Download: ImageUtil

Download: Main.Testing.App

Download: PS.Tools.Online.Github.Page

Download: PS2.DB.Controller.PS2.Classics

Download: PS4.PKG.Tool.Deprecated

Download: PS4.PKG.Viewer

Download: PS4.Tools

Download: Source code PS4 Tools (AppVoyer)

Progetti Open Source

Questa è una versione open source (alternativa) di PS4 Neighbourhood fornita con l’SDK ufficiale per PS4

Segui la scheda di sviluppo su Trello

Cosa posso fare con questo?

Questo è principalmente per l’uso da parte degli sviluppatori su qualsiasi console che abbia il codice non firmato abilitato e abbia installato l’API corrispondente (rilascio da annunciare).

Con questa app puoi creare la tua applicazione/i tuoi giochi per homebrew PS4 e invece di creare un PKG ogni volta puoi semplicemente collegare l’applicazione/il gioco alla tua directory di file serving e caricare la tua applicazione corrente in tempo reale (questa è comunque l’idea).

Il progetto è quello di assomigliare alla versione ufficiale di PlayStation 4 Neighborhood senza nessuno degli strumenti SCE.

Requisiti

  • API installata.
  • Il sistema deve eseguire un’unità semi dev (non normale vendita al dettaglio).

Per cambiare la tua console da Normal Retail a Semi Dev, utilizzare semplicemente l’Updater di LightningMods

L’output della console sarà simile a questo:

Fonte: twitter.com

 

Articolo precedentePorting Android in sviluppo su console PlayStation Vita – nasce il sito web per tenerne traccia
Articolo successivo[Scena PS4] Rilasciato AutoBackPort v1.10 [aggiornato x1]
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.