banner

Blog

Jul 04, 2023

Anleitung: PS4-Homebrew im Jahr 2023 erstellen (sozusagen eine Anleitung)

von wololo · 26. August 2023

Ich habe beschlossen, meine alte PS4 aus dem Regal zu nehmen und zu sehen, wie einfach (oder auch nicht) es geworden ist, Homebrew für die PS4 zu erstellen, seit ich mich vor langer Zeit das letzte Mal ernsthaft damit befasst habe.

Die gute Nachricht: Es gibt bereits gute Tutorials, wie man PS4-Homebrew erstellt. Sie sind auch 2023 noch sehr gültig und größtenteils alles, was Sie brauchen. Die schlechte Nachricht: Sie sind überraschend schwer zu finden, in einem Meer aus Müll, das Google/Bing offenbar unbedingt an die Oberfläche bringen möchte. Scheinbar einfache Abfragen wie „Wie erstellt man PS4 Homebrew“ oder „PS4 Homebrew Tutorial“ brachten (zumindest für mich) keine besonders spannenden Ergebnisse. Aber letztendlich habe ich den Weg zum richtigen Material gefunden 🙂

In diesem Leitfaden werde ich mich darauf konzentrierenWindows und Visual Studio, aber im Allgemeinen gelten die Anleitungen und Ressourcen, auf die ich verweise, auch für Linux und MacOS.

In diesem Leitfaden wird davon ausgegangen, dass Sie einigermaßen damit vertraut sind

Dieser Abschnitt allein sollte ausreichen, um Ihnen den Einstieg zu erleichtern. Sobald dies jedoch erledigt ist, tun Sie sich selbst einen Gefallen und richten Sie eine Debugging-Umgebung ein (siehe Debuggen unten). Wenn Probleme auftreten, lesen Sie den Abschnitt „Fehlerbehebung“.

Bevor Sie etwas herunterladen oder installieren, lesen Sie die folgenden 5 Punkte von Anfang bis Ende durch. Insbesondere das erste Video von Spectre führt Sie durch den gesamten Installationsprozess (der den gesamten Punkt 2 unten darstellt)! Und ehrlich gesagt,Die Videoserie von SpecterDev ist wahrscheinlich das Einzige, was Sie wirklich brauchen, wenn Sie dieses Tutorial nicht lesen möchten.

Die oben genannten 5 Schritte sollten ausreichen, um Ihnen den Einstieg und die Erstellung von Homebrew für jede gehackte PS4 zu erleichtern. Obwohl es andere Möglichkeiten gibt, Homebrew für die PS4 zu erstellen (unter anderem durch ein geleaktes offizielles Sony SDK mit Unity),Die OpenOrbis Toolchain ist „das“ Tool, das im Jahr 2023 aktuell ist und von der Community unterstützt wird . Und es ist möglich, wenn Sie sich erst einmal an die Toolchain und ihre Abhängigkeiten gewöhnt haben, bei Bedarf auf die neueste und beste Version zu aktualisieren.

Dennoch bin ich bei meiner Suche nach einer Homebrew-Umgebung auf meinem Windows-Rechner auf die folgenden Probleme gestoßen, von denen einige auch Ihnen passieren könnten:

Dies ist offenbar ein Fehler, der auftritt, wenn Sie versuchen, eine PS4-Anwendung auszuführen, die für eine höhere Firmware als die von Ihnen verwendete erstellt wurde. Besonders Leute, die versuchen, PS4-Spiele auf niedrigere Firmware-Versionen „zurückportieren“, sind mit diesem Problem vertraut.

In meinem Fall und im Zusammenhang mit der Homebrew-Entwicklung ist mir das passiert, weil meine PS4 auf Firmware 4.05 lief, während die OpenOrbis Toolchain so geschrieben ist, dass sie Firmware 4.5x und höher unterstützt. Obwohl diese Wahl willkürlich war (SDK 4.508.101 wurde zum Zeitpunkt der Erstellung der Toolchain als aktuellste SDK-Nummer ausgewählt), könnten Sie theoretisch Ihr Homebrew so patchen, dass es unter 4.05 funktioniert, indem Sie diese SDK-Version durch die entsprechende ersetzen Dateien der Toolchain, ich persönlich habe beschlossen, mir keine Sorgen zu machen und habe meine PS4 auf Firmware 5.05 aktualisiert.

