Cheat in Candy Crush Saga: Easier than you think
by Cheater on Feb.28, 2013, under club penguin
Well the other day I took a little peek at Candy Crush Saga’s security mechanisms and I found them somewhat lacking. It is trivial to skip levels and input arbitrary scores and their servers will accept it without too much trouble.
First you need to get your session id. In Chrome you can do it by opening Facebook, right clicking on a blank bit of the page and in the Developer Tools menu clicking ‘Network’. Then open the game.
You will see a lot of different hits that your browser is making, but you want to scroll down until you find the gameInit request. Copy and paste that url in to a new tab to load it and scroll right down to the bottom. There will be a chunk of text at the bottom like “currentUser”:{“userId”:10169xxxxx. 10169xxxxx is your user id so keep that for later. In the url you also see gameInit?_session=M-RzT9CNQfjM6xxxxxxx and the part after the = is your session id. You also need this.
Behind the scenes Candy Crush Saga uses a different naming scheme for the levels. You have an episode id and a level id. Episode id seems to be after every ‘break’ in the track in game and level id is the number of levels after the break starting from 1. For example level 39 is episode 4 level 4.
So you now have the following information:
Episode id: 4
Level id: 4
Session: M-RzT9CNQfjM6xxxxxxx
Facebook id: 10169xxxxx
Score: 123456 (Make something roughly plausible up for this)
You now need to make the security checksum. They simply hash a specific string and use the first 6 hex characters. Open a online MD5 tool such as this one which has a text box and a button and it outputs a string of gibberish when you press the button.
In the text box write this, filling in the values inside the square brackets as you go:
[episodeId]:[levelId]:[score]:-1:[userId]:1361826675157:BuFu6gBFv79BH9hk
The bit on the end is their ‘top secret’ verification string. You end up with something like this:
4:4:123456:-1:10169xxxxx:1361826675157:BuFu6gBFv79BH9hk
Pop that in to the MD5 box and hit hash. Make sure there are no spaces before or after your text as that changes the outcome. You should get 72a872f0399990657b6dd5fd2012691d for this example. You are only interested in the first 6 characters so keep 72a872 and ignore the rest.
Then you create the magical submit score request and load it in your browser. Fill in the blanks then open it.
https://candycrush.king.com/api/gameEnd?arg0={“score”:[score],”seed”:1361826675157,”cs”:”[6 character hash]“,”timeLeftPercent”:-1,”episodeId”:[episodeId],”reason”:0,”levelId”:[levelId]}&_session=[sessionId]
Remember the bits in [] brackets are the sections you replace. Don’t alter the rest.
Happy cheating.


March 13th, 2013 on 2:20 am
What is the “magical submit score request” It’s the only bit I don’t get.
March 13th, 2013 on 8:16 am
It is the URL starting with https://candycrush.king.com/api/gameEnd. Fill in the blanks and it submits your fake score.
April 29th, 2013 on 3:36 am
coolio. but how did u get the secret salt (BuFu6gBFv79BH9hk) ?
April 29th, 2013 on 7:22 am
I extracted the game’s Flash source code and traced the score sending code. That revealed both the method plus the salt.
April 30th, 2013 on 2:28 am
dedicated indeed. can u share what software did u use to extract the Flash’s source code?
April 30th, 2013 on 8:41 am
There is a variety of software you can use. I used Sothink’s SWF Decompiler.
May 7th, 2013 on 3:30 am
Hello, does this still work ? I have tried without success. Should I be playing while doing it ? Or can I unlock all levels at once with this ? Thanks for the help. Cheers, Max.