Archive

Archive for octobre, 2009

Le konami code sur jquery.com

octobre 15th, 2009

Je vous parle d’un temps que les moins de 20 ans ne peuvent pas connaitre…”. Et oui aujourd’hui, je fais appel à votre mémoire de joueur.

Souvenez vous lorsque vous maltraitiez la manette de votre console Nintende NES pour essayer d’arriver au bout de vos jeux favoris. C’était difficile voir impossible (en tout cas beaucoup plus que maintenant).

Heureusement votre voisin vous sauvait la mise en vous montrant une botte secrête qui se transmettait de joueur en joueur : le konami code.

Le konami code est un cheat code existant dans les jeux produits par Konami qui permettait d’activer des options secrètes (vie supplémentaires, personnage invincible, passage secret, …). Ce code a connu son heure de gloire dans les année 1980 avec des jeux comme Graduis (1986) ou bien encore Contrat (1988). On le retrouve aussi dans Metal Gear solid 2 sur PS2.

Pour activer le code, le joueur devait durant le jeu exécuter sur la manette la combinaison suivante :

Haut, Haut, Bas, Bas, Gauche, Droite, Gauche, Droite, B, A

De nos jour ce code est toujours “vivant” notamment sous forme d’easter eggs. Et que ne fut pas ma suprise ce matin d’apprendre que le code fonctionne sur le site de jquery.

Pour cela rendez-vous sur le site de jquery : http://jquery.com/ et appliquer le Konami code en exécutant la séquence présentée plus haut, vous aurez une belle surprise ;)

Suite à cette découverte j’ai poussé un peu mes recherche et on apprend sur la page wikipédia du konami Code que le code fonctionne aussi sur facebook et google reader.

Enfin, il existe un site http://konamicodesites.com/ qui référence tous les sites internet réagissant au code. Mais saurez-vous rentrez sur ce site ;)

VN:F [1.0.8_357]
Rating: 0.0/5 (0 votes cast)

General, Jeux vidéo

Désassembler un fichier swf grâce à FLASM

octobre 1st, 2009

Je suis en train d’aider un copain à faire évoluer son site : changement d’hébergement, utilisation de rewrite rule pour avoir des belles urls lisible, …

Tous ces changements ont abouti à un problème épineux. Pour certaines   fonctionnalités le site utilise des flashs (lecture de vidéos soumises à authentification par exemple) qui font des appels au site en URLLoader. Or comme les urls du site ont changé et que les adresses de vérifications dans les flashs ont été codées en dur (ce qui n’est pas beau du tout je vous l’accorde) il faut les modifier.  Manque de chance, nous ne disposons pas des sources des flashs pour effectuer les modifications. Heureusement il existe un outil, flasm, qui permet de désassembler les binaires flashs c’est-à-dire de générer un fichier texte contenant le langage machine de l’exécutable.

A la base cet outil a été développé pour les développeurs flash qui voulaient optimiser le bytecode généré par le compilateur pour le flash player. Personnellement j’ai plutôt tendance à faire confiance au compilateur ;)

Pour pouvoir utiliser l’outil, il vous faut premièrement télécharger le logiciel qui est disponible sous forme d’archive pour windows, mac et linux puis l’installer (par exemple dans le répertoire c:\flasm pour windows).

Ensuite pour désassembler un fichier swf, il suffit d’exécuter la commande suivante :

c:\flasm>flasm -d chemin_vers_swf/fichier.swf > chemin_vers_swf/fichier.flm

Vous obtenez en sortie un fichier avec l’extension .flm qui est lisible par un éditeur texte (dans mon cas j’utilise scite ;) ). Ce fichier contient des instructions assembleur qui représentent le langage machine exécuté par le player flash. Dans mon cas j’ai donc pu modifier les variables définissant les urls du site appelées. En effet toutes les variables apparaissent en clair dans le code assembleur. En général c’est une instruction push qui s’occupe de l’affectation des variables. Via une recherche il est très facile de retrouver ces affectations.

Une fois les modifications effectuées et sauvegardées sur le fichier flm, il reste à assembler le fichier flm pour générer un nouveau swf. Pour cela il suffit d’exécuter la commande suivante :

c:\flasm>flasm -a chemin_vers_swf/fichier.flm

Tout n’est pas rose et il y a une restriction. Pour le moment flasm ne peut désassembler que des fichiers swf actionScript 1 ou actionScript 2. Ce qui veut dire ques les flashs récents ne peuvent pas être désassemblés pour le moment. Ceci étant c’est un outil bien utile et sans celui-ci nous aurions été obligé de redévelopper l’intégralité des flashs du site.

Un grand merci à Christophe Bessis qui m’a fait découvrir cet outil.

VN:F [1.0.8_357]
Rating: 3.7/5 (3 votes cast)

developpement ,