Sur le net, ce sont surtout le trailer et le jeu associé qui font parler d'eux; le jeu concours qui va avec alimente bien la rumeur et les joueurs y vont de bon coeur pour gagner le PC portable, l'appareil photo, la nintendo DS ou le rasoir pour les derniers du top 10. Gaëtan et Juliette vont même tenir le haut du classement pendant quelques temps.

Cheat for kisses: quand le concours dérape

Là, on se rend assez vite compte que des scores bizarrement élevés s'enregistrent dans le classement. Peut être un bug dans l'enregistrement des scores, ou tout simplement une moins bonne technique de combat dans le jeu... Les doutes se confirment lorsqu'on voit des joueurs se doubler dans le top 10 toute la journée, très facilement.

L'enquête commence chez RollsRox, et nous n'avons pas mis longtemps à trouver une technique imparable pour augmenter son score. Pas besoin de jouer, il suffit juste de trafiquer l'URL d'enregistrement de score pour enregistrer le score que l'on veut.

Pendant ce temps, le concours s'emballe et des groupes de joueurs occupent à tour de rôle le top 3 avec des scores de moins en moins crédible! Les organisateurs réagissent un peu trop tard; d'abord une partie du site est inaccessible, puis l'enregistrement de scores est suspendu pour tous les joueurs. Trop tard.

Le top des arnaqueurs

Même s'il était impossible d'enregistrer un score "à la régulière" (quelques forums en parlent), le top 10 continuait de bouger en laissant les vrais joueurs loin derrière. D'ailleurs, il faudra m'expliquer comment l'animateur "Kash" de chez Europe 2 à réussi à planter un 47213 dans les scores...
Voilà en tout cas le top 10 des joueurs à la fin du concours lundi 8/10 00h00:
Fight for kisses - Top 10 final

Pour preuve de ma bonne (mauvaise) foi, je tiens à préciser que je ne suis pas dans le top 3; encore mieux, je vais expliquer étape par étape comment les autres joueurs on sûrement triché...

Le manuel du petit tricheur étape par étape

1. Générer un score valide

Il suffit de jouer une seule fois et de faire un score, même naze. Quand le jeu ouvre le navigateur internet pour enregistrer le score sur le site, il suffit de copier dans un coin les caractères encodés dans l'URL.

http://www.ffk-wilkinson.com?%1a%1b%1c(...)%31%32%XX%XX%XX%XX%XX

Ces caractères peuvent même se retrouver dans la source de cette page (clic droit -» montrer la source):

flash.addVariable( 'gameData', '1a1b1c1d1e1f212223242526272829303132XXXXXXXXXX' );

Les X représentent la portion intéressante.

2. Créer un nouveau score

Facile, on réutilise l'URL de l'étape d'avant et on modifie la portion avec les X. En augmentant la valeur à certaines positions, on valide un score plus élevé. C'est tout!

3. Au secours, les scores sont bloqués!

Quand plus aucun joueur "honnête" ne pouvait enregistrer de score, les tricheurs le pouvaient encore. Le faux blocage des scores mis en place quelques jours avant la fin du concours n'était pas très efficace.

Il suffit de comparer le classement du dimanche après-midi (voir juste après) au classement final pour voir que les choses ont bien bougé.
Fight for kisses - Top 10 dernier jour

Donc pas de souci, c'est seulement l'appel à l'API d'enregistrement des scores qui est bloqué. Il suffit de faire cet appel à la main pour enregistrer son nouveau score. On continue avec la même technique, en modifiant le paramètre "gameData" à volonté avec cette URL:

http://www.ffk-wilkinson.com/xt_record_score.php?gameData=1a(..)32XXXXXXXXXX&login=mon%40email%2Ecom&passwd=triche

4. Les petits outils du tricheur

Pour améliorer sa technique de triche, on peut directement utiliser les APIs du site web, pas besoin d'être sous Windows ni d'avoir Flash dans son navigateur.

Pour voir la liste de ses scores

http://www.ffk-wilkinson.com/xt_account_scores.php?login=mon%40email%2Ecom&passwd=triche

Pour voir le top 10 en direct

http://www.ffk-wilkinson.com/xt_high_scores.php


La parade anti-tricheurs

Pour empêcher les tricheurs de sévir, pas besoin d'être un as de la sécurité ou un super cryptographe. Il suffisait juste d'ajouter un code de vérification qui rend difficile la génération de scores à volonté. On utilise une fonction de hachage et ça marche.

gameData=1a1b1c1d1e1f212223242526272829303132XXXXXXXXXX{code de vérification}
avec
code de vérification = FonctionDeHachage(score + secret)


Tous les espoirs ne sont pas perdus

Les organisateurs pourraient encore distinguer les tricheurs des vrais joueurs pour nettoyer le top 10 et rendre le concours un peu plus juste.
J'ai quelques idées là-dessus mais je doute que ça les intéresse: pourquoi s'embêter pour les 1000 euros de lots à distribuer alors que la campagne a coûté beaucoup plus cher?
De mon côté, je me suis un peu dégoûté des advergames...