Mira und GoldHEN bieten Möglichkeiten, die Laufzeitausgabe Ihrer Homebrew-Protokolle in einem Terminal abzurufen (siehe „Debugging“ unten). Aber ich habe diese in meinen Tests für die in der PS4-Toolchain bereitgestellten Beispiele nicht gesehen. Es scheint, dass abhängig von Ihrer LLVM-Version und anderen Faktoren die libc printf möglicherweise an die falsche Pipe umleitet (zitieren Sie mich dazu nicht). Die von Illusion vorgeschlagene Lösung bestand darin, die interne libc der PS4 vorrangig gegenüber der regulären zu verwenden. Dies wurde durch Hinzufügen von -lSceLibcInternal im Abschnitt „Set Libraries“ des erreichtbuild.batDatei, vor -lc:

Ich habe keine Möglichkeit gefunden, die OpenOrbis VS-Vorlagen aus Visual Studio selbst heraus zu „installieren“. Es stellt sich heraus, dass das Einzige, was Sie tun können, darin besteht, sie (ohne sie zu extrahieren) in den Ordner „C:\Benutzer\[Ihr Benutzer]\Dokumente\Visual Studio 20xx\Templates\ProjectTemplates\Visual C++-Projekt“ zu kopieren.

Spectre erwähnt, dass es auch im übergeordneten Ordner funktioniert:

Beides sollte funktionieren, und wenn Sie ein neues Projekt in Visual Studio erstellen, sollten Sie über die Vorlagen verfügen. Mit diesen Vorlagen können Sie Ihr Projekt erstellen, aber noch wichtiger ist, dass Sie es mithilfe der Visual Studio-Schaltfläche „Erstellen“ erstellen können, anstatt die Befehle „make“ und „Paketerstellung“ manuell auszuführen. Das versteht sich von selbst, aber diese Visual Studio-Vorlagen sind nur Verknüpfungen für Dinge, die Sie manuell tun können, sie bewirken keine Zauberei. Man „braucht“ sie nicht, aber sie sind gute Helfer, die ein paar Dinge abstrahieren.

TLDR:

Die lange Geschichte:

Echte Experten werden Ihnen sagen: Der einzig gute Weg, eine Anwendung zu debuggen, ist printf. Spaß beiseite, dies lässt sich am schnellsten implementieren, um Ihnen den Einstieg zu erleichtern, und etwas, das die meisten Entwickler auf jeder Plattform verwenden.

Zum Zeitpunkt des Verfassens dieses Artikels decken die Tutorial-Videos von SpecterDev den „Debug“-Teil der Entwicklung nicht ab, obwohl er meiner Erfahrung nach von entscheidender Bedeutung ist: Das Ausführen von Entwicklungscode auf Ihrer PS4 schlägt manchmal fehl, und Sie möchten wissen, was es geht voran. Glauben Sie mir, jedes Mal, wenn ich dachte, ich könnte darauf verzichten, habe ich es am Ende bereut. Ohne Echtzeitprotokoll verschwenden Sie mehr Zeit damit, zu „erraten“, was mit einer bestimmten Homebrew-App auf Ihrer Konsole nicht stimmt, als diese Überwachung zu aktivieren.

Der einfachste Weg, dies zu tun, besteht darin, die Ausgabe Ihres Homebrew in Echtzeit zu überwachen, was dank der Dienstprogramme, die in beliebten PS4-Exploits enthalten sind, viel einfacher ist, als es sich anhört.

GoldHEN und Mira geben einige Protokolle an einen bestimmten Port der Konsole aus, die Sie von Ihrem PC aus anhören können. In diesem Beispiel verwende ich goldHEN, das in meinen Tests einfacher zu verwenden war, aber ich glaube, dass Mira eine ähnliche Funktionalität bietet.

