views:

74

answers:

1

Hello, I am trying to manually change my paper-toss highscore for my ipod touch. I have gotten into the filesystem and seem to have found the file where the highscores are held. I change the value but the only problem is, is when i go back into the game all highscores are reset. I figure it is because of the checksum in the code. I do not know much about checksums, but if anyone could give me a hand that would be great. If there anyway to decode the checksums so I can input my own highscore? This isn't really that important I am just trying to see if this is possible. Here is the code in the highscore folder.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
<plist version="1.0">
<dict>
    <key>best</key>
    <dict/>
    <key>level_0_best</key>
    <dict>
        <key>checksum</key>
        <data>
        jKVRRrPm1RoEn9QWZVn+BQ==
        </data>
        <key>ts</key>
        <integer>1268796643</integer>
        <key>value</key>
        <integer>2</integer>
    </dict>
    <key>level_1_best</key>
    <dict/>
    <key>level_2_best</key>
    <dict/>
    <key>level_3_best</key>
    <dict/>
    <key>level_4_best</key>
    <dict/>
    <key>level_5_best</key>
    <dict/>
    <key>sound</key>
    <true/>
    <key>submitted</key>
    <dict/>
    <key>tutorial_shown</key>
    <true/>
</dict>
</plist>
A: 

The data is 16 bytes, that's been base64 encoded. That means that it's likely an MD5 hash.

They probably mix some secret in with your score, and use that as an input to MD5 to generate the checksum. Without the secret, you wouldn't be able to properly change the checksum when you change your score.

BTW - that has nothing to do with XML or UTF-8. XML is the file format, UTF-8 is the encoding.

dave