Mittwoch, Dezember 3, 2008

Anatomie eines iPod-Spiels

Am Beispiel von Mahjong für iPods habe ich mal geschaut, wie denn so ein iPod-Spiel “von innen” eigentlich aussieht - es gibt ja für normalsterbliche User kein iPod-Game-SDK oder sowas.

In iTunes findet man iPod-Spiele nicht im Ordner “Einkäufe”, sondern im Ordner “Programme” - den muss man eventuell vorab in den Einstellungen zur Ansicht aktivieren.
Ein Rechtsklick auf das Spiel bietet die Option “Im Finder anzeigen”. Auf diese Weise kriegt man schonmal raus, dass so ein iPod-Spiel die Endung “*.ipg” hat - ich lehne mich mal sehr weit aus dem Fenster und behaupte einfach mal, das steht für iPod Game.

Wo grad der Finder auf war, habe ich mir das Spiel zwecks Sectio in einen temporären Ordner reingelegt und das Terminal angeschmissen.

Der Befehl “file Mahjong.ipg” liefert “Mahjong.ipg: Zip archive data, at least v2.0 to extract“. Deshalb funktioniert auch ein beherztes “unzip Mahjong.ipg” - und schwupps sieht man die Inhalte.
So ein Spiel besteht in erster Linie aus vielen vielen Mediendateien; in Mahjong.ipg gibt es 10 M4A-Audiodateien, 14 WAV-Audiodateien im Unterordner “Media”, und nochmal 28 WAVs im Ordner “n”.
Gute Dienste bei der Untersuchung von unbekannten Dateien liefert hierbei übrigens das Programm 0xED von SuaveTech - ein wirklich guter Hexeditor für OS-X, und noch dazu kostenfrei.
Und natürlich auch der “file“-Befehl im Terminal. So erfährt man mit diesem, dass die Datei “iTunesArtwork” eigentlich ein JPEG-Bild ist und sich deshalb auch mit der Vorschau oder ähnlichem öffnen lässt.

Übrigens lassen sich unter Mac OS X auch Programme mit GUI aus dem Terminal heraus starten; hierfür gibt es den Befehl “open“. So geht bei dem Mahjong-Spiel ein “open -a 0xED rserver.bin” - 0xED öffnet sich und lädt gleich die Datei “rserver.bin“.
Im Unterordner “Executables” habe ich zwei kleinere Dateien gefunden, die die Endung “sinf” haben. Laut “file” handelt es sich dabei um Binärdaten; 0xED zeigte mir dann, dass darin mein iTunes-Benutzername steckt. Muss also irgendwas mit dem Apple-DRM zu tun haben und sagt mir, dass es eine schlechte Idee ist, gekaufte iPod-Spiele an andere weiterzugeben.
Also wieder einen Ordner hoch und ein “grep wolfram * -ir” angeschmissen - die Anweisung für “finde in allen Dateien in allen Unterordnern den String ‘wolfram’ - ohne dabei auf Groß-Kleinschreibung zu achten”. Noch ein Treffer, diesmal in der Datei “iTunesMetaData“; dort steckt meine eMail-Adresse drin.
Im Unterordner “Resources” stecken offenbar Übersetzungen; denn es gibt darin wiederum Ordner namens “de“, “en“, “es“, “fr” und so weiter.
Fast schon lustig wird es dann in dem darin jeweils enthaltenen Bild. Das wurde nämlich offensichtlich mit “Adobe Photoshop Elements 3.0 Windows” editiert…
Wenigstens steckt in keiner einzigen Datei der Name “Microsoft“…. Interessiert hat mich dann natürlich auch, warum in den M4A-Dateien der String “Apple” enthalten ist. Dezent darin versteckt sich “iTunes v6.0.5.20, Quicktime 7.10” - nicht mehr soooo frisch, denn im September 2006 kam schon iTunes 7 heraus…
Persönliches Fazit: In einer ipg-Datei steckt mehr drin, als ich gedacht hatte.