Homebrew

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt privat hergestellte Computerprogramme. Für weitere Bedeutungen siehe Homebrew (Begriffsklärung).
Homebrew auf einer PlayStation Portable: Ein Hello-World-Programm.
Screenshot des Homebrew-Videospiels Duck Attack! für Atari 2600

Der Begriff Homebrew (englisch für selbst gebrautes Bier[1]) bezeichnet meistens von Privatpersonen erstellte Computerprogramme für Konsolen sowie Handheld-Systeme, die vom Hersteller nicht zur Ausführung selbst erstellter Programme gedacht sind. Homebrew-Programme bieten in der Regel zusätzliche Funktionen und umgehen häufig einen Kopierschutz. Anders als in der Homecomputer-Ära erreichen Computerspiele aus der Homebrew-Szene aufgrund gestiegener Komplexität aktueller Spielkonsolen nur noch äußerst selten die Qualität kommerzieller Spiele.

Problematik[Bearbeiten | Quelltext bearbeiten]

Konsolen und Handhelds sind üblicherweise geschlossene und auf Gewinn ausgerichtete Systeme. Häufig werden die Geräte unter dem Herstellungspreis verkauft, sodass die Hersteller nur über den Verkauf von Softwarelizenzen Gewinn erzielen können. Die Hersteller gehen davon aus, dass die Käufer der Geräte weniger oder überhaupt keine offiziellen Software-Titel kaufen, wenn kostenlose Programme genutzt werden können. Zudem kann Homebrew-Software unter Umständen den üblicherweise verwendeten Kopierschutz umgehen, was ebenfalls nach Ansicht der Hersteller die Gewinne aus Software-Verkäufen schmälern kann. Daher sind in der Regel in den Geräten Sicherheitsmechanismen eingebaut, welche die Ausführung privat erstellter Programme verhindern sollen.

Die Sicherheitsmechanismen haben manchmal Lücken, sodass es möglich ist, Homebrew-Software auszuführen. Je nach Gerät und Firmware ist dazu der Einbau eines Modchips oder das Einstecken eines speziellen Moduls erforderlich.

Es gibt unterschiedliche Ansichten darüber, ob diese Beschränkung auf offizielle Software-Titel durch Sicherheitsmechanismen und deren Umgehung legal ist. Dieses Monopol könnte einen enteignungsgleichen Eingriff in die Rechte des Endkunden darstellen und den Kunden in seiner Entscheidungsfreiheit unzulässig einschränken. Das Recht des Endkunden auf freie Nutzung (im Rahmen der Gesetze) steht dem Gewinninteresse des Systemanbieters aus dem weitergehenden Verkauf von Software gegenüber.

Auf der anderen Seite kann ein durch Homebrew-Titel vergrößertes Software-Angebot die Attraktivität einer bestimmten Geräte-Plattform steigern. Es gibt daher Hersteller, die keine Sicherheitsmechanismen einbauen. So lässt sich beispielsweise der Funktionsumfang einiger Internet-Router oder Druckserver deutlich steigern.

Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.

Homebrew selbst versteht sich als legal und Anti-Piraterie-treu. Die Rechtslage in Deutschland verbietet die Umgehung technischer Kopierschutzmaßnahmen. Es ist aber unklar, ob die Homebrew-Software und die Änderung vorhandener Gerätesoftware einen Kopierschutz umgeht oder nur einen Nutzungs-Schutz – was nicht verboten ist. Die Homebrew-Szene bewegt sich daher in einer rechtlichen Grauzone. Allerdings dürfen Konsolenhersteller den Kunden nicht vorschreiben, was sie mit den Konsolen oder Handhelds machen. Somit ist das Umgehen von technischen Schutzmaßnahmen und Benutzen von Homebrews legal. Die meisten Homebrew-Titel werden als Freeware erstellt, die kostenlos weitergegeben werden darf. Eindeutig verboten ist in Deutschland die Weitergabe von Kopien der kommerziellen Spiele.

