HowTo - PS4 HEN selbst Kompilieren per Arduino IDE

  • Da ich vor kurzem meinen ESP8826 für ein anderes Projekt benutzen musste, aber noch ein ESP32 Dev Module (Espressif ESP32-WROOM-32) zu hause habe suchte ich eine passende Datei zum flashen.
    Leider scheint es kein weit verbreitetes Board zu sein, also suchte ich eine Lösung einen fertigen Code per Arduino IDE für mein Board einfach selbst zu kompilieren.
    Ich bin dann auch schnell auf diese Seite aufmerksam geworden. Ein Projekt, das sich per Arduino IDE kompilieren lässt, aber leider auf einer alten Version des HEN basiert (zu alt um mit RetroArch zu arbeiten, wie ich herausfinden musste).
    Nach viel herumprobieren und Verständnis aufbauen für das was da passiert, habe ich mir den aktuellsten release von SiSTR0 geschnappt und die bereitgestellte index.html so umgewandelt, dass ich dies für den ESP32 nutzen kann.
    Da ich leider nicht weiß wann genau ich dazu käme eine detaillierte Anleitung zu schreiben, gibt es hier einfach ein paar Anweisungen für Benutzer die schon bisschen Erfahrung mit der Arduino IDE haben.


    was wird benötigt:
    - Arduino IDE
    - aktuellsten release von SiSTR0 (.7z paket runterladen und im Unterordner "ps4-hen-vtx-master\exploit" die index.html extrahieren)
    - Software Paket im Anhang


    Anweisungen:
    HTML Datei vorbereiten
    1. Kopiert die index.html, die ihr benutzen wollt (z.B. die aktuellste von SiSTR0) in den Ordner "PS4_505_Arduino_self_compile\html2hex_converter" vom Software Paket, welches ihr zuvor irgendwo extrahiert habt. Wenn nötig die Datei vorher unbedingt in "index.html" umbenennen, damit der nächste Schritt funktioniert.
    2. html_converter.bat ausführen. es wird eine index_htm.h angelegt (oder eine vorhandene überschrieben).
    3. index_htm.h in den Ordner "PS4_505_Arduino_self_compile\ESP32_WROOM_PS4_Exploit" kopieren.


    Arduino IDE vorbereiten:
    1. Ordner aus libraries Ordner in das Verzeichnis "C:\Users\BENUTZER\Documents\Arduino\libraries" kopieren (diese werden ab jetzt automatisch von der Arduino IDE gefunden). Alternativ die jeweils neuste Version benutzen (siehe Quellen).
    2. ESP32_WROOM_PS4_Exploit.ino starten.
    3. über "Werkzeuge" den richtigen Com Port und das Board auswählen. an dieser Stelle müsst ihr schauen, dass ihr das jeweils für euch richtige Board installiert und auswählt. für mein Board musste ich z.B. in etwa so vorgehen wie hier zu lesen ist und dann "ESP32 Dev Module" auswählen.
    4. Habt ihr so weit alles vorbereitet, könnt ihr das ganze über den Pfeil nach rechts in der oberen Leiste kompilieren und flashen.


    Exploit auf der PS4 ausführen:
    1. Um den Exploit nun auch auszuführen, einfach auf der PS4 eine benutzerdefinierte Netzwerkkonfiguration durchführen, das Netzwerk mit der SSID "ESP32 5.05 PS4 JB Server" auswählen, alles andere auf automatisch lassen und vor dem Netzwerktest abbrechen (das Netzwerk ist an der Stelle schon konfiguriert).
    2. Geht nun in den Browser der PS4 und ruft die IP Adresse 192.168.4.1 auf. es sollte nun der Exploit ausgeführt werden.


    Fazit:
    Ihr könnt damit im Prinzip jede html Seite für den ESP32 aufbereiten. wollt ihr Updaten, einfach die neue index.html in eine index_htm.h convertieren, im Ordner ablegen in welchen die .ino Datei liegt und wieder flashen (die Bibliotheken und das Board sind ja nun eingerichtet).
    die .ino Datei ist nur eine leicht abgewandelte form der eigentlich schon fertigen Datei, wie sie in der Quelle weiter unten zu finden ist.
    Ich habe jetzt quick&dirty eine Batch Datei vorbereitet, welche die Konvertierung vornimmt und die Datei entsprechend aufbereitet. wenn jemand ein besseres Tool kennt, bitte bescheid sagen (unter Linux gäbe es wohl dafür einen Befehl, ich gehe aber immer von Windows aus) :)
    Im Software Paket befindet sich aktuell die bereits vorbereitete index_htm.h vom HEN 2.1.2 von SiSTR0, damit man im zweifel vorher mit einer lauffähigen Basis testen kann.


    Quellen:
    converter Tool bin2hex: http://tomeko.net/online_tools/file_to_hex.php?lang=en
    Basis für Arduino Projekt: https://github.com/CelliesProjects/esp32-ps4-jailbreak
    genutzte Bibliotheken:
    - https://github.com/me-no-dev/AsyncTCP
    - https://github.com/me-no-dev/ESPAsyncWebServer




    EDIT:
    Ihr könnt prinzipiell auch .bin Daten in html files konvertieren und jede html Datei nehmen, der genutzte ESP32 sollte aber genug speicher haben, damit alles drauf passt.
    Benutzt für das Konvertieren einfach den BIN2HTML Konverter von folgender Seite:
    https://psxtools.de/index.php/…?postID=723144#post723144


    ein Kurzer Test mit einer knapp 4mb großen .bin Datei zeigte, dass die daraus erstellte .html Datei knapp 11mb groß war und die daraufhin Konvertierte index_htm.h knapp 69mb hatte. hier gilt wohl, Probieren geht überstudieren :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!