GoldHEN gibt den Inhalt des Kernel-Protokolls an TCP-Port 3232 (und anscheinend Port 9998 für Mira) aus. Darüber hinaus verfügt GoldHEN über eine Option zum Hinzufügen der stdout-Ausgabe Ihres Homebrew (normalerweise das, was Sie mit printf schreiben) zur Kernel-Log-Ausgabe („klog“) (auch bekannt als „klog“)Aktivieren Sie die TTY-Umleitung ). Durch die Kombination dieser beiden Dinge ist es einfach, eine Echtzeitüberwachung der Druckdaten Ihres Homebrews von Ihrem PC aus einzurichten.

Erste, Auf deiner PS4 solltest du zu deinen GoldHEN KLog-Einstellungen gehen und TTY Redirect aktivieren. Dadurch wird sichergestellt, dass die Protokolle Ihres Homebrew zu klog hinzugefügt werden. Beachten Sie, dass Sie dies nur aktivieren sollten, wenn Sie tatsächlich etwas debuggen möchten. Andernfalls wird empfohlen, es nicht „einzuschalten“, wenn Sie einfach die Konsole verwenden.

Zweitens , kannst du von deinem PC aus über ein Telnet-Terminal eine Verbindung zum 3232-Port deiner PS4 herstellen. Ich persönlich verwende dafür Putty.

Testen: Sobald Sie im Putty-Terminal auf „Öffnen“ klicken, sollten Sie fast augenblicklich sehen, wie sich das Terminal mit PS4-Kernel-Meldungen füllt. Um zu testen, ob mein Homebrew korrekt ausgegeben wird, habe ich versucht, das „Grafik“-Beispiel-Homebrew aus der PS4-Toolchain auszuführen. Dieses Homebrew führt hier und da ein paar Printf-Debugging durch. In seiner main.cpp-Datei:

Wenn ich dieses spezielle Homebrew auf meiner PS4 starte und Putty angeschlossen ist, kann ich sehen, dass es ordnungsgemäß funktioniert:

Es gibt „bessere“ Möglichkeiten, Code zu debuggen, aber diese sollte Ihnen einen ziemlich guten Vorsprung verschaffen!

Die Open-Source-Tools zum Erstellen von PS4 Homebrew sind hier, ordnungsgemäß dokumentiert und werden von einer ziemlich aktiven Community gut unterstützt. Als Sahnehäubchen scheint die Windows-Kompatibilität nicht das dritte Rad zu sein! Das Einrichten dieser Windows-Umgebung hat bei mir nicht allzu lange gedauert (wenn Sie die Tatsache außer Acht lassen, dass ich mit einer 4.05 PS4 angefangen habe, die ich seit Jahren nicht mehr eingeschaltet hatte, und eine Reihe damit zusammenhängender Probleme klären musste), und im Allgemeinen funktionierten die Dinge sofort.

Ich werde versuchen, diesen Artikel auf dem neuesten Stand zu halten (insbesondere, wenn Leute auf Probleme oder Fragen stoßen, bin ich sehr bestrebt, den Abschnitt zur Fehlerbehebung zu aktualisieren), also zögern Sie nicht, einen Kommentar abzugeben!

Mein Dank geht an Al-Azif, Illusion und Sleirsgoevy für ihre Hilfe bei einigen meiner dummen Probleme und Fragen!

Windows und Visual StudioDie Videoserie von SpecterDev ist wahrscheinlich das Einzige, was Sie wirklich brauchen, wenn Sie dieses Tutorial nicht lesen möchten.Die OpenOrbis Toolchain ist „das“ Tool, das im Jahr 2023 aktuell ist und von der Community unterstützt wirdbuild.batTLDR:Die lange Geschichte:Aktivieren Sie die TTY-UmleitungErste,ZweitensIP AdresseHafenTelnetTesten:
AKTIE