Homebrew auf verschiedenen Systemen[Bearbeiten | Quelltext bearbeiten]

Spielekonsolen[Bearbeiten | Quelltext bearbeiten]

Nintendo Gamecube[Bearbeiten | Quelltext bearbeiten]

Für den Nintendo Gamecube gibt es verschiedene Möglichkeiten:

  • Methode 1: Das Einlöten eines Modchips. Eine Vergrößerung des Laufwerks ist nicht nötig, da der Gamecube auch selbstgebrannte Mini-DVDs lesen kann.
  • Methode 2: Das Nachladen von unautorisiertem Code. Dies ist durch Modifizieren des Netzwerkverkehrs zwischen dem Gamecube und dem Phantasy Star Online Server. Leitet man die Verbindung auf den PC um ist es möglich per Streaming Kopien und anderen unautorisierten Code auszuführen.
  • Methode 3: Der SD-Media Launcher. Die einfachste Methode besteht in der Verwendung eines SD-Karten-Adapters im Speicherkartenslot B. Durch eine Boot-CD des Herstellers ist das Ausführen von unautorisiertem Code und Kopien möglich.
  • Methode 4: Das Modifizieren des MIOS. Diese Methode spielt sich im Gamecube-Modus der Wii ab. Durch Modifikation des für den Gamecube-Modus zuständigen Programms ist es möglich Kopien von USB und Mini-DVDs zu starten. Mittels weiterer Software lässt sich jede für den Gamecube verfügbare Homebrew-Anwendung auch auf der Wii starten.

Xbox[Bearbeiten | Quelltext bearbeiten]

Die Xbox ermöglicht das Ausführen von eigener Software nach Einbau eines MOD-Chips, welcher mit einem alternativen BIOS geflasht wird. Alternativ zu einem MOD-Chip gibt es auch Softwaremodifikationen. Für die Xbox erschienen Emulatoren, Media-Player und weitere Programme. Neben dem Xbox Development Kit erschien später mit OpenXDK ein quelloffenes Entwicklungskit. Da das OpenXDK erst nach Erscheinen der Xbox 360 einen angemessenen Funktionsgrad erreichte, wurden nur wenige Projekte damit programmiert. Die Homebrew-Entwickler besitzen keine Lizenz zum Nutzen des Microsoft XDK, dennoch erschienen unzählige privat erstellte Programme für die Xbox.

PlayStation 2[Bearbeiten | Quelltext bearbeiten]

Auf der PlayStation 2 besteht durch die Installation eines erweiterten Bootloaders auf der Memory Card die Möglichkeit Homebrew-Software auszuführen. Diese ausführbaren Anwendungen sind vom Dateityp ELF und geben der Konsole einige neue Möglichkeiten, wie beispielsweise über den SMS Player als Media-System zu fungieren[2], ältere Spielkonsolen wie SNES zu emulieren oder PS2-Spiele auf der lokalen sowie auch von einer externen Festplatte zu starten.[3]

Sega Dreamcast[Bearbeiten | Quelltext bearbeiten]

Der Dreamcast von Sega erlaubt das Abspielen von CD-Rs auch ohne MOD-Chip oder sonstige Umbauten dank der Kompatibilität der Hardware zum MIL-CD-Format. Aufgrund dieser Eigenheit (und der leistungsfähigen 128-Bit-Hardware) hat sich eine vitale Szene von Enthusiasten zusammengefunden, die bislang fast eintausend Programme entwickelt und kostenlos ins Netz gestellt hat.

Diese Programme werden meist als einfache Dateien („Plain Files“, werden beispielsweise mittels des Windows-basierten BootDreams auf CD-R gebrannt) oder als vollständige CDs im Format Disc Juggler CDI angeboten. Ein weiteres gebräuchliches Format sind sogenannte SBIs (SBI für „Selfboot Inducer“), das es erlaubt, mehrere Programme auf eine CD zu brennen.

