Archive

Posts Tagged ‘developpement’

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 ,

Wordpress 2.8 prévu pour le 10 juin

juin 9th, 2009

Si tout va bien la version 2.8 de Wordpress devrait être disponible le 10 juin 2009 (soit demain ;) ).

C’est en tout cas ce qu’annonce le site de l’association Wordpresse francophone.

Au niveau des nouveautés, on retrouve :

  • un nouveau look pour l’interface d’administration
  • le dashboard devient personnalisable
  • installation des thèmes simplifiés via un module de recherche et d’installation des thèmes depuis l’interface d’administration
  • la possibilité de supprimer un thème depuis l’interface d’administration
  • un nouvel éditeur de fichiers (pour modifier le code des templates par exemple) basé sur CodePress
  • documentation des API accessible directement depuis l’interface d’administration
  • et bien d’autres ….

En conclusion cette mise à jour de Wordpress s’annonce prometteuse et j’ai hate de pouvoir opérer la mise a jour de ma plateforme. En attendant demain, vous pouvez toujours tester la RC1 de Wordpress 2.8 en la téléchargeant sur le site officiel.

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

General, developpement , , ,

Google met à disposition des développeurs une API Google Analytics

avril 23rd, 2009

Depuis le 21 Avril 2009, Google a mis à notre disposition une API Google Analytics (Cf. post sur le blog de google).

Cette API permet d’interroger le service Google Analytics afin de pouvoir extraire les données de consultations qui y sont stockées. Celle-ci est encore en version beta mais c’est une excellente nouvelle car ce type de fonctionnalité était attendue depuis très longtemps.

Google met à disposition 3 modes d’accès différents pour s’interfacer avec le service Analytics :

  • en requête HTTP
  • en JAVA
  • en Javascript

requête HTTP

C’est la méthode de base pour interroger le service Analytics. On accède aux données en interrogeant des urls fournies par google. Que ce soit via les API Java ou Javascript la méthode d’accès aux données reste la même : des appels en HTTP vers les urls google. Google fourni en réponse des appels un flux XML contenant les données qui correspondent à la requête (nombre de visiteurs sur un période, nombre de pages vues, ….).

C’est ce protocole qu’il faudra employer pour s’interfacer avec le service Analytics pour tout autre langage que Java et Javascript (ie: PHP, Python, …).

Vous trouverez plus d’informations à l’adresse : http://code.google.com/intl/fr/apis/analytics/docs/gdata/1.0/gdataProtocol.html

API Java

Google met à disposition des développeurs Java un ensemble de classes masquant la “tuyauterie” d’appel ainsi que le traitement du flux XML en retour.

Vous trouverez plus d’informations à l’adresse : http://code.google.com/intl/fr/apis/analytics/docs/gdata/1.0/gdataJava.html

API javascript

Comme pour le langage Java, Google met à disposition des développeurs Javascript une bibliothèque de fonctions  masquant la “tuyauterie” d’appel ainsi que le traitement du flux XML en retour.

Vous trouverez plus d’informations à l’adresse : http://code.google.com/intl/fr/apis/analytics/docs/gdata/1.0/gdataJavascript.html

Il faut noter que pour toutes les méthodes d’accès, il faut respecter les pré-requis suivants:

  • disposer d’un compte Google Analytics,
  • utiliser l’API d’authentification Google avant de pouvoir effectuer une requête (documentation sur l’api d’authentification ici)
  • Respecter la règle de quota mise en place par google : pas plus de 10 000 requêtes par 24h et moins de 100 requêtes toutes les 10 secondes. Au delà, vous le service Analytics retourne une erreur HTTP 503 (Service Unavailable)

Je vous reparle très rapidement de cette API dès que j’aurais eu le temps de jouer un peu avec ;)

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

developpement ,

Les 25 erreurs de développement les plus dangereuses

février 10th, 2009

Des dixaines d’experts informatiques se sont regroupés le 12 janvier 2009 à Washington DC afin d’établir la liste des 25 erreurs de développement à éviter absolument.

Cette liste a été rédigée fort du constat qu’en 2008, avec seulement 2 des 25 erreurs listées, plus de 1,5 millions de sites internet dans le monde étaient vulnérables à du piratage et des failles de sécurité.

Tous les plus grands acteurs de l’informatique (Symanctec, Microsoft, la division cybercriminalité de la NSA, …) ont participé à la rédaction de cette liste dans le but de sensibiliser tous les développeurs à sécuriser leurs codes.

L’objectif de cette liste est multiple :

  • permettre à tous les développeurs d’écrire du code sécurisé et ne contenant pas une des 25 erreurs,
  • permettre aux développeurs d’identifier et corriger ces erreurs dans les applicatifs existants.

Vous retrouverez dans cette liste les fameuses erreurs d’injection SQL, de cross site scripting, … que l’ont rencontre malheureusement encore trop souvent ainsi que de nombreuses autres.

Cette liste est très intéressante et utile et j’invite tous les developpeurs à la lire et la relire à l’adresse suivante http://www.sans.org/top25errors/ afin de rendre nos codes encore plus sûrs.

VN:F [1.0.8_357]
Rating: 5.0/5 (1 vote cast)

developpement ,