Einige von euch kennen es wohl, das Spiel Candy Crush Saga von King.com. Zunächst ein bei Facebook beliebtes Spiel, gibt es Candy Crush nun auch für Handys und Tablets. Nachdem ich dem Phänomen zunächst wie bei FarmVille und anderem Krams eher beobachtend gegenüber gestanden habe, hat es mich nun auch erwischt.
Das Spielprinzip von Candy Crush ist süchtigmachend, bei der sonstigen Ausführung gibt es aber einiges zu bemängeln. Synchronisierung mit mehreren Devices ist nur über Facebook möglich. Das ist auch nicht so leicht zu umgehen, da die Savegames nicht auf der SD-Karte sondern im geschützen Ordner /data/data/com.king.candycrushsaga/app_storage
gespeichert werden, auf den man nur auf gerooteten Geräten Zugriff hat.
Weiterer Minuspunkt sind die Nutzungsmodalitäten des Spiels. Zusätzlich zum nervenden „Feature“ der In-App-Käufe von Boni wie zusätzliche Züge, ist die Anzahl der Versuche auf 5 begrenzt. Immerhin regenerieren sich die Leben alle 30 Minuten. Alternativ kann man seinen noch-Freunden bei Facebook auf den Sack gehen und um Leben betteln. Das lässt sich jedoch recht einfach ändern. Es gibt hingegen keine Bezahlvariante des Spiels, in der man ganz Normal wie gewohnt spielen kann.
Ich übernehme keine Garantie dafür, dass das Folgende Vorgehen funktioniert. Ich übernehme keine Haftung für eventuell auftretende Schäden. Zur Durchführung muss das Gerät auf eigenes Risiko gerootet werden.
Es ist ratsam, vor dem Start eine Sicherung des Systems, zumindest von Candy Crush Saga durchzuführen (zum Beispiel mit Titanium Backup).
Manuelle Synchronisation
Nutzer ohne Facebook-Account haben ein Problem, wenn sie ihre Spielstände auf mehreren Geräten synchron halten wollen. Wenn man jedoch Root-Zugriff hat, ist das ganz einfach. Mit einem geeigneten Root-Dateimanager (zum Beispiel dem Datei Manager (HD-Version für Tablets) oder dem (kostenpflichtigen) Root Explorer kann man auf die Dateien save_0.dat
und save_0.bak
im Verzeichnis /data/data/com.king.candycrushsaga/app_storage
zugreifen und sie so zwischen den Geärten austaustauschen, zum Beispiel via DropBox oder Wuala.
Extraleben
Nur etwas schwieriger stellt sich die Sache mit den Leben heraus. Als Voraussetzung benötigt man ein installiertes Candy Crush Saga. Wenn man seinen Spielstand behalten möchte, sichert man zunächst wie oben beschrieben die Spielstände. Zur Durchführung der Änderung wird einige Software benötigt:
- 7zip (oder vergleichbares Tool)
- ein Java JDK
- den apk-signer
- das Tool zipalign, das zum Beispiel im Android SDK enthalten ist
Nun muss man folgendes machen:
- Die Datei
com.king.candycrushsaga.apk
dem Verzeichnis/data/app/
auf den PC kopieren. Sie kann dabei zum Beispiel auf der SD-Karte zwischengespeichert werden. - Das Spiel löschen.
- Die Datei mit 7zip als zip öffnen und aus dem Ordner
assets/res
die Dateitweakdata.prop
extrahieren (zum Beispiel in ein Explorerfenster ziehen. - Die Datei mit einem Editor öffnen und den Wert für
lives.base.max
auf1337
ändern und speichern. - Die geänderte Datei wieder in das 7zip-Fenster ziehen und die bestehende Datei ersetzen.
- Im Hauptverzeichnis in der .apk-Datei muss das Verzeichnis
META-INF
gelöscht werden. Hier ist die Signatur der unveränderten Datei gespeichert. - den apk-signer öffnen und einen Schlüssel generieren. Dazu muss zunächst der Speicherort des Schlüssels gewählt werden, Passwörter und Aliase festgelegt werden. Da wir diese Änderung nur für uns selbst durchführen und die .apk-Datei nicht veröffentlichen, können wir hier irgendwas eintragen, solange das Passwort 8 Zeichen lang ist. Ein Name muss auch eingetragen werden. Ein Klick auf „
Generate Keyfile
“ erzeugt den Schlüssel.
- Mit diesem Schlüssel wird nun die geänderte .apk des Spiels signiert. Falls die Datei
jarsigner.exe
nicht im Suchpfad enthalten ist, muss der Pfad zum JDK-bin-Ordner gesetzt werden. (Das ist unter Windows bei Standardinstallationen der Fall). Die Schlüsseldatei muss ausgewählt werden, Passwörter und Aliase wie oben eingegeben und die unsignierte, veränderte .apk-Datei gewählt werden. Ein Klick auf „Sign!
“ signiert dann die Datei. Falls der Pfad zurjarsigner.exe
falsch ist, erscheint eine entsprechende Fehlermeldung.
- Die .apk-Datei muss nun noch ausgerichtet werden. Dafür muss auf der Kommandozeile das tool zipalign.exe aufgerufen werden. Der Aufruf sieht zum Beispiel so aus:
D:adt-bundle-windows-x86_64sdktoolszipalign.exe -v 4 com.king.candycrushsaga.apk com.king.candycrushsaga-signed.apk
. Der Pfad zum Android-SDK muss natürlich angepasst werden. Der zweite Dateiname ist die Ausgabedatei. - Nun muss die signierte .apk auf das Android-Gerät zurückgespielt und installiert werden.
- Vorher erstellte Sicherheitskopieen können nach einem ersten Start in den alten Ordner zurückgespielt werden.
Mit 1337 Versuchen gibt es keinen Grund mehr, das Spiel aus der Hand zu legen.
Bei diesem Vorgehen ist zu beachten, dass ab diesem Zeitpunkt keine Updates des Spiels mehr installiert werden. Nach einem manuellen Update muss man das Ganze nochmal durchführen.