Ein kleines Reverse-Engineering-Projekt

Neulich habe ich den Jooki-Kinderlautsprecher vorgestellt. Er funktioniert wie ein normaler WLAN-Lautsprecher – nur mit der Besonderheit, dass das Programm über kleine Figürchen ausgewählt wird, die man auf das Gerät stellt.

Da ist eine Idee nahe liegend: Nämlich selbst Figürchen zu basteln, die mit Wiedergabelisten verbunden werden können. Klar, man kann auch mehr Figürchen kaufen. Aber eine interessante Herausforderung ist natürlich die Frage, ob man die auch selbst hinbekommt.

Das Geist-Figürchen gibt diesen Link zurück.

Dafür muss man als erstes herausfinden, wie die Figürchen mit dem Lautsprecher kommunizieren. Man tippt auf RFID und hält daher probehalber die EC-Karte an den Jooki. Und tatsächlich: Er reagiert darauf.

Der erste Schritt wäre herauszufinden, wie die Figürchen erkannt werden. Dazu benutze ich die App NfcActions, die es kostenlos fürs iPhone gibt. Da tippt man auf den Scnan-Knopf, hält ein Figürchen ans iPhone und voilà; entdeckt wird ein Link, der beim Antippen die Begrüssung «Hello 鬼 Ghost» zurückgibt.

Wenn man nur nach dem chinesischen Zeichen googelt, erscheint auf der Suchseite die Wikipedia-Seite zu Gespenst. Man liegt somit wahrscheinlich richtig, wenn man vermutet, dass dieses Zeichen ebenfalls etwas mit einem Gespenst zu tun hat.

… und der Server sagt Hallo zum Geist.

An der Stelle fragt man sich: Tut es irgend ein RFID-Chip? Oder muss der eine spezifische Botschaft aussenden? Die einfachste Lösung wäre, ein vorhandenes Figürchen zu klonen. Dafür gibt es im Netz die passenden Anleitungen. Dann hat man allerdings zwei Figürchen für die gleiche Playlist – auch nicht sehr sinnvoll.

Darum müsste man in einem nächsten Schritt einen programmierbaren RFID-Chip auftreiben oder sein Smartphone (eher Android als iPhone) dazu bringen, einen RFID-Chip zu imitieren.

Das ist dann der nächste Schritt. Falls ihr Ideen habt, wie man so eine Reverse-Engineering-Aktion am besten angeht, dann lasst es mich über die Kommentarfunktion wissen. Ich bin sicher, ich kann da viel von euch lernen!

Es besteht natürlich das Risiko, dass es gar nicht funktioniert. Denn es gibt auch einen Ndef payload, der einen länglichen alphanumerischen String enthält. Falls das eine kryptografische Absicherung ist, dann hat man Pech gehabt. Wäre schade – denn wer basteln will, sollte das tun dürfen, finde ich.

Übrigens: Wenn man gleich die ganze Box selbst bauen will, gibt es dafür mehrere Wege. Man findet die passenden Videos auf Youtube.

Und der grossartige Tipp eines Lesers ist Tonuino; eine Musikbox, in der ein Arduino steckt. Die Anleitung dafür findet sich hier.

Beitragsbild: Hello Ghost (Kellepics/Pixabay, Pexels-Lizenz)

Autor: Matthias

Computerjournalist, Familienvater, Radiomensch und Podcaster, Nerd, Blogger und Skeptiker. Überzegungstäter, was das Bloggen angeht – und Verfechter eines freien, offenen Internets, in dem nicht alle interessanten Inhalte in den Datensilos von ein paar grossen Internetkonernen verschwinden. Wenn euch das Blog hier gefällt, dürft ihr mir gerne ein Bier oder einen Tee spendieren: paypal.me/schuessler

Ein Gedanke zu „Ein kleines Reverse-Engineering-Projekt“

  1. Der Webdienst scheint auch ungültige Tags zu akzeptieren, nur die Länge der „Codes“ muss stimmen. Ändert man das hinterste Segment, gibt es keine Änderung der Antwort. Ändert man den Parameter „s“, kommen andere Antworten. „s=0000“ ergibt „Hello unknown_4150“.

    Vermutung: das Token würde dann als „unknown_4150“ erkannt und ihm könnte eine Playlist zugewiesen werden.

    Testen können sollte man das mit einer App wie „NFC NDEF Tag Emulator“. Dort Payload Type URI wählen und den Link eintragen. Mit dem iPhone daneben kann man ja prüfen, ob die Antwort identisch ist mit dem vom richtigen Token.

    Mit etwas Glück funktioniert das schon. Ansonsten würde ich schauen, ob man irgendwie an die Firmware des Gerätes kommt (per Download von Update oder so). Evtl. ist das ein unverschlüsseltes Linux-Image.

Kommentar verfassen