Conquering Flappy Bird


The creator of the current smash-hit game "Flappy Bird" is either a certified genius or an authentic wacko. In either case, this game ignores every rule of good design: plopping you into your own personal crazily-addictive fire-y hell of casual gaming. All you can do is suppress your rage, grit your teeth, and try yet again to beat your standing high-score of "6". But when the rage becomes too much, you're forced to go to the dark side... and cheat.

To do so, you need to hook up your device to something can read the filesystem. Something like iExplorer or DiskAid for iDevices. Inside, you'll find a file... Apps/Flappy Bird/Documents/score.dat containing a single line of 8 characters:

0e00 0000 4f00 0000

What is this mysterious code? I'll tell you! There are two values stored here: your high-score, and the number of times you've played the game. Both of them use 8 characters to represent 32-bit signed integers.

The first 8 characters (0e00 0000 above) holds your score, in hexadecimal, stored in little endian order (so you read it in groups of two, from right to left: 00 00 00 0e). And 0xe in hexadecimal is 14. Which just happens to be my current high-score in the game. Interesting...

The second bunch of 8 characters (4f00 0000 above) is the number of times you've played this abomination of a game. 0x4f in decimal is 79 - and it increases by 1 every time you play. So 79 times I've bashed my head against the wall to get my massive high-score of 14.

Cheatin'!

Now that we know how to read the values, we can quite easily change them! The number of times you play isn't displayed anywhere, so who cares about the last 8 characters (though the same method applies)... instead we'll concentrate on upping our high-score juuuust a tad:

ffff ff7f 4f00 00

We've just modified our score from 0e to 7fffffff. Why that particular value? That's 2147483647 - which happens to be the eighth Mersenne prime - but also the largest 32-bit signed integer you can get. Any more than this, and the score goes crazy negative and shows funny characters on the screen. Copy that file back over top of scores.dat and restart the game...

Sure, it doesn't make playing the game any easier - but it might help reduce your frustration levels ever-so-slightly. Or, you know, greatly increase the frustration of your co-worker who is still stuck on 6 when you're on 104.

If you were even more evil than the creator of this game, that is.

5 Comments

  1. gege wrote:

    Does the iDevice have to be jailbroken to do this?

    Monday, February 10, 2014 at 7:35 am | Permalink
  2. Mr Speaker wrote:

    Hey Gege… nah, it doesn’t need to be jailbroken – but you should make a backup of the file before you change it etc.

    Monday, February 10, 2014 at 10:50 pm | Permalink
  3. Daniel wrote:

    i know another cheat. if your device is jailbroken or just figured out a way to do it via computer. you go to mobile/applications/(whatever)/Flapp.app/atlas.txt and you edit the value after pipe up and down to -52 and voila! you go through pipes :D

    Wednesday, February 12, 2014 at 8:31 am | Permalink
  4. Greg wrote:

    I would like to return the score.dat file to its original state. I had modified it and now would like it to go back to normal. 0e00 0000 4f00 0000 gives me high number value. What was the actual code in the original score.dat file in flappy bird? Thanks

    Thursday, February 13, 2014 at 10:57 am | Permalink
  5. Mr Speaker wrote:

    Just restore the file you backed up before you randomly overwrote things on your mobile filesystem based on weird blog posts by random nut-bags on the internet.

    Or, 0000 0000 0000 0000. Either way.

    Thursday, February 13, 2014 at 7:00 pm | Permalink

Post a Comment

Captcha! Please type 'radical' here: *
How did you find this thingo? *