Die Bandbreite veröffentlichter Software reicht von Portierungen zahlloser Emulatoren von frühen 8-Bit-Computern zu 16-Bit- und 32-Bit-Konsolen, über Multimedia-Applikationen bis hin zu aufwendigen Originalentwicklungen wie beispielsweise Alice Dreams oder Drill.

Ein großer Teil dieser Veröffentlichungen sind legal mittels der freien Software-Bibliothek KallistiOS entwickelt worden. Im Gegensatz zur Xbox wurden offizielle Entwicklerkits nur in einer Handvoll der frühesten Veröffentlichungen verwendet, beispielsweise in QuakeDC aus dem Jahr 2000, das auf WinCE basiert.

Die Verwendung von KallistiOS und der Austausch des benötigten Bootsektors (IP.BIN) durch eine gleichwertige und legale Ersatzdatei (geschrieben von LiENUS und veröffentlicht am 15. Januar 2002) ermöglichte auch kommerzielle Veröffentlichungen von Spielen wie Feet of Fury (2003), Inhabitants, Maqiupai (beide 2005), Cool Herders (2006) oder Last Hope (2007) für Dreamcast über die unabhängigen Labels GOAT Store Publishing und redspotgames. Die Veröffentlichung von Cool Herders ermöglichte es den Entwicklern Harmless Lion Studios, eine Portierung des Spiels auf Nintendo DS über Alten8 zu vertreiben.

Wii[Bearbeiten | Quelltext bearbeiten]

Bei der Wii werden zwar keine offiziellen Entwicklerkits für Homebrew angeboten, dafür möchte Nintendo jedoch mit der sogenannten Virtual Console (über die man sich Klassiker aus alten Tagen für fast jede Konsole herunterladen kann) Homebrew-Möglichkeiten „unattraktiver“ machen. Außerdem setzt Nintendo auch auf den neuen WiiWare-Kanal, für den auch kleinere Entwicklerstudios entwickeln können, ohne ein gewaltiges Startkapital zu benötigen. Auch das Abspielen von MP3s oder Videos ist via Foto-Kanal auf der Wii möglich – auf neueren Konsolen mit Version 1.1 des Kanals allerdings nur noch im Format AAC.

Trotz dieser Möglichkeiten möchten sowohl Homebrew-Entwickler als auch Softwarepiraten nicht auf das Entwickeln von eigenen Homebrew-Applikationen bzw. dem Abspielen von GameCube-ISOs, etc., verzichten. Seit Februar 2008 ist es möglich, Homebrew auch ohne die Hilfe eines Modchips auf der Wii abzuspielen. Zunächst wurde dies durch einen Savegame-Hack in The Legend of Zelda: Twilight Princess machbar. Diese Möglichkeit wurde zwar durch das darauffolgende Firmwareupdate 3.4 erschwert, aber nicht gänzlich verhindert. Erst mit Firmware-Version 4.0 konnte der Hack erfolgreich verhindert werden. Durch die Veröffentlichung des Firmwareupdates 4.2 wurden sämtliche Homebrew von aktualisierten Wii-Konsolen gelöscht. Durch angepasste Exploits war es einige Zeit später wieder möglich, unsignierten Code auf der Wii auszuführen und zu installieren. Die Firmware 4.3 blieb lange ungeknackt und man konnte nur durch ein kompliziertes Downgrade auf die Version 4.1 Homebrew ausführen. Mittlerweile ist es jedoch möglich Homebrew auf 4.3 auszuführen.

Mittlerweile wurde ein Exploit veröffentlicht, der auf allen Firmwares (ab 3.4) Homebrew ermöglicht.[4]

Die Homebrew-Software ermöglicht die Nutzung der Wii-Konsole als Medienzentrale im Wohnzimmer. Für viele Bereiche sind bereits Opensource-Programme für Wii geschrieben worden.

Handhelds[Bearbeiten | Quelltext bearbeiten]

Gameboy[Bearbeiten | Quelltext bearbeiten]

Firmen wie Bung entwickelten Hardware-Flasher mit denen es möglich war, ROMs abzusichern beziehungsweise durch Flash-Karten direkt auf dem Gameboy abzuspielen.

Playstation Portable[Bearbeiten | Quelltext bearbeiten]

Bei der Playstation Portable (PSP) war es auf der ursprünglichen, Japan-exklusiven Firmware (1.00) ohne Probleme möglich, eigenen Code auszuführen. In den darauffolgenden Firmwares versuchte Sony, alle Bugs und Exploits zu beseitigen, mit denen es möglich war, inoffizielle Programme zu starten. Die Homebrew-Szene reagierte darauf, indem sie immer wieder neue Möglichkeiten fand. Schließlich wurden sogar auf der Basis der offiziellen Firmwares sogenannte Custom Firmwares entwickelt; mit ihnen hat man alle Funktionen der aktuellen offiziellen Firmwares, ohne auf die Verwendung von Homebrew verzichten zu müssen.

Die Homebrew-Szene der PSP ist groß; es gibt beispielsweise Emulatoren für den Sega Mega Drive (Pico Drive) oder den Game Boy Advance (gpSP), und da auch Programme wie Bochs, DOSBox und ScummVM auf die PSP portiert wurden, ist es eingeschränkt auch möglich, PC-Programme auf der PSP zu verwenden. Es wurden auch Interpreter einzelner Programmiersprachen (z.B. Lua, Python) für die PSP entwickelt, um anderen Hobbyprogrammierern das Programmieren in ihrer einfacheren Sprache zu ermöglichen. Zudem gibt es viele nützliche Programme, wie das Cheat-Programm TempAR oder einige Textverarbeitungsprogramme.

GP32 und GP2x[Bearbeiten | Quelltext bearbeiten]

Einen gänzlich anderen Weg beschritt die koreanische Firma Game Park mit dem GP32. Dieser Handheld war erst als Konkurrenz gegen Game Boy (u.a.) gedacht, wurde dann aber relativ schnell quell-offen, womit das Abspielen von Homebrew sehr leicht möglich war. Der Nachfolger – der GP2X – ist hingegen seit seiner Veröffentlichung im November 2005 quelloffen. Seither erschienen unzählige kleinere Spiele, Emulatoren und andere Programme für das GP2X.

Nintendo DS(i)[Bearbeiten | Quelltext bearbeiten]

Homebrew für den Nintendo DS(i) sind mittels einer herkömmlichen NDS- (Slot 1) oder GBA-Flashkarte (Slot 2) zu starten. Sie werden über diverse Bibliotheken in den Programmiersprachen C/C++ und Lua geschrieben. Zum Ausführen von eigenem Programmcode muss der interne Schutzmechanismus des DS ausgeschaltet werden. Dies geschieht über modifizierte Firmware (FlashMe) oder eine Variation des PassMe. Bei der Slot-1-Variante ist diese Funktion schon integriert. Auch für Nintendos Handheld, den Nintendo DSi, gibt es schon solche Flashkarten.

Anfang Juli 2009 gelang dem Team Twiizers die Ausführung von Homebrew im DSi-Modus[5]. Im Anschluss darauf verzeichnete der Programmierer "Wintermute" einen großen Erfolg. Er entwickelte ein "Savegame Exploit" für den DSi, mit dem man "Assemblycodes" in einer Datei mit abgespeicherten Spielständen ("save game file") von "Classic Word Games" schreiben und diese dann auf dem DSi ausführen kann [6]. Mit der Veröffentlichung der Firmware-Version 1.4 für den DSi wurden kurzzeitig alle Flashkarten erfolgreich blockiert [7]. Allerdings können einige Karten nach Aktualisierung der Flashkarten-Software wieder verwendet werden.

Im Dezember 2009 erlitt Nintendo einen Rückschlag bei der Bekämpfung der Flashkarten für den Nintendo DS. Der Hersteller ist gegen die französische Divineo Group vor Gericht gegangen, um den Verkauf der Module zu unterbinden, das Ansuchen wurde allerdings abgewiesen. Weiterhin kritisierte der Richter die Geschlossenheit der Handheld-Konsole.[8] Maxconsole, das Konsolenportal des Divineo-Eigentümers, behauptet, dass private Entwickler keine andere Wahl hätten, als das DRM-System zu umgehen, um Software für die Konsole programmieren zu können.[9]

Nintendo 3DS[Bearbeiten | Quelltext bearbeiten]

Aufgrund der Abwärtskompatibilität zum Nintendo DS(i) können Flashkarten für diese Konsolen weiterhin auf dem Nintendo 3DS verwendet werden, sofern sie nicht per Update blockiert wurden. Da aber Nintendo seit der Firmware-Version 7.0.0-13 (veröffentlicht am 9. Dezember 2013[10]) die DS(i) Whitelist-Datenbank auf der Konsole nicht mehr aktualisiert hat, ist davon auszugehen, dass Nintendo nicht mehr versucht, DS(i)-Flashkarten zu blockieren.

Nachteil am DS-Modus des Nintendo 3DS ist jedoch, dass DS-Software (und damit auch Homebrew Anwendungen) kein Zugriff auf die komplette Rechenleistung des 3DS hat. Lange Zeit gab es keinen kommerziell nutzbaren Hack für die Konsole. Erst mit Hack Ninjhax vom Szenenmitglied Smealum konnte man unsignierten Code ausführen[11]. Dabei wird eine Lücke im QR-Code Parser des Spiels „Cubic Ninja“ ausgenutzt und eine Anwendung auf der SD-Karte gestartet, normalerweise ist das der Homebrew-Launcher, der ähnlich wie der Homebrew Channel auf der Wii funktioniert.

Der Homebrew-Launcher, der auf jeder bis dato (Stand 10. Februar 2016) erschienenen Firmware zum Laufen gebracht werden kann, ist in der Lage, Spiel-Cartridges zu starten, die nicht aus der gleichen Region stammen wie die Konsole[12], raubkopierte Spiele lassen sich mit dem Homebrew-Launcher allein jedoch nicht ausführen.

Anders als auf der Wii gibt es im Moment keine Möglichkeit, die Firmware permanent zu modifizieren, deswegen haben Hacker sogenannte „Custom Firmware-Loader“-Applikationen erstellt (rxTools, CakesFW, ReiNAND etc.), mit denen man die Firmware ohne Signaturüberprüfungen neustarten kann. Ohne Signaturüberprüfungen kann jegliche Applikation installiert und ausgeführt werden, auch raubkopierte Software. Um dennoch die Online-Services von Nintendo und neuesten Spiele nutzen zu können, die die neueste Firmware-Version verlangen, erstellt man eine Kopie des Flash-Speichers vom System (ugs. „SysNAND“) und kopiert sie auf eine eigene Partition der SD-Karte (ugs. „EmuNAND“ für emulated NAND). Die CFW-Loader starten dann den EmuNAND, der grundsätzlich wie gewohnt updatebar ist.

Zwar existieren auch 3DS-Flashkarten, mit denen man 3DS Homebrew und (raubkopierte) Software ausführen kann, jedoch haben sie gegenüber Custom-Firmware kaum nennenswerte Vorteile, zumal sich jede .3DS ROM/Software in eine installierbare eShop-„Downloadversion“ umwandeln lässt[13].

Der Nachteil an CFW-Loader ist der, dass sie nur auf 3DS-Konsolen mit Firmware-Versionen bis zur Versionsnummer 9.2.0-20 lauffähig sind, da Nintendo in dem darauffolgenden Firmware-Update den Kernelexploit, der das Nutzen von von solcher Software erlaubt, gepatched hat. Jedoch ist es möglich, jegliche Firmware auf Version 9.2.0-20 downzugraden, ab Version 10.4.0-29 jedoch nur mit Modifikationen an der Hardware.

Offizielle Homebrew-Möglichkeiten[Bearbeiten | Quelltext bearbeiten]

In der Vergangenheit bündelten oft Softwarepiraten und Homebrew-Hacker ihre Kräfte, um Zugang zu den Systemen zu erhalten. In der 7. Konsolengeneration deutete sich ein Umbruch in der Politik der Hersteller an.[14] Um die Gruppe der Angreifer zahlenmäßig zu reduzieren, bieten die Hersteller den Hackern Gelegenheit, eigene Software zum Laufen zu bringen.

Sony PlayStation 3[Bearbeiten | Quelltext bearbeiten]

Am weitesten ging hier Sony mit seiner PlayStation 3, welche es bis Firmware 3.21 erlaubte, ein alternatives Betriebssystem, wie zum Beispiel Linux, zu installieren. Ein alternatives Betriebssystem konnte dabei aber nicht auf die Grafikbeschleunigung zugreifen, da diese vom Hypervisor blockiert wurde, um die Entwicklung von Homebrew-Spielen als Konkurrenz zu lizenzierten Titeln unattraktiv zu machen. Dieser Schutz wurde allerdings aufgebrochen.[15]

Bei der aktuellen Playstation 3 slim wurde die Möglichkeit entfernt, ein alternatives Betriebssystem zu installieren. Wie oben erwähnt, wurde bei Firmware-Aktualisierung auf Version 3.21 für die normale PlayStation 3 die Möglichkeit, ein alternatives System zu nutzen, ebenfalls entfernt. Vor dieser Version installierte Betriebssysteme wurden durch das Update automatisch gelöscht. Als Gründe für dieses Vorgehen gab Sony Kostengründe und Sicherheitsbedenken an.

Einige PS3-Hacker kündigten an, ihre eigene Firmware-Version 3.21 mit allen offiziellen Features sowie der Möglichkeit, auf alternative Systeme zuzugreifen, zu veröffentlichen.

Microsoft Xbox 360[Bearbeiten | Quelltext bearbeiten]

Microsoft bietet für seine Xbox 360 spezielle Entwicklerkits (XNA Game Studio) und Lizenzen (Xbox Live Arcade) an, mit denen eigene Spiele entwickelt und online vermarktet werden können. Hier erhält der Entwickler gegen Bezahlung vollen Zugriff auf die Leistung der Maschine mittels .NET-Sprachen.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Oxford English-Deutsch, Dudenverlag
  2. Official SMS Forums. In: psx-scene.com. Abgerufen am 7. Januar 2016.
  3. Official OPLv0.8 User Guides. In: opl.sksapps.com. Abgerufen am 7. Januar 2016.
  4. New Ultimate Homebrew Guide (Wii) - by Wii-Homebrew.com v1.0
  5. hackmii.com [1]
  6. github.com/WinterMute [2]
  7. dsibrew.org[3]
  8. Niederlage für Nintendo: Alternative DS-Karten nicht illegal
  9. BREAKING: Judge rules Nintendo ILLEGALLY protects systems', should be like WINDOWS!!!
  10. Übersicht der Updates des Nintendo 3DS im Detail
  11. Ninjhax: Nintendo 3DS nach drei Jahren geknackt
  12. The homebrew launcher
  13. Simple 3ds to cia converter
  14. Felix Domke: Console Hacking 2006 – Xbox 360, Playstation 3, Wii, 23. Chaos Communication Congress, 28. Dezember 2006. Videomitschnitt.
  15. Geohots Webseite
Rechtshinweis Bitte den Hinweis zu Rechtsthemen beachten!