Angepinnt Wii-U-Homebrew bis 5.5.1 - Zusammenfassung

      Wii-U-Homebrew bis 5.5.1 - Zusammenfassung

      Allgemeine Informationen

      1.Firmware

      Im Moment ist jede verfügbare Wii U-Firmware exploited, wobei wir hier zwischen 3 Stufen unterscheiden müssen: Userspace, Kernel und IOSU. Im Userspace können normale HB-Apps verwendet werden, die nicht tiefer ins System eingreifen.
      Im Kernel-Mode können Spiele modifiziert werden und Backups geladen werden, jedoch gibt es hier gewisse Einschränkungen: Der Exploit, der momentan verwendet wird(ein Bug in OSDriver) ist instabil, d.h. kann öfter mal fehlschlagen. Zudem kann nicht auf USB-Geräte zugegriffen werden. Ausserdem kann durch Signaturprüfungen keine Software, die nicht von Nintendo stammt, installiert werden.
      IOSU läuft auf dem Latte-ARM-Prozessor und ist vergleichbar mit den IOS der Wii. IOSU-Zugriff ist wichtig, weil wir damit in Zusammenhang mit einem Boot-Exploit z.B. Dinge installieren können, alle Funktionen von Cafe OS und richtige Backuploader nutzen können, die wie bei der Wii Backups von einem USB-Gerät laden. IOSU beinhaltet ausserdem Kernel-Rechte.

      Leider funktioniert der für die meisten Apps erforderliche Kernel-Exploit nur auf bestimmten Firmwares, die ihr hier einsehen könnt:


      FirmwareUserspace<Kernel<IOSU
      <5.3.2JaJa, aber nicht unterstütztNein
      5.3.2JaJa, aber instabilNein
      5.4Ja, aber instabilJa, aber instabilNein
      5.5Ja, aber instabilNeinNein
      5.5.1Ja, aber instabilNeinNein


      IOSU wurde bisher noch nicht exploitet.

      2.Nützliche Software

      Homebrews werden immer durch den Browser ausgeführt. Die Nutzung ist relativ simpel, weil Apps direkt als Webseite/Video, je nach Exploitart, kompiliert werden und dann direkt aufgerufen werden können.



      HomebrewBeschreibungLinks
      OSDriver Kernel ExploitDer einzige Kernel-Exploit, wird benötigt für die meisten Apps. Loadiine benötigt eine spezielle Version, die andere Adressen verwendet.>hier<
      CaffiineTool zum ersetzen von Spieldateien, vgl. Riivolution/
      TCPGecko/PyGeckoRAM-Editing und dumpen von Spieldateien>hier<
      LoadiineSD-Backuploader>hier<
      DumpiineDumper für Spiele-RPX(wie DOL, nur anders)>hier<
      Loadiine XML DumperDumper für Spiele-XML, die dem System sagen, wie Spiele gestartet werden müssen. Wird von Loadiine v4 benötigt/
      WupInstallerInstalliert Spiele-Updates und den Firmware-Spoof(Sehr instabil auf 5.4)>hier<
      NNU-PatcherErmöglicht eShop-Zugriff nach Spoof mit WupInstaller>hier<
      SaviineDumpen und Injizieren von Saves>hier<
      Update RemoverEntfernt ein bereits heruntergeladenes Update>hier<


      Die meisten dieser Apps sind vorkompiliert für alle FW auf wj44.ml verfügbar.

      3.Entwicklung mit libwiiu


      Libwiiu bietet mit devkitpro einen kompletten Toolchain zum kompilieren und bauen von Homebrew auf allen Firmwares mit Exploit(für 5.4, 5.5 muss eine andere Repo genutzt werden, weil die Änderungen noch nicht übertragen wurden. Ausserdem kann hier nicht via build.py kompiliert werden, sondern direkt via make. Die Payloads müssen dann mit frighthax von yellows8 geladen werden. Mehr Infos dazu hier.). Output landet mit der build.py-Methode direkt im www-Ordner, mit der make-Methode in den bin-Ordnern.

      Für Infos über Nintendo-Bibliotheken und wie man sie benutzt, kann ich die Readme von libwiiu, rhcafe.us.tound wiiubrew.org empfehlen.

      4.FAQ

      Q: Wenn ich die Exploits benutze, crasht meine Wii U und zeigt nur noch weiße Kästen an.
      A: Leere deinen Browsercache und starte sie neu.

      Q: Kann ich damit was kaputt machen?
      A: Eigentlich nicht, weil WupInstaller eine Whitelist mit Titeln hat, die installiert werden dürfen. Generell gilt aber, nicht einfach so Apps von Leuten auszuführen, weil mit dem Kernel-Exploit auch durchaus Bricks verursacht werden können.

      Q: Wie benutze ich <Name hier>?
      A: Entweder hier nachfragen, oder auf GBATemp ein Tutorial lesen. Leider haben wir hier im Moment noch sehr wenig zu Gecko, WupInstaller, etc., also muss man sich auf andere Quellen beziehen. Vielleicht ändert sich das ja noch.

      Q: Ich bin auf 5.5.0, soll ich updaten?
      A : Ja, der Exploit funktioniert auch dann noch. Aber danach solltest du direkt die DNS von tubehax in den Systemeinstellungen einrichten, um weitere Updates zu blocken.

      Loadiine - Einrichtung und Nutzung

      Loadiine ist der momentan einzige Backup-Loader, benötigt jedoch eine Wii U, die einen Kernel-Exploit ausführen kann. Die meisten Spiele funktionieren ohne viel verändern zu müssen, manche benötigen aber kleine Änderungen an der Ordnerstruktur oder das Spiel "Super Smash Bros. für Wii U". Genauere Informationen zur Kompatibilität von Loadiine können hier nachgelesen werden.

      1.Dumpen von Spielen und erstellen der Ordnerstruktur

      Loadiine benötigt eine SD-Karte, auf der Spiele und Speicherdaten und Loadiine selbst abgelegt werden.
      Zuerst sollte also Loadiine selbst heruntergeladen werden, am besten direkt von GitHub bei dimok789. "unpack_to_sd_root" muss entpackt und komplett auf die SD-Karte kopiert werden, womit die eigentliche Installation von Loadiine abgeschlossen ist.

      Alte Methode, langsamer und nur für 5.3.2:
      Spoiler anzeigen
      Um Spiele zu dumpen, muss TCPGecko verwendet werden:
      • Starte den Kernel-Exploit hier(für 5.3.2) oder hier(für 5.4).
      • Wenn der Kernel-Exploit erfolgreich war, starte jetzt TCPGecko über diesen Link, wenn nicht, öffne die WiiU-Systemeinstellungen um den Kernel neu zu laden, und versuche es noch mal.
      • Starte jetzt das Spiel, dass du dumpen willst.
      • Lade dir TCPGecko herunter, starte es und gebe die IP deiner WiiU in das IP-Feld ein.
      • Klicke auf "Connect to Gecko", worauf eine Fehlermeldung erscheinen sollte, die aber einfach mit "Weiter" ignoriert werden kann.
      • Öffne den FSA-Tab und klicke auf "Read FSA", was mehrere Minuten dauern könnte. TCPGecko wird in dieser Zeit nicht mehr auf Eingaben reagieren, was aber normal ist.
      • Wenn du Ordner im FSA-Fenster sehen kannst, klicke auf den Ordner "content" und wähle im Kontextmenü "Extract" aus. Jetzt wirst du dazu aufgefordert, einen Speicherort für die extrahierten Spieldateien auszuwählen. Achte darauf, dass du genug Speicherplatz frei hast. Dieser Prozess kann mehrere Stunden dauern. Gecko kann in einigen Fällen die Verbindung verlieren, wenn das passiert, solltest du einfach wieder bei Schritt 1 anfangen.
      Jetzt fehlt uns aber noch die RPX und die Meta-Dateien des Spiels, ohne die Loadiine das Spiel nicht laden kann. Der einfachste Weg, diese zu bekommen, ist sie vom NUS herunterzuladen. Hierzu verwenden wir UWizard, den man hier herunterladen kann.
      • Starte UWizard und wechsele in den "NUS Downloader"-Tab.
      • Suche die Title-ID des Spiels in dieser Liste, und trage sie ohne den Bindestrich in UWizard ein.
      • Setze einen Haken bei "decrypt contents" und starte den Download.
      Ein Ordner mit den extrahierten Dateien sollte erscheinen, aus dem wir nur "code", "content" und "meta" benötigen.
      Erstelle auf deiner SD-Karte im Ordner "wiiu" einen "games"-Ordner, in dem alle Spiele abgelegt werden. Erstelle jetzt noch einen Ordner in "games", der den Namen des Spiels und die ID in Klammern enthält(wenn nicht bekannt, bei GameTDB nachgucken), z.B. "Super Smash Bros. for Wii U [AXFE01]". Hier muss jetzt noch ein weiterer Ordner erstellt werden, nämlich "content". In content müssen alle Dateien kopiert werden, die wir vorher mit Gecko gedumpt haben. Zudem müssen alle Dateien, die sich in dem mit UWizard heruntergeladenen "content"-Ordner befinden, in "content" auf der SD-Karte kopiert werden, und alle doppelten Dateien ersetzt werden.
      "meta" und "code" müssen einfach von UWizard in den Spiele-Ordner auf der SD-Karte kopiert werden, sodass unser finales Setup also so aussehen muss:

      SD:/wiiu/apps/loadiine_gx2/loadiine_gx2.elf
      SD:/wiiu/games/Super Smash Bros. for Wii U [AXFE01]/code/<code-dateien aus dem UWizard-Download>
      SD:/wiiu/games/Super Smash Bros. for Wii U [AXFE01]/content/<gedumpter content, teilweise überschrieben mit content-dateien aus dem UWizard-Download>
      SD:/wiiu/games/Super Smash Bros. for Wii U [AXFE01]/meta/<meta-dateien aus dem UWizard-Download>


      DDD benötigt den Homebrew-Launcher, den ihr, falls ihr ihn noch nicht installiert habt, was ihr hier nachlesen könnt.

      Danach kann DDD einfach von [siehe Infobox] heruntergeladen werden und auf die SD-Karte gezogen werden.
      Auf eurem PC muss ein Tool gestartet werden, dass ihr [siehe Infobox] für Windows, [siehe Infobox] für Linux und [siehe Infobox] für Mac OS X herunterladen könnt. Danach einfach diese Schritte befolgen:

      Die Programme können auf github.com von dimok789 heruntergeladen werden.



      • Homebrew Launcher öffnen und dann DDD mit "load" starten.
      • Mit dem D-Pad die IP deines PCs eingeben, hierzu einfach bei Windows in einer Eingabeaufforderung(shift + Rechtsklick, dann "Eingabeaufforderung hier öffnen")"ipconfig" eingeben und bei eurem Netzwerkadapter "IPv4-Adresse" ablesen. Alle mit anderen OS wissen wahrscheinlich, wie das bei ihnen funktioniert.
      • Das Tool in einen Ordner entpacken, eine Eingabeaufforderung im gleichen Ordner öffnen und so starten: "titledumper /vol/ dump"
      • Wenn "Client 0 connection closed" erscheint, war der Dump erfolgreich. Den "dump"-Ordner kannst du jetzt einfach in den Namen des Spiels und seine ID in diesem Format umbenennen, falls die ID nicht bekannt ist, kannst du sie hier suchen: "Spielname [IDID00]"
      • Der umbenannten Ordner kann nun einfach in den "games"-Ordner auf der SD-Karte kopiert werden(SD:/wiiu/games/).


      2.Starten der Spiele

      Zum starten von Loadiine muss dieser Link zwei mal im WiiU-Browser geöffnet werden. Von hier aus können dann Spiele normal gestartet werden, wie von einem USB-Loader gewohnt. Wenn man ein anderes Spiel starten will, kann man es einfach schließen und den Mii Maker öffnen.

      Wenn die Launch-Rate von Loadiine sehr gering ist, oder ihr einfach lieber auf lokale Methoden setzt, könnt ihr hier nachlesen, wie man Exploits lokal mit einem Android-Smartphone hostet. Das funktioniert auch mit allen anderen Exploits.

      3.FAQ

      Q: Einige meiner Spiele sind nicht mit dem Mii Maker kompatibel, wie kann ich auf Super Smash Bros. umstellen?
      A: Es gibt in den Loadiine-Einstellungen einen Launch-Mode Punkt, mit dem man ändern kann, wie Spiele gestartet werden.

      Q: Es werden keine Cover angezeigt, wie kann ich das ändern?
      A: Cover werden im Moment noch nicht automatisch heruntergeladen, sie können aber von GameTDB("3D cover") heruntergeladen werden und manuell in den Ordner SD:/wiiu/apps/loadiine_gx2/covers3d/ als <ID von Ordner>.png platziert werden.

      Ich hoffe, dass das alles so stimmt, und werde diesen Post bei größeren Entwicklungen in der Szene natürlich ausbauen, bis dahin, viel Spaß mit eurem Homebrew ^^
      Außerdem ist Feedback willkommen, wenn euch also ein Fehler auffällt, schreibt mir bitte. Zudem habe ich keine Wii U auf 5.4(die richtig funktioniert), es wäre also nett, wenn jemand testen könnte.

      Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von amibu () aus folgendem Grund: DDD hinzugefügt

      Hm, bei mir kommt immer "Could not load file /wiiu/apps/loadiine_gx2/loadiine_gx2.elf" obwohl die definitiv existiert.

      (Außerdem klappt der Exploit immer nur einmal nach Systemstart. Danach kommt immer - obwohl ich in den Systemeinstellungen war - "Race attack failed".)

      Ich probier mal die version die Loadiine komplett übers Netzwerk streamt.

      EDIT: Die Version gibt mir kurz einen flackernden Bildschirm und geht dann ins WiiU-Menü zurück ("Keine pausierte Software vorhanden").
      EDIT2: ne andere version gibt mir "Failure while receiving data from peer" ...

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Ja, die SD ist definitiv FAT:

      Quellcode

      1. /dev/sdg1: UUID="C534-9581" TYPE="vfat" PARTUUID="0045be1a-01"

      Und loadiine ist auch drauf:

      Quellcode

      1. $ ls -R wiiu/
      2. wiiu/:
      3. apps
      4. games
      5. wiiu/apps:
      6. loadiine_gx2
      7. wiiu/apps/loadiine_gx2:
      8. loadiine_gx2.elf
      9. ...
      Alles anzeigen

      Die online-Version läuft ja auch nicht ...

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Gecko und Cafiine habe ich noch nicht getestet.

      Andere SD wenn schon der Onlinemodus auch nicht klappt?

      Selber hosten werde ich mal ausprobieren ...

      EDIT. Selber hosten hat funktioniert. Ob es da auch irgendwie aufs Timing ankommt?

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Hm. Gestern hat Loadiine funktioniert. Heute kommt nur noch ein Blackscreen und Freeze beim Starten eines Spiels ...

      EDIT. OK, Loadiine mag es gar nicht, wenn man das Server Log aktiviert hat aber der Log Server nicht läuft. Problem gelöst.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Das ist ja einfach nur ne Webseite, die gehostet werden muss, also würde ich mal sagen, googlen nach "webserver raspberry" und du solltest ne Lösung finden.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Hallo Zusammen,

      da ich mich erstmal noch etwas am einlesen bin.... Muss man zunächst sämtliche Tools, also Kernel Exploit, Loodiine, Caffiine etc selbst compilieren oder bekommt man die bereits als binary?

      In Punkt 1 ist der Kernel Exploit für 5.3.2 verlinkt. Wie sieht es denn mit 5.4 aus?

      amibu schrieb:

      Starte den Kernel-Exploit hier(für 5.3.2) oder hier(für 5.4).

      Wie gesagt, bin momentan mich noch etwas am einlesen, aber mein "Wunsch-Setting" wäre, dass ich den Expolit lokal auf nem raspberry gehostet bekomme und dann soweit alles auf ner WiiU 5.4 eingerichtet bekomme damit ich meine Games dumpen kann und der nervige Disc-Wechsel entfällt.

      Grüße
      Hmm..

      Habe mir TCPGecko runtergeladen und gestartet, dann wird nach dem Verbinden in der Titelzeile angezeigt "(Mario Kart 8 (EU)) Handler v5.3.2" (obwohl ich 5.4 habe) und nachdem ich "Read FSA" gedrückt habe kommt nach wenigen Sekunden "Connection to the TCP Gecko has failed".

      Brauch ich für 5.4 ne andere Version?

      EDIT: Auf der von dir verlinkten Seite gibts TCPGecko nur für 5.3.2. Kennst du einen Link für 5.4?

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Und, hast du irgendwas gefunden?

      Auf exploit.wiiubrew.net habe ich jetzt neben "PyGecko" auch "TCPGecko (FSA)" gefunden, aber nur für 5.3.2 und auf 5.4.0 klappt das auch nicht ...

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Tatsächlich wollte ich dir grade schreiben, sieht nämlich wirklich so aus dass dumpen im rewrite für PyGecko nicht funktioniert, sondern nur mit der originalen Version von Chadderz und die läuft nur auf 5.3.2(gibt soweit ich weiß auch keinen Quellcode). Behelfsmäßig kannst du aber mit Caffiine dumpen, ist zwar relativ langsam, geht aber. Zumindest bis ich das mit Gecko hingekriegt hab. Lade ich dann später hoch.
      Habs mal angepinnt :D

      Wird bestimmt noch um einiges interessanter.


      EigenschaftWert
      Modell:PlayStation Vita Slim, WiFi, schwarz, PCH-2016
      System-Software:3.63
      Modell:PlayStation TV
      System-Software:3.63, Whitelist Database modified
      Software:7 Vita Cartridges, 9 Titel als PSN-Download (Stand: 10. November 2016)
      Currently playing:Akiba's Trip 2: Undead & Undressed (+ DLC)


      EigenschaftWert
      Modell:PlayStation 4 Slim, 1 TB, CUH-2016B
      System-Software:4.06
      Software:1 PS4-Disk, 3 PSN-Downloads (Stand: 22. Dezember 2016)
      Currently playing:Megadimension Neptunia VII (+ DLC)
      Backlog:Deponia, Fairy Fencer F: Advent Dark Force, Sword Art Online: Hollow Realization

      EigenschaftWert
      Modell:Nintendo 3DS XL Yoshi Special Edition (grün-weiß)
      System-Software:10.1.0-27E
      Software:5 Titel als 3DS-Cartridge, 8 3DS-Titel als Download, 4 Virtual-Console-Titel (Stand: 18. Oktober 2015)
      Flashkarten:SuperCard DSTWO (wird nicht im 3DS benutzt)
      Currently playing:Hatsune Miku: Project Mirai DX / Pokémon: Omega Rubin / Cave Story + (3DSWare)

      EigenschaftWert
      Modell:Nintendo GameCube PAL Silber
      Revision:DOL-001
      Zubehör:2 Controller (Purple + Silber, kabelgeb.), 1 MemoryCard (128 MB, BigBen Interactive), 1 Game Boy Player, Nintendo MultiAV-Kabel, RGB-Kabel
      Spiele:12
      Sonstiges:SD Media Launcher

      EigenschaftWert
      Modell:Nintendo Wii Weiß
      Systemmenü:4.1E
      Boot Loader:Fixed Boot Loader (boot1c) / Standard Boot Loader boot2 v4
      BootMii:IOS
      Priiloader:v0.4 rev80 DE
      HBC:1.1.2
      cIOS + MIOS:IOS222 (hermes v4), IOS249[38] rev19 / cMIOS v10 with integrated GameCube Backup Launcher v0.2
      USB Loader + Storage:USB Loader GX (1.0.x), uLoader 5.1, cfg USB Loader, Neogamma / ohne



      Keine logs, keine Dumps, Fehler in der Ausgabe:

      Quellcode

      1. $ mono cafiine_server_dump.exe
      2. [listener] Listening on 7332, dumping all files
      3. connected
      4. [0] Accepted connection from client 10.0.1.118:1939
      5. [0] TitleID: 00050000-1010ED00
      6. [0] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      7. [0] Exit
      8. connected
      9. [1] Accepted connection from client 10.0.1.118:1940
      10. [1] TitleID: 00050000-1010ED00
      11. [1] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      12. [1] Exit
      13. connected
      14. [2] Accepted connection from client 10.0.1.118:1941
      15. [2] TitleID: 00050000-1010ED00
      16. [2] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      17. [2] Exit
      18. connected
      19. [3] Accepted connection from client 10.0.1.118:1942
      20. [3] TitleID: 00050000-1010ED00
      21. [3] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      22. [3] Exit
      23. connected
      24. [4] Accepted connection from client 10.0.1.118:1943
      25. [4] TitleID: 00050000-1010ED00
      26. [4] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      27. [4] Exit
      28. connected
      29. [5] Accepted connection from client 10.0.1.118:1944
      30. [5] TitleID: 00050000-1010ED00
      31. [5] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      32. [5] Exit
      33. connected
      34. [6] Accepted connection from client 10.0.1.118:1945
      35. [6] TitleID: 00050000-1010ED00
      36. [6] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      37. [6] Exit
      38. connected
      39. [7] Accepted connection from client 10.0.1.118:1946
      40. [7] TitleID: 00050000-1010ED00
      41. [7] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      42. [7] Exit
      43. connected
      44. [8] Accepted connection from client 10.0.1.118:1947
      45. [8] TitleID: 00050000-1010ED00
      46. [8] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      47. [8] Exit
      48. connected
      49. [9] Accepted connection from client 10.0.1.118:1948
      50. [9] TitleID: 00050000-1010ED00
      51. [9] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      52. [9] Exit
      53. connected
      54. [10] Accepted connection from client 10.0.1.118:1951
      55. [10] TitleID: 00050000-1010ED00
      56. [10] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      57. [10] Exit
      58. connected
      59. [11] Accepted connection from client 10.0.1.118:1952
      60. [11] TitleID: 00050000-1010ED00
      61. [11] at cafiine_server.Program.Handle (System.Object client_obj) <0x406d0000 + 0x00673> in <filename unknown>:0
      62. [11] Exit
      Alles anzeigen

      Kannst du mir den Code davon mal geben?

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      Genau das will ich ja mit dem Source code rausfinden. Das normale Cafiine läuft zumindest mit Mono.

      (Boah, irgendwann fällt noch mein Steuerkreuz auseinander wenn man bei jedem Cafiine-Start mit 1000 Knopfdrücken seine IP einstellen muss ...
      Kann da nicht mal einer ne Version machen die mit + und - direkt um 10 ändert und nicht nur 1? :D )

      @amibu:

      Quellcode

      1. case BYTE_HANDLE:
      2. {
      3. // Read buffer params : fd, path length, path string
      4. int fd = reader.ReadInt32();
      5. int len_path = reader.ReadInt32();
      6. string path = reader.ReadString(Encoding.ASCII, len_path - 1);
      7. if (reader.ReadByte() != 0) throw new InvalidDataException();
      8. // Add new file for incoming data
      9. files_request.Add(fd, new FileStream(LocalRoot + path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write));
      10. // Send response
      11. writer.Write(BYTE_SPECIAL);
      12. break;
      13. }
      Alles anzeigen

      Fehler in Zeile 11: Could not find a part of the path "/media/florian/data/wiiU/cafiine/cafiine_dump/src/bin/Release/cafiine_root_dump/00050000-1010ED00/vol/content/common/mush/Audio.bin".

      Klar findet der das nicht, er soll ja dumpen ...
      /media/florian/data/wiiU/cafiine/cafiine_dump/src/bin/Release/cafiine_root_dump/00050000-1010ED00/ existiert, nur die Unterordner natürlich nicht.

      Habe ein System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(LocalRoot + path)); eingefügt und teste jetzt nochmal.

      EDIT: Jetzt dumpt er ein paar Dateien und crasht dann in FillBuffer() bei if read <= 0 throw new EndOfStreamException(); im EndianByteReader.

      Quellcode

      1. ...
      2. [0] -> fopen("/vol/content/common/genv/Turbo_cmn.bgenv", "r") = 0
      3. [0] close(0)
      4. [0] /vol/content/common/effect/common.ptcl
      5. [0] -> fopen("/vol/content/common/effect/common.ptcl", "r") = 0
      6. [0] close(0)
      7. [0] /vol/content/common/effect/elink.bin
      8. [0] -> fopen("/vol/content/common/effect/elink.bin", "r") = 0
      9. [0] close(0)
      10. connected
      11. [7] Accepted connection from client 10.0.1.118:2007
      12. [7] TitleID: 00050000-1010ED00
      13. connected
      14. [8] Accepted connection from client 10.0.1.118:2008
      15. [8] TitleID: 00050000-1010ED00
      16. [0] /vol/storage_mlc01/sys/title/0005001b/1005c000/content/country.txt
      17. [0] -> fopen("/vol/storage_mlc01/sys/title/0005001b/1005c000/content/country.txt", "r") = 0
      18. [0] close(0)
      19. Unhandled Exception:
      20. System.IO.EndOfStreamException: Attempted to read past the end of the stream.
      21. at System.IO.EndianBinaryReader.FillBuffer (Int32 bytes, Int32 stride) <0x40971480 + 0x001bb> in <filename unknown>:0
      22. at System.IO.EndianBinaryReader.ReadByte () <0x40973e90 + 0x0001b> in <filename unknown>:0
      23. at cafiine_server.Program.Handle (System.Object client_obj) <0x4096e180 + 0x00a0f> in <filename unknown>:0
      24. at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) <0x7f40500b1010 + 0x000d0> in <filename unknown>:0
      25. at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f40500af850 + 0x0016e> in <filename unknown>:0
      26. at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f40500af820 + 0x00020> in <filename unknown>:0
      27. at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) <0x7f40500af770 + 0x00059> in <filename unknown>:0
      28. at System.Threading.ThreadHelper.ThreadStart (System.Object obj) <0x7f40500b1120 + 0x0004c> in <filename unknown>:0
      29. [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.EndOfStreamException: Attempted to read past the end of the stream.
      30. at System.IO.EndianBinaryReader.FillBuffer (Int32 bytes, Int32 stride) <0x40971480 + 0x001bb> in <filename unknown>:0
      31. at System.IO.EndianBinaryReader.ReadByte () <0x40973e90 + 0x0001b> in <filename unknown>:0
      32. at cafiine_server.Program.Handle (System.Object client_obj) <0x4096e180 + 0x00a0f> in <filename unknown>:0
      33. at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) <0x7f40500b1010 + 0x000d0> in <filename unknown>:0
      34. at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f40500af850 + 0x0016e> in <filename unknown>:0
      35. at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f40500af820 + 0x00020> in <filename unknown>:0
      36. at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) <0x7f40500af770 + 0x00059> in <filename unknown>:0
      37. at System.Threading.ThreadHelper.ThreadStart (System.Object obj) <0x7f40500b1120 + 0x0004c> in <filename unknown>:0
      Alles anzeigen

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()