Home > Security > iPhone Doodle Jump Hack

iPhone Doodle Jump Hack

Doodle Jump ist ein Spiel fuers iPhone. Ich wollte den HighScore von Doodle Jump hacken.

Ich hab’s leider nicht ganz geschafft. Warscheinlich waren auch schon 1000 andere Leute vor mir genau an dieser Stelle.

  1. Man benoetigt dazu – wer haette es gedacht -  ein iPhone, auf dem Doodle Jump installiert ist. Ausserdem muss das iPhone gecrackt werden, damit die App Terminal installiert werden kann. Am besten ueber Cydia.
  2. In den Optionen muss die Option leaderboard score submission auf auto gestellt sein. Dann werden jedes Mal die erreichten Punkte zu limasky.com uebertragen.
  3. Es wird das Programm tcpdump benoetigt.
  4. Bevor das Spiel beginnen kann, gibt man folgendes im Terminal ein:
    su
    (Eingabe des Root-Passwortes alpine)
    tcpdump -w ifdump.en0 -i en0
  5. Der tcpdump-Befehl speichert in die Datei ifdump.en0 alle Netzwerkpakete, die ueber WLAN verschickt und empfangen werden.
  6. Wenn man so weit ist, kann man anfangen Doodle Jump zu spielen. Dazu einfach tcpdump weiter rennen lassen, also einfach den Terminal schliessen. Ein Spiel reicht aus.
  7. Nachdem man abgestuertzt ist, werden die Punkte zum Limasky-Server geschickt. Jede Punkte-Anzahl wird nur einmal zum Server geschickt. Das heisst, wenn schon einmal z. B. 1708 verschickt wurde, wird bei einem 2. Versuch mit 1708 Punkten nicht noch einmal dieser Wert uebertragen.
  8. Nun beendet man im Terminal den tcpdump (4) mit dem Ctrl+C Befehl. Dieser wird am iPhone ueber die Tasten 123 –> #+= –> Punkt in der 2. Zeile –> c.
  9. Danach uebertraegt man die Datei /private/var/root/ifdump.en0 mittels WinSCP oder SCP vom iPhone und ladet sie mit Wireshark.

So schaut dann ein Paket aus, das der Sniffer abgefangen hat:

GET /limasky/webservices/doodle_jump/gethighscores.cfm?s=1708&sn=TheFox&
shash=2088cffb1b83d986ee2a9609e69c75f5&uid=9fc51f9e64626801981ab594c0974
77885c128f8&m=1&lng=de&gl2=0 HTTP/1.1
User-Agent: DoodleJump/1.13.2 CFNetwork/342.1 Darwin/9.4.1
Accept: */*
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: www.limasky.com

Jetzt sind wir an dem Punkt, wo es fuer normal sterbliche Menschen nicht mehr so einfach weiter geht. Das Problem ist jetzt folgendes: Die Variable shash, die vermutlich ein MD5-Hash ist, wird warscheinlich aus dem Score (s=) und anderen Werten erzeugt. Wenn dieser Hash falsch ist, nimmt der Server die Punkte nicht an. Dazu muesste man Doodle Jump cracken. Also mit einem Disassembler den Quellcode rekonstruieren. Das, beim iPhone SDK mitgelieferte Tool, otool spuckt leider nur Assambler-Code aus. Ausserdem gibt es noch otx und class-dump. Wenn man darauf naeher eingeht, koennte man Doodle Jump irgendwie cracken und sich den richtigen Hash zusammen bauen. Man braucht nicht unbedingt die hier aufgefuehrten Schritte durchfuehren, wenn man gleich Doodle Jump crackt. Somit koennte man sich an erster Stelle der Highscores platzieren ohne ein einziges Mal Doodle Jump gespielt zu haben.

Es war jedoch einen Versuch wert und ein erster Anhaltspunkt um ein Spiel zu hacken.

Aehnliche Artikel

Share and Enjoy:
  • Twitter
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Slashdot
  • StumbleUpon
  • Reddit

TheFox Security , , , ,

  1. 20. Januar 2010, 23:47 | #1

    Man müsste also am besten den RAM manipulieren, gibt es für die bash ein CheatEngine-ähnliches Programm?

  2. 21. Januar 2010, 00:09 | #2

    Den RAM? Man muesste “einfach nur” den Assemblercode durchgehen, bis man die Funktion stoesst, die den Hash generiert. Aber das keonnte eine Weile dauern ;)

  3. Anonymouse
    24. Februar 2010, 15:38 | #3

    Hey,
    auch ich habe mich hiermit beschaeftigt.
    Sehr auffaellig ist uebrigens auch, dass Doodlejump einen eigenen Useragent setzt.
    Ich denke, dass der Server auch diesen ueberprueft.
    Ich werde gleich nochmal ein paar Sachen ausprobieren.
    Bis dahin,
    Anonymouse.

  4. 24. Februar 2010, 18:53 | #4

    Das auf jeden Fall. Also solche Variablen muessen dann ohnehin mit dem Original uebereinstimmen.

  5. Anonymouse
    25. Februar 2010, 18:24 | #5

    Hey,
    folgendes -für den SecureHash benötigte- Key/Value-Pair habe ich in der /Library/Preferences/com.yourcompany.DoodleJump.plist gefunden:
    DoodleJumpHash
    YYYYY
    Ich denke, dieser Wert spielt die Grundlage für die Verschlüsselung des Wertes.
    Desweiteren wird eine Abfrage mit der UserID an den Server gesendet(getControlData.cmf). Was das Return (“|controlstart|25`0`0|controlend|”) zu bedeuten hat, weiß ich jedoch nicht. Nun müsste man noch einen Algorithmus schreiben, welcher es ermöglicht die Punktzahl etc. mit dem DoodleJumpHash verknüpft.
    Dafür müsste man nun aber wirklich Disassamblern.
    Ich würde sagen es fehlen uns noch gefühlte 30% Prozent zum ercheaten des Highscores, da wir nun eine Basis gefunden haben.
    Dennoch wird es durchaus schwieriger sein, den sHash zu ermittlen.
    MfG und viel Erfolg :-)
    P.S. Die UID hat (höchstwahrscheinlich) KEINEN Einfluss auf den DoodleJumpHash.

  6. Anonymouse
    25. Februar 2010, 18:25 | #6

    @Anonymouse
    Öhm. Die Klammern wurden weggemacht.
    Z.4: (key)DoodleJumpHash(/key)
    Z.5: (string)YYYYY(/string)
    MfG

  7. Cl€!N
    20. März 2010, 14:39 | #7

    i wü ja nigs sagen owa wenn ma des zusammenknüpft kummt es ausi
    http://www.limasky.com/limasky/webservices/doodle_jump/gethighscores.cfm?s=1708&sn=TheFox&shash=2088cffb1b83d986ee2a9609e69c75f5&uid=9fc51f9e64626801981ab594c097477885c128f8&m=1&lng=de&gl2=0

    da san glaub i die ganzen recorde gspeichert nur mehr serveer hacken und ma hats schu :D ich habs noch nciht probiert, aber ich hoffe ich konnte euch helfen

  8. 20. März 2010, 14:47 | #8

    Das die URL so zusammengeknuepft wird, ist mir schon klar. Nur den richtigen shash fuer die in dazugehoerigen Punkte benoetigt man.

  9. Cl€!N
    20. März 2010, 15:02 | #9

    ja das ist klar aja ich hab eine frage hab alle gemacht und auch mit wireshack, aber mein problem ist das ich das von limasky nicht fien hier eine kleienr screeni http://photos-e.ak.fbcdn.net/hphotos-ak-snc3/hs491.snc3/26830_107415012618437_100000498163744_184957_2956643_n.jpg

  10. Cl€!N
    20. März 2010, 15:37 | #10

    bin hier auf etwas neues geschtosen
    http://www.chip.de/downloads/Hex-Editor-MX_30351843.html

    öffnet mit dem die dateidoodlejump (die befindet sich im doodlejump.app ordner also nicht di richtige ipa)

    so jezz noch ein bisschen bearbeiten…..

    und man hat es vl

  11. 20. März 2010, 17:48 | #11

    Nein man braucht keinen Hex-Editor dafuer, sondern einen Decompiler. Ausserdem muss man Assembler-Kenntnisse haben, damit man herausfinden kann, wie der Hash zusammengestellt wird. Das ist viel komplizierter, als du es dir vorstellst.

  12. Cl€!N
    21. März 2010, 11:22 | #12

    doch es ist moglich, den bei denn bei der binary file ist gespeichert, bei zeile 27534 wilange man z.b.: den sprngschu hat, also kann man dan auf undendlich stellen, dann ist es ja acuh irgendwie ein hack oda?
    aja jemand hat dafür extra einen springschu hack erstellet, bei funkt er jedoc nciht aber vl bei euch hier der link:

    http://www.ipodtouchfans.com/forums/showthread.php?t=275928

    dort sind auch noch ein paar andere doodle jump hacks… bei mir geht jedoch keiner

  13. anonym
    11. April 2010, 14:11 | #13

    Könnte man nicht mit dem Hex-Editor die Sprungfeder modifizieren und vllt auf Ca. 2 mio punkte pro Sprung drauf bekommt?

  14. 11. April 2010, 15:37 | #14

    Also ich bezweifle, dass man mit einem Hex-Editor irgendwas erreichen kann. Die Punkte werden wohl kaum als String drinnen stehen.

  1. Bisher keine Trackbacks
hacker Powered by Gentoo Linux Blogverzeichnis - Blog Verzeichnis bloggerei.de Suchmaschinenoptimierung mit Ranking-Hits