Hi!
Gleich vorneweg: Nein, ich möchte keinen Modchip selber bauen ;-)
Ich erinnere mich, vor langer, langer zeit einmal einen sog. Modchip in
eine Playstation eines Kumpels eingelötet zu haben. Ich bin mir nicht
sicher, um was es da genau ging, aber ich glaube es ging ums "Cheaten".
Ich weiss nur, das besagter Chip nie funktioniert hat. Evtl. Fehler
meinerseits beim Einbau, vielleicht war das Teil auch von vornerein
Kaputt oder Fake.
Hab da neulich nochmal so ein Ding für die aktuelle Generation der
Spielkonsolen gesehen. Die Funktionen da beschränken sich wohl mehr oder
weniger auf das Einspielen alternativer Firmwares sowie dem Abspielen
von Sicherungskopien.
Dabei wird der Chip (sind wohl oft ATmegas oder FPGAs) entweder an
irgendwelche Pads auf dem Mainboard angeschlossen, oder an die
Anschlüsse eines Speicherchips (RAM? ROM?).
Wie wird sowas entwickelt?
Pinbelegung der Chips kann man vielleicht rausfinden und dann durch
Durchklingeln ein günstiges Pad zum Anschluss auf der Platine finden.
Aber wie findet man heraus, was man jetzt im Programmspeicher bzw.
Arbeitsspeicher verändern muss, um zu Cheaten, eine andere Firmware
aufzuspielen, etc.? Dazu bräuchte ich doch Kenntnis über die Kompletten
Abläufe die in der Konsole stattfinden?
Evtl. hat da ja jemand mehr infos, würde mich freuen!
und nun schrieb:> Insiderwissen?
Du meinst einer der Typen der Einblick in die Software und Hardware hat
bastelt in seiner Freizeit solche Modchips und vertickt die?
Naja, ich glaube nicht, dass man damit wirklich viel Geld verdienen
kann. Diese Module kosten um die 30€. So groß werden da die Stückzahlen
auch nicht sein...
Die Videos werde ich mir zu Gemüte führen!
Hat jemand noch mehr Infos?
Zusammenfassend: Die Modchips arbeiten alle unterschiedlich. Die
Attacken sind verdammt clever und ausgeklügelt. Zumindest teilweise. Es
geht dabei aber meistens darum sig-checks auszuhebeln und homebrew code
der auf irgendnem Speichermedium liegt zu starten.
Guest schrieb:> Zusammenfassend: Die Modchips arbeiten alle unterschiedlich. Die> Attacken sind verdammt clever und ausgeklügelt. Zumindest teilweise. Es> geht dabei aber meistens darum sig-checks auszuhebeln und homebrew code> der auf irgendnem Speichermedium liegt zu starten.
Ja, so ungefähr wusste ich das ja schon.
Aber wie kommt man darauf, wann was zu tun ist? Man kann ja nicht auf
gut Glück mal den Code irgendwohin in den RAM schieben?
Zocker02 schrieb:> Aber wie kommt man darauf, wann was zu tun ist?
Insiderwissen, wurde schon gesagt.
Und die Stückzahlen sind gewaltig, meist wird das Wissen schon für
zigtausende Dollars verkauft und die Chipproduktion hunderdtausender
machen andere.
Nur bei primitiven Hacks kommt man durch beobachten von Datenströmen
drauf. Beispielsweise Motorelektronik "Chip Tuning" durch Einbau eines
Widerstandes einen Sensorwert verändern.
Aber mit etwas Intelligenz und Arbeitsmühe kommt man auf Vieles.
MaWin schrieb:> Beispielsweise Motorelektronik "Chip Tuning" durch Einbau eines> Widerstandes einen Sensorwert verändern.
DER Klassiker. Mehr Leistung, weniger Verbrauch, bessere Abgaswerte.
Angeblich. :D
MaWin schrieb:> Insiderwissen, wurde schon gesagt.> Und die Stückzahlen sind gewaltig, meist wird das Wissen schon für> zigtausende Dollars verkauft und die Chipproduktion hunderdtausender> machen andere.
Ich habe am Anfang echt gedacht, dass da evtl. die komplette Firmware
ausgelesen und untersucht wird, dann mit einem LogicAnalyser sämtliche
Kommunikation angeschaut wird. Und anschließend weiss man wo man
ansetzen kann... Kommt mir aber ehrlich gesagt zu auswändig vor.
Ist das Entwickeln und Verkaufen solcher Chips eigentlich legal?
Hi,
Zocker02 schrieb:> Ist das Entwickeln und Verkaufen solcher Chips eigentlich legal?
Es kommt darauf an WIE die Entwicklung abläuft und WOFÜR der Chip
gedacht ist.
Aber der Hauptanwendungszweck dürfte sein das man nach der Modifikation
auch kopierte Spiele spielen kann und nicht mehr auf die Originale
angewiesen ist.
Das stellt eine Umgehung von "wirksamen Kopierschutzmechanismen" dar und
ist seit einigen Jahren (zumindest in DL) an sich schon illegal auch
ohen das man selbst Kopieen dazuliefert. Sowohl das entwickeln, als auch
der Verkauf. Fällt in die selbe Kategorie wie die "guten"
Kopierprogramme für CD/DVD/BlueRay die auch geschützte Scheiben kopieren
können.
Wenn es nur darum geht das man der Box zusätzliche funktionen verleihen
will die von der Originalfirmware nicht angeboten werden und damit die
Kopierschutzmechanismen NICHT ausgehebelt werden, dann kann der Verkauf
und einsatz dieser Modifikation legal sein. Bei der Entwicklung selbst
kommt es noch etwas darauf an wie man an die notwendigen Daten gekommen
ist...
Gruß
Carsten
P.S.: Bei der Playstation 1 waren die Modchips meist Microchip Pics
(12c...)
Bei der 2 gab es diverse USB Controller, erst nahm man AT90USB und als
jemand die Routine auf die leichter verfügbaren Pic18F2550 umgestellt
hat wurden diese schnell dominierend...
Aber das habe ich auch nur am Rande mitbekommen, habe nur mal ein alte
PS1 günstig erweorben und meine Freundin hatte mich zu einer Wii
überredet.
(Wo wir mit leuten aus der Clique immer noch mal wieder einen nicht
ernstgemeinten Spielabend mit machen - Grafik ist das absolut
Zweitrangig)
Da kommt man mit einer Handvoll günstig erworbenen Gebrauchtspielen
schon weit genug ;-)
Das ist keineswegs immer Insiderwissen (wobei man das natürlich auch
nicht ausschließen kann). Es gibt halt eine Menge Leute, denen es Spaß
macht herauszufinden, wie bestimmte Geräte im Detail funktionieren und
ob man sie dazu bringen kann, auch andere Dinge zu tun. Solche Leute
nennen sich selber Hacker - wobei dieser Begriff oft fälschlich auch
auf diejenigen ausgedehnt wird, die lediglich die Ergebnisse von Hackern
verwenden, um illegale Dinge zu tun. Der Hacker Kodex wie ihn sich
bspw. die Leute vom CCC verordnen, verbietet solches. Wobei man
natürlich nicht weiß, ob sich alle immer daran halten, schließlich sind
sie meist pseudonym unterwegs.
Ein Großteil der Arbeit besteht dabei im Reverse-Engineering: man schaut
dem Gerät möglichst genau auf die Finger, was es tut. Dazu kann man z.B.
den Datenbus anzapfen. Sehr oft sind auch Debugschnittstellen vorhanden,
an die man sich hängen kann. Der Modchip für die Wii benutzt z.B. die
Debug-Schnittstelle des DVDROM-Laufwerks, um die Speicheradressen zu
patchen, in denen das DVDROM die Information hinterlegt ob die DVD ein
Original ist.
Ein guter Anlaufpunkt für Detailinformationen sind Vorträge vom ChaosCommunication Congress (http://events.ccc.de/congress/). Z.B. gab es
da in der Vergangenheit Vorträge zur Wii und zur einer (weiß nicht mehr
welche) Playstation.
Eine andere gute Quelle (nur Englisch) ist das Phrack Magazin. Vieles
andere findet sich auch in privaten Blogs. Suchworte "Gerätename Hack"
in Google tippen und mal ein bisschen schmökern.
XL
Ich muss den Thread nochmal hochholen um nochmals meine Meinung kund zu
tun. Ich finde den Tipp mit dem Insiderwissen großen Unsinn. Es gibt
eben ein paar etablierte Techniken mit denen man an so eine
Konsole/Embedded Device rangehen kann.
Eine davon, die grundsätzlich sicher Infos über die Funktionsweise
bringt aber meistens nicht direkt zum Ziel führt sind die JTAG
Schnittstellen. Oft sind diese gesperrt, aber manchmal kann man doch was
reißen. Bei der XBOX360 gibt es einen JTAG Hack über 2 oder 3 Ecken,
dabei wird erstmal ein eigentlich unbeteiligter Chip (Southbridge) per
JTAG übernommen, der dann, wenn ich mich recht erinnere, über die GPU an
den Prozessor kommt.
Was man auch gerne macht sind irgendwelche Pin glitches. Darauf basiert
der aktuelle XBOX360 Hack. Wenn man im richtigen Moment den Reset der
CPU für die richtige Zeit aktiviert werden die CPU Register gelöscht,
der Programm Counter aber nicht. Das führt dazu, dass das Ergebnis eines
strcmp zu 0 wird, da das entsprechende Register gelöscht wird. Tja, das
strcmp war zufällig der Signcheck für die Bootloadersignatur. Und 0 ist
zufällig "strings stimmen überein".
Weiterhin wird viel per Logicanalyzer/FPGA mitgeschnitten.
http://farm3.static.flickr.com/2493/3914795010_2f8ed9e117.jpg Hier ein
Bild (Im original auf hackmii.com) von einer solchen Aktion beim
Nintendo DS. Ich glaube da ging es um den Arbeitsspeicher. Das ist
natürlich eher bei langsamen Bussystemen/Konsolen möglich.
Der vorletzte Hack bei der PSP (Pandora) basierte auf einem gehackten
Jig. Hier war zwar kein Insiderwissen nötig, aber zumindest eine Portion
Glück. Hier hat wohl ein Sony Service Mitarbeiter vergessen das Set aus
Memorystick und Akku (!) in der PSP zu lassen, mit dem Sony defekte
Geräte analysiert und repariert. Nachdem bekannt war, das ein Akku mit
spezieller Signatur (0xFFFF....) den ersten Bootloader dazu anweist,
einen Kernel vom Memorystick zu laden konnte man eine bekannte Lücke in
eben diesem Bootloader damit kombinieren, um einen gehackten Kernel zu
starten, der alles weitere übernimmt.
Sobald dann mehr auf dem Gerät möglich ist gibt es wieder mehr
Möglichkeiten. Der erste PS3 Hack basierte auf einem RAM Glitch in
Verbindung mit der Möglichkeit über Linux Code auszuführen. Der
Hypervisor wurde übernommen, indem man aus Linux eine große Menge
speicher anfragt, den wieder freigibt und die enable Leitung des RAMs
beim Freigeben abklemmt. Ein paar clevere Befehle später mappt der
Hypervisor seinen eigenen Speicher auf den "freigegebenen" Speicher,
lässt einen aber weiterhin darauf zugreifen, da die Freigabe nicht
richtig funktioniert hat.
Software seitige Exploits sind oft irgendwelche Overflows. Hier kann man
auch viel ausprobieren. Bei der PSP war die Verschlüsselung der
Savegames geknackt (key bekannt), die meisten Spiele hatten irgendwo
eine Buffer Overflow vulnerability, entsprechend konnte man zumindest im
Usermode viel unfug treiben.
In dem Zusammenhang interessant sind auch open source libs. Oft werden,
zB für Fotogalerien, auf der Konsole open source libs genutzt. Gibt es
dort einen exploit, existiert der oft auch auf den Konsolen (libtiff
exploit auf der PSP zB).
Auch der USB Hack bei der PS3 war eine buffer overflow, wenn auch ein
recht komplexer. Letztendlich wurden hier aber mehrere Methoden
kombiniert. Ein pseudo-Jig dongle verbindet sich, ändert während dem
Connect seinen USB Device Descriptor und jagt viel zu viele Daten in den
RAM der PS3.
Das ändern von Konstanten on-the-fly ist übrigens auch nicht selten
genutzt. Irgendwelche Samsung Smart TVs hat man wohl so übernommen,
Originalupdate auf dem "USB Stick" bereitstellen, der TV macht einen
Signcheck, dann liest der TV NOCHMAL die Daten für das eigentliche
Update ein, jetzt gibt man ihm eine gehackte Firmware und der TV spielt
diese ein.
Anderweitig gibt es einfach Firmen die offenbar zu dämlich zu allem
sind. Hier sei Nintendo genannt. Die Bugs bei der Wii sind so zahlreich
dass es sich nicht lohnt viel dazu zu sagen, auf einen will ich aber
kurz eingehen. Wenn man seine Signchecks nur bei der Installation von
Software macht und jegliche Spiele im Kernel Mode ausführt da es einfach
kein OS gibt, braucht man sich nicht wundern wenn jemand über ein
Savegame Exploit eine Homebrew Loader App in den Flash schreibt und
diese dann einfach benutzbar ist.
Hier hat Nintendo sogar recht bald aufgegeben die Fehler zu patchen, die
Wii ist einfach konzeptionell total kaputt.
=============================
TL:DR Gibt einige Standardmethoden die man testen und komnbinieren kann,
irgendwann findet man schon etwas, das funktioniert. Dazu zählen:
RAM/Reset Glitches, JTAG, Buffer Overflows, Savegame Mods, Custom (USB)
Devices die Felder/Daten unter dem Betrieb ändern, mitschneiden von
Bussen per Logic Analyzer.
Solche Reverse Engineering und Konsolen Hacks werden meistens von
größeren Firmen gemacht, Datel müsste jeder kennen?
Die haben sogar von ihrem Labor ein Video auf der Startseie
http://datel.co.uk/