Pages

Friday, 10 January 2014

Flash games security, or so called 'cheating', Part I

If you have ever been wondering how all these amazing score results in flash games are achieved, here you will find it out. I'm going to write set of articles about flash games security, this is part I and we will talk about cheating possibility during communication: client side - server.

Most of simple flash games are runned only on 'client side' and they have no communication with server until it wants to send your score to best results list. This makes it simply to cheat by changing values during that communication.

I'm going to show it step by step, we will use Tamper Data add-on for firefox which simply allows us to modify POST parameters in "real time". Of course we can use tools like Burp Suite, but for non advanced users, for this task, it's simpler to use add-on like Tamper Data.

I also set up testing environment with MyBB forum and flash games plugin 'GamesSection', I'm going to show it on pacman game, which is included by default with plugin, but it works with all the games that don't have server side control, during game.

Before start the game we have to open Tamper Data (Tools -> Tamper Data) and we got window pop up:

Now we can click 'Start Tamper' and start playing, its advised to close other websites, otherwise we will get many pop ups, with every tab page requests.

So we simply play game, until our lives finish:

When we lose, website will try to save our points for the ranking, so Tamper Data will pop up:

Of course we click Tamper, and we can uncheck continue box. Request details will come:

Now in Post_Data, we have to find where scores are included, we can can do it by looking manually, or search with ctr+f for value of points we had at the end (70 in my example). It appears here in 3 places, but only last value 'gscore' is sent to ranking:

we can modify it however we want:

after all, click 'ok', it will ask us to change 'Content-Length', of course click 'ok'

if score was not additionaly checked by server, it will appear in ranking:

This method works with most of simple games with ranking and all the games in forums plugins. In next part I will show how to change values during game, by editing memory with CheatEngine, which works also with some facebook games and for example 'Unicorn Robot Attack' game.

Most of simple flash games are runned only on 'client side' and they have no communication with server until it wants to send your score to best results list. This makes it simply to cheat by changing values during that communication. juegosmon