Monday, April 15, 2013

Hacking Candy Crush In 10 Minutes


I became addicted to this Candy Crush game a few weeks ago and I was doing great, I was able to almost reach level 200 until I was stuck. I was stuck there for about two weeks. I almost uninstalled the damn game... but there was something else I could try! I had nothing to lose so I gave it a try; and guess what? I was successful n.n

I will show you how you can modify each and every level you like on Candy Crush, you can get all the time and moves you like and more! Of course this is for educational purposes only, obviously.

So here's what you'll need:

  1. A jailbroken iDevice (I used an iPod touch 4G on iOS 6.1.3, but any iDevice will do)
  2. A computer in the same wireless network as your iDevice (optional)
  3. WiFi network, of course

If your device is not already jailbroken you can refer to jailbreaknation.com

Alright, so let's get started. I will not cover the steps needed to connect to a jailbroken device as that has been covered many times by a bunch of people:


  1. Enable SSH access on your device.
  2. Access to your device over SFTP, you can use any client such as Cyberduck or WinSCP on windows.
  3. Locate the candy crush application folder and navigate to it.
  4. Access to the following directory $CandyCrush.app/res/levels/
  5. Voila! The following files will be displayed:

As you can imagine, each one of those files represents a level in the game. Each file contains the needed configuration to load a game, they are the settings of the game if you will. What settings? Well, let's take a look at one file. Let's edit episode3level7.txt, open it and you will see the contents of the file as follows:


{"gameModeName":"Classic","scoreTargets":[40000,60000,100000],"timeLimit":60,"numberOfColours":5,"randomSeed":0,"protocolVersion":"0.1","tileMap":[[112,18,18,18,18,18,18,18,112],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,2,2,2,2,2,2,2,96],[96,96,96,96,96,96,96,96,96]],"portals":[]}



There's lot of info there, but let's focus on the highlighted text. Some properties are very self-explanatory. Let's say that you want to have more time on the level... that's simple, just increase 60 to 120 in the line after timeLimit. These values represent the number of seconds you have in the level.

Are you having issues making color combinations? No problem, you can set the numberOfColours to 3 instead of 5 and as you can imagine you will have only 3 colors to match instead of 5.

So you can get and idea of what this does, here's the game level (level 27) before and after modifying the configuration file:

Before:



After:

 

There you go! 377 thousand points in 6 seconds! So that's it, this didn't take more than 10 minutes and now I was able to modify any level at will.

Enjoy!

Notes:
-After modifying a file you have to terminate the application in your device and open it again so the configuration files are re-loaded.
-There are tons of more properties that can be modified, the two shown above are just examples.
-There could be more useful information in the file system, I am guessing they also store your current level, boosters and more. I did not go that far as I quickly found what I needed.
-A computer is not really needed to edit the files, that could be done locally with an app such as iEdit. However, that's really annoying. Using a computer for edition is really easy.


1 comment:

Anonymous said...

Pal can I change it with a thing called "iTools"??