Een maand terug kwam Het Laatste Nieuws af met het Belgisch kampioenschap klikken. Het kwam er op neer om zo vlug mogelijk te klikken.
We nemen even een kijkje achter de schermen van het spel. Het spel is geschreven in Flash/Actionscript. Deze zorgt het grafische gedeelte. Flash draait in de browser, dus de gebruiker is niet afhankelijk van de snelheid van de server. Hij is eerder afhankelijk van de snelheid van z’n eigen pc. Pas op het einde van het spel wordt dan ook de score naar de server gestuurd.
Het grappige aan de implementatie van dit spel, is dat ze de data via een standaard SOAP webservice doorsturen. Met een eenvoudige sniffer als Firebug, kan de SOAP-url teruggevonden worden:
http://klikken.hln.be/klikkenservice.asmx
We zien meteen de methode AddScore(int ScoreValue, string HASH). Deze doet exact wat we denken dat ze doet. Ze geeft de score door. Uiteraard moet er eerst ingelogd worden, dit kan met de methode LoginUser(string Username, string Password). Dit geeft een object van het type UserInfo terug en deze kan dan gebruikt worden om de methode AddScore() op te roepen. De enige beveiliging die voorzien is de de HASH-waarde bij het toevoegen van de score. Hiervoor moeten we in de broncode van het Flash-spel duiken, met een swf-decompiler zien we hetvolgende:
De hash-waarde bestaat dus uit een concatenatie van de UserID, de score en de GUID.
De score kennen we. De UserID en de GUID zijn twee elementen die terug te vinden zijn in het UserInfo-object.
Het is dus een kwestie van een score te kiezen, in te loggen met LoginUser(), de hash te berekenen en de score naar de server te sturen met AddScore(). Verder zijn er geen beveiligingsmaatregelen zoals tijdscontrole, browsercontrole of dergelijke voorzien!
Andere methodes zoals GetLiveScores() kunnen gebruikt worden om een schatting te krijgen van het aantal spelers die per dag meegedaan hebben met het spel (= de schiftingsvraag die HLN vroeg).
Oja, SOAP webservices kan men heel eenvoudig toevoegen via .NET.. Een automatisatietool schrijven is dus een kwestie van minuten.
Welke template is gebruikt?
Ik vond crockysam.wordpress.com via Google. Jullie site is Mooi ontworpen! Ik zoek wil ook zo een template.
Tatjana
Dit is gewoon het “INove by mg12” theme van wordpress zelf