Beim Thema „Hacken“ denken wohl die meis ten zuerst an böse Buben, die in fremde Netze eindringen und unerlaubt Informationen ausspähen. Wie im Artikel „Wie Hacker hacken“ auf Seite 2 beschrieben, sind Hacker in der ursprüngli chen Wortbedeutung jedoch zu einem großen Teil eher versierte Hardware-Bastler und findige Tüftler. Das beginnt beim Selbstbau von PCs oder Peripheriegeräten und endet bei der Verbesserung oder kreativen Zweckentfremdung gebräuchlicher Hardware. Letzteres ist allerdings nur selten mit Änderungen an der Elektronik verbunden. Meistens geht es um Firmware, also um die Software, die das Gerät steuert. Unser Artikel erläutert die Grundlagen der Firmware-Manipulation und stellt am Beispiel von Samsung-TV-Geräten einige interessante Hacks vor.
1. Hardware ist nichts ohne Software
In vielen elektronischen Geräten stecken universelle Mikroprozessoren. Diese steuern per Software weitere Spezialbausteine, die dann zum Beispiel für die Ausgabe von Audio- und Videosignalen sorgen. Die Firmware steckt in einem nicht flüchtigen Speicher (EEPROM oder Flash-ROM, electrically erasable programmable read-only memory), der seinen Inhalt auch ohne Stromversorgung behält. Bei Bedarf lässt sich die Firmware aber auch austauschen („flashen“). Bei allen Geräten, die komplexere Aufgaben zu erfüllen haben – ob DSL-Router, Smartphone, Smart-TV, Multimedia-Festplatte oder PC –, ist die Technik ähnlich. Sie sind hier erst einmal auf die Software angewiesen, die der Hersteller dafür vorgesehen hat. Wenn diese Fehler aufweist oder schlecht zu bedienen ist, müssen Sie darauf hoffen, dass der Hersteller ein Update anbietet. Wer darauf nicht warten möchte, der verbessert die Firmware selbst und stellt sie anderen Benutzern zur Verfügung. Manipulationen der Firmware sind jedoch alles andere als einfach. Denn obwohl viele Geräte Linux als Betriebssystem einsetzen, ist der Quellcode der Firmware oft nicht verfügbar – und wenn doch, dann ist er nicht komplett. Die herstellereigenen Anpassungen sind zumeist geheim und lassen sich lediglich per Reverse Engineering analysieren und verändern. Dazu sind langwierige Untersuchungen, beispielsweise der internen Kommunikation des Geräts, erforderlich, die einiges an Expertenwissen voraussetzen. Manchmal geht es aber auch ganz einfach und ohne Firmware-Hack: Die Entwicklung neuer Hardware ist teuer, obwohl die einzelnen Komponenten in der Massenproduktion nicht viel kosten. In vielen Geräten steckt daher die gleiche Elektronik, nur die Software ist anders konfiguriert. Das ermöglicht es den Herstellern, Fernsehgeräte mit identischem Innenleben, beispielsweise einmal mit und einmal ohne Aufnahmefunktion (PVR, Personal Video Recorder), auszuliefern. Die Geräte ohne PVR sind etwas preisgüns tiger und die Verkaufszahlen entsprechend hoch. Beim TV-Gerät mit PVR muss der Kunde mehr bezahlen, was die Anzahl der verkauften Geräte reduziert. In der Summe macht der Hersteller bei diesem Verfahren dann allerdings mehr Gewinn, als wenn er tat sächlich unterschiedliche Hardware entwickeln müsste. Findige Tüftler müssen jetzt lediglich noch ermitteln, wo die Unterschiede in der Konfiguration liegen und wie diese sich ändern lässt. Ein Beispiel für einen derartigen Hack finden Sie unter ➞ Punkt 6.
Neuer Samsung OLED-TV lässt sich per Fernbedienung steuern
2. Analyse der Hersteller-Firmware

©Rainer Knäpper
Fast alle Geräte besitzen eine Update-Funktion („flashen“), über die sich Fehler in der Software beseitigen und neue Funktionen nachrüsten lassen. Das Update erfolgt in der Regel direkt über das Internet. Damit es sich auch ohne Netzwerkverbindung durchführen lässt, bieten die Hersteller die Firmware meistens alternativ zum Download an. Das Update kann dann auch mithilfe einer Verbindung zum PC, per CD oder über einen USB-Stick erfolgen. An die Software kommt man also leicht heran – theoretisch jedenfalls. Denn die Update-Pakete sehen immer anders aus, je nachdem für welches Modell oder für welche Modellvariante sie bestimmt sind. Außerdem sind die Dateien normalerweise verschlüsselt und werden nur mit der passenden Signatur vom Gerät akzeptiert. Hierzu ein konkretes Beispiel: TV-Geräte und Blu-ray-Player von Samsung gehören zu den meist verkauften in Deutschland. Deshalb ist es nicht weiter verwunderlich, dass sich eine größere Community mit Hacks für diese Hardware beschäftigt. Eine davon betreibt die Website www.samygo.tv. Hier finden Sie die erforderlichen Tools, ein Wiki mit Anleitungen und ein Forum, über das sich die Besucher austauschen können. Wer sich die Firmware genauer ansehen möchte, der benötigt ein Linux-System, das auch in einer virtuellen Maschine laufen kann. Hier muss Python und zusätzlich das Paket Pycrypto installiert sein. Die Firmware-Datei bekommt man bei Samsung, entweder im Support-Bereich oder über https://opensource.samsung.com . Das Tool Samygo Firmware Decrypter lässt sich über Sourceforge herunterladen. Die entpackte Firmware-Datei kommt zusammen mit dem Samygo Firmware Decrypter in ein Verzeichnis. Benennen Sie das Script in SamyGoDec.py um und führen Sie auf der Kommandozeile den Befehl
SamyGoDec.py decrypt_all ./T-CHLCIPDEUC/
aus. „./T-CHLCIPDEUC/“ ersetzen Sie dabei durch den Namen des Ordners, in den Sie die Firmware entpackt haben. Im Firmware-Ordner finden Sie anschließend zum Beispiel die Datei exe.img, welche sich etwa mit dem Befehl sudo mount -o loop exe.img /mnt/img in das Dateisystem einhängen lässt. Sie können die Dateien dann analysieren und versuchen, deren Funktio nen herauszubekommen. Einige der img-Dateien sind möglicherweise auch mit dem Da teisystem Squashfs erstellt worden. Den Inhalt extrahieren Sie beispielsweise mit unsquashfs appdata.img. Die Dateien liegen danach im Verzeichnis „squashs-root“. Die geänderte Firmware lässt sich abschließend mit der Zeile
SamyGoDec.py encrypt_all ./TCHLCIPDEUC/
wieder verschlüsseln und im Anschluss daran auf das Gerät flashen (➞ Punkt 4).
3. Firmware eines Samsung-TV patchen

Es gibt bereits fertige Scripts, mit denen sich die Firmware patchen lässt. Eines davon ist der Samygo Firmware Patcher . Dieser lässt sich ebenfalls am besten unter Linux verwenden. Für Geräte mit CI+-Interface ist zusätzlich das Programmpaket Samygo RSA-Disabler notwendig. Die Hauptaufgabe des Patches ist, einen Telnet-Zugang für die Fernwartung des Geräts einzurichten und benutzerdefinierte Scripts oder Programme auszuführen. Darüber können Sie Funktionen des TV-Geräts ändern oder erweitern. So ist es zum Beispiel möglich, auf Windows-Freigaben zuzugreifen und dann Videos direkt über das Netzwerk abzuspielen. Auf einigen Geräten lässt sich auch eine Aufnahmefunktion freischalten. Eine Liste der Programme für Geräte der Samsung B-Serie gibt es auf dem entsprechenden Wiki . Die entpackte Firmware-Datei kommt zusammen mit dem Samygo Firmware Patcher in ein Verzeichnis. Benennen Sie das Script in SamyGO.py um. Starten Sie anschließend auf der Kommandozeile beispielsweise
python SamyGO.py ./T-CHLCIPDEUC/
Dabei ersetzen Sie ./T-CHLCIPDEUC/ durch den Namen des Ordners, in den Sie die Firmware entpackt haben. Folgen Sie den Anweisungen auf dem Bildschirm und bestätigen Sie alle Fragen mit der Enter-Taste. Bei der Frage „Enable Telnet or Advanced Mode on image( T/a )?“, tippen Sie a ein.
Die besten Smart-TVs im Überblick
4. Firmware auf das Gerät flashen

Bevor Sie die Firmware auf dem Gerät installieren, lesen Sie die Warnhinweise im Kasten „Risiken und Nebenwirkungen“. Das folgende Beispiel gilt für ein B-Serien- Modell von Samsung: Kopieren Sie den Ordner mit der gepatchten Firmware – in unserem Beispiel „T-CHLCIPDEUC“ – auf einen FAT-32-formatierten, leeren USB-Stick. Bei CI+-Modellen kopieren Sie auch die Dateien des Samygo RSA-Disablers auf den Stick. Verbinden Sie den USB-Stick noch nicht mit dem TV-Gerät, aber schalten Sie dieses ein. Rufen Sie das Service-Menü auf, indem Sie nacheinander die Tasten Info, Menü, Mute und Power drücken. Hier deaktivieren Sie unter „Control ➞ SubOption“ die Funktion „Watchdog“. Schalten Sie das Gerät aus, stecken Sie den USB-Stick ein und schalten Sie das Gerät wieder ein. Rufen Sie die „Content Library“ über die Taste „Content“ auf der Fernbedienung auf und gehen Sie auf „USB ➞ Spiele“. Starten Sie „RSA Disable“. Rufen Sie daraufhin über die Taste „Menü“ die Einstellungen und hier „Software-Update“ auf. Nun wählen Sie die Funktion „Per USB“ und führen das Update durch.
5. Funktionen des TV-Geräts erweitern
Nach den Vorbereitungen unter ➞ Punkt 3 und 4 läuft Ihr Fernsehgerät wie gewohnt. Neue Funktionen gibt es aber bislang noch nicht. Diese müssen Sie erst über Scripts und Programme nachrüsten. Beispielhaft zeigen wir Ihnen, wie Sie Ihrem Fernsehgerät den Zugriff auf eine Windows-Freigabe ermöglichen. Anders als bei einem Standard-Multimedia-Player über DLNA gibt es hier wesentlich weniger Probleme bei der Videowiedergabe und das Vor- und Zurückspulen im Film funktioniert ebenfalls besser. Damit Sie bei Problemen stets Zugriff auf das Gerät haben, müssen Sie zuerst den Telnet- Dienst aktivieren. Das wurde durch den Firmware-Patch zwar vorbereitet, ist bisher aber noch ohne Funktion. Laden Sie sich den Samygo Telnet Enabler und Samygo-Samba-Kernel-Module.zip herunter und entpacken Sie die Dateien auf einen USB-Stick. Kopieren Sie außerdem das Script Samygo.sh auf den USB-Stick. Öffnen Sie Samygo.sh in einem Texteditor. Passen Sie die Angaben hinter „mount“ entsprechend Ihrer Konfiguration an. Erstellen Sie auf dem USB-Stick das Verzeichnis „Media“. In dieses Verzeichnis wird die Netzwerkfreigabe dann später eingehängt. Verbinden Sie den Stick mit dem TV-Gerät und starten Sie über „Content Library“ den „SamyGO Telnet Enabler“. Unter Windows können Sie jetzt eine Eingabeaufforderung öffnen und mit dem Befehl telnet IP-Nummer dem Login-Namen root und einem leeren Passwort eine Verbindung zum TV-Gerät aufbauen. Die IP-Nummer bekommen Sie unter Windows zum Beispiel über die System steuerung und „Geräte und Drucker“ heraus. Wählen Sie im Kontextmenü des TVGerätes „Eigenschaften“ und wechseln Sie auf die Registerkarte „UPnP“. Hier wird die IP-Adresse angezeigt. Alternativ rufen Sie die Konfigurationsoberfläche Ihres DSL-Routers auf und suchen nach den verbundenen Geräten. Bei einer Fritzbox beispielsweise finden Sie die Liste unter „Heimnetz ➞ Netzwerk“. Im Telnet-Fenster führen Sie als Nächstes die drei folgenden Befehlszeilen aus:
cp /dtv/usb/sda1/SamyGO.sh / mtd_rwarea/ chmod 755 /mtd_rwarea/SamyGO. sh cp /dtv/usb/sda/cifs.ko /mtd_ rwarea/
Damit kopieren Sie das Script in den Speicher des TV-Gerätes und machen es ausführbar. „cifs.ko“ ist ein Kernel-Modul, das es erlaubt, Windows-Freigaben zu mounten. Schalten Sie das TV-Gerät aus und wieder ein. Im Mediaplayer können Sie jetzt auf das Verzeichnis „Media“ zugreifen und Videos ähnlich wie über den USB-Stick abspielen.
Auch interessant: Raspberry Pi macht aus jedem TV einen Smart-TV
6. Aufnahmefunktion freischalten

Bei einer Reihe von Samsung-Smart-TV-Geräten ist es möglich, die Aufnahme von Fernsehsendungen (nur unverschlüsseltes DVB-C/ DVB-S) auf USB-Stick oder Festplatte zu aktivieren. Für einige Modelle der B-Serie gibt es dafür PVR+, das sich über „Content Library“ einbinden lässt, ähnlich wie unter ➞ Punkt 4 beschrieben.
Bei Modellen der C- und D-Serie gibt es einen anderen Weg, der über das Service-Menü führt. Es hängt jedoch von der Firmware ab, ob dies funktioniert oder nicht. Beim Samsung UEXXC6700 lässt sich PVR wahrscheinlich lediglich bis zur Firmware-Version 3015 freischalten und beim UEXXD5500 bis zur Version 1018.1. Und so geht’s: Schritt 1: Laden Sie sich ruSamsungTV Communicator herunter (http://samsung.rai nerullrich.de). Schalten Sie dann Ihr TV-Gerät ein und starten Sie das Tool. Es versucht, das TV-Gerät im Netzwerk zu finden und sich mit ihm zu verbinden. Am TV müssen Sie den Fernzugriff bestätigen. Klicken Sie in ruSamsungTVCommunicator auf „Factory“ und danach auf „3Speed“. Im Log-Bereich erscheint dabei jeweils „Key … senden … fertig“. Beenden Sie das Tool und schalten Sie das Fernsehgerät aus. Schritt 2: Verbinden Sie einen FAT32-formatierten USB-Stick mit dem Gerät. Drücken Sie auf der Fernbedienung zügig nacheinander die Tasten Info, Menü, Mute und Power. Auf dem Bildschirm erscheint nun ein Menü. Starten Sie ruSamsungTVCommunicator und klicken Sie erneut auf „Factory“ und „3Speed“. Am Fernsehgerät tauchen jetzt im Menü mehrere Optionen auf. Gehen Sie auf „Control ➞ Hotel Option“. Setzen Sie den Wert „Hotel Mode“ auf „On“. Gehen Sie auf „Clone TV to USB“. Damit speichern Sie die Kanalliste auf dem USB-Stick. Mit der Taste „Return“ gelangen Sie wieder zurück in das vorherige Menü. Gehen Sie auf „Control ➞ Sub-option“. Setzen Sie „PVR Support“ auf „On“. Drücken Sie „Return“, gehen Sie auf „Control ➞ Hotel Option“ und schalten Sie „Hotel Mode“ auf „Off“. Drücken Sie „Return“, gehen Sie auf „Option ➞ Factory Reset“ und drücken Sie „OK“. Schritt 3: Danach müssen Sie den Fernseher neu konfigurieren. Drücken Sie „Menü“, gehen Sie auf „Sender ➞ Listenübertragung“ und importieren Sie die Kanalliste vom USBStick. Stellen Sie anschließend über „Sender ➞ TV-Empfang“ die Empfangsart „Kabel“ oder „Satellit“ ein. Schritt 4: Verbinden Sie eine USB-Festplatte mit dem TV-Gerät. Die Festplatte muss neu formatiert werden. Alle Daten darauf gehen verloren. Wählen Sie ein Programm und drücken Sie die Aufnahmetaste. Folgen Sie dann den Anweisungen auf dem Bildschirm.
7. Aufnahmen am PC bearbeiten
Alle TV-Geräte zeichnen verschlüsselt auf. Sie können die Aufnahmen deshalb nicht auf einem anderen Gerät abspielen und nicht auf dem Computer bearbeiten. Wenn Sie nach einem Defekt ein Austauschgerät erhalten, lassen sich die Aufzeichnungen auch auf diesem nicht mehr wiedergeben. Eine Sicherung der Videos ist aber trotzdem möglich. Schließen Sie die USB-Festplatte an einem Linux-Rechner an, der beispielsweise unter Ubuntu 13.04 läuft. Sie können auch ein Ubuntu-System verwenden, das in Virtualbox läuft. Linux öffnet die Festplatte mit dem XFS-Dateisystem und Sie sehen die Aufnahmen im Verzeichnis „Contents“. Kopieren Sie das komplette Verzeichnis auf Ihren Windows-PC. Laden Sie das Tool Destroi herunter, entpacken und starten Sie es. Klicken Sie auf „Auswählen“ und geben Sie einen Zielordner für die umgewandelten Videos an. Über „Öffnen“ wählen Sie die SRF-Dateien aus, die Sie ansehen oder bearbeiten möchten. Klicken Sie auf „Entschlüsseln“. Die konvertierten Videos lassen sich danach am PC betrachten oder mit einem Videokonverter in andere Formate übertragen.