Cracking / Disassembling / Puzzle Bobble
Ich gabe mir gestern einmal dieses Game näher angeschaut. Simpel, aber macht Spaß, um ein paar Minuten damit zu überbrücken. Jedenfalls finde ich die Programmierung des Nokias über MIDLETs sehr genial, wenn man einmal schaut was es so schon an guten aber auch weniger guten Java Games gibt. Doch wie programmiert man so etwas? Es gibt natürlich Tutorials, das Forum Nokia usw. Aber, programmieren lernt man am Beispiel. D.h. an Beispielprogrammen. Da wäre der Sourcecode eines kommerziellen Games sicherlich eine wertvolle Hilfe. Aus diesem Grund hatte ich ein paar Games disassembliert, d.h. mit dem JAD-Tool für Java. Die Sourcen sind dann zwar mit kryptischen Variable-Namen und Klassennamen bezeichnet, aber es funktioniert sie in Bytecode (.class Dateien) zu kompilieren. Nun zu Puzzle Bobble. Auch das hatte ich disassembliert. Und das gute! Taito hat sämtliche Debug-Informationen in den Class-Dateien gelassen, d.h. nach dem Disassemblieren habt ihr den vollständigen Sourcecode zu Puzzle Booble und könnt Sachen wie Highscore, wählbarer Schwierigkeitsgrad usw. einbauen und so das Game erweitern.
Symbian-Dateien (.SIS) sind da nicht so pflegeleicht. Zum Cracken müssen die Trials zunächst auf dem Handy installiert werden. D.h., die SIS-Dateien werden in einem Verzeichnis auf Telefon- oder MMC Speicher entpackt. Diese Dateien werden dann auf euren PC übertragen. Zum Cracken einer Trial muss man ebenfalls die ausführbare SIS disassemblieren. Dazu wird IDA benötigt, der auf den Prozessortyp ARM925 Opcode gestellt wird. Der 925er Assembler sollte natürlich bekannt sein. Durch Referenzen im Disassembler Listing kann man Rückschlüsse auf Trialmeldungen ziehen und so bestimmte Stellen in der ausführbaren Datei ändern. Sind nun alle zur SIS-Datei zugehörigen Dateien auf dem PC vorhanden, gibt es ein Symbian Tool, dass mit einer Package-Datei eine SIS erzeugt, die anschließend installiert werden kann. Das ist jedenfalls meine Methode. Wer von euch hat sich ebenfalls schon damit beschäftigt, würde mich gerne einmal austauschen wollen. Vielleicht geht es auch einfacher, aber da ich bei PC Games / Appz eine ähnliche Technik anwende (ok, da arbeite ich öfters mit einer modifizierten Version des TRW 2000 Debuggers), würde es mich wundern. Debugging des Nokias ist ja ohne Hardware nicht möglich, von daher wird die Debugger-Methode nicht klappen(?). Ich bin mal gespannt, wann der erste Kopierschutz entwickelt wird. Außer IMEI Nummer wird zur Zeit ja nicht viel gemacht.
CheerZ, NEk!