Journal Fusillez vos applications (Fusil le fuzzer)

Posté par (page perso) .
0
28
nov.
2007
Fusil est un framework de fuzzing écrit en Python et distribué sous licence GNU GPLv2. Pour ceux qui ne connaissent pas la technique du fuzzing, c'est une façon simple simple, rapide et efficace de trouver des bugs dans des logiciels. Certains sont mineurs (dénis de service), d'autres bugs peuvent se révéler être des failles de sécurité (prise de contrôle du flux d'exécution).

Fusil permet d'écrire facilement des « projects de fuzzing » avec un ensemble de fonctions et la puissance (...)

Publication du projet Hachoir en version 1.0

Posté par (page perso) . Modéré par Nÿco.
Tags :
0
13
juil.
2007
Python
Après un an et demi de développement, le projet Hachoir a abouti à une version 1.0 grâce à l'effort commun d'une trentaine de contributeurs. Ce projet est constitué d'une base de connaissance des 70 formats de fichiers les plus courants et d'une suite d'outils exploitant ces informations.

Hachoir est tolérant aux erreurs, ce qui permet de traiter des fichiers corrompus et/ou tronqués ; il est rapide parce qu'il ne lit que les informations nécessaires. Il est donc possible d'identifier le codec correspondant à un fichier vidéo dès que les premiers kilo-octets ont été téléchargés, ou d'accéder aux données stockées dans un fichier plus gros que la mémoire. Un cas d'utilisation est l'extraction des fichiers d'une archive (gzip, bz2, etc.) tronquée quand les outils standards refusent de la traiter.

De nombreux composants sont disponibles, notamment hachoir-metadata, dédié à l'extraction des méta-données (nom de l'auteur, durée d'une musique, taux de compression d'une image, etc) et servant d'alternative au programme file pour identifier le type d'un fichier; et hachoir-subfile, dédié à la récupération de fichiers depuis une partition disque corrompue ou une image de la mémoire.

Voyagez dans le temps avec Macfly 1.0

Posté par (page perso) . Modéré par Jaimé Ragnagna.
Tags :
0
25
mai
2007
Technologie
Macfly est un projet dont le but est de modifier l'horloge d'un programme tiers sans nécessiter les droits administrateur ni avoir à modifier l'horloge système. Toute application peut être ainsi lancée dans l'environnement Macfly. Le projet est conçu autour d'un démon, deloreand, qui va synchroniser le ou les programmes décalés dans le temps par macfly.

Le projet peut servir à tester les logiciels face aux sauts de temps provoqués par l'utilisateur ou par une synchronisation via NTP sans avoir à modifier la date de la machine. En particulier, on peut tester la date « 2038-01-19 04:14:07 » qui est la dernière du format Epoch (on boucle alors en décembre 1901 ou en janvier 1970).

Étant donné qu'on peut modifier la vitesse de l'horloge, on peut s'amuser à lire des vidéos en accéléré avec VLC, ralentir les jeux pour tricher, etc. On peut également imaginer d'autres usages comme envoyer des emails dans le passé ou le futur.

Le projet a été développé pour le Centre National d'Études Spatiales (CNES) par INL.

Mesa 3D version 6.5.3

Posté par (page perso) . Modéré par j.
0
5
mai
2007
Technologie
Mesa 3D est une implémentation de la spécification OpenGL offrant un rendu logiciel d'une scène 3D. Cette bibliothèque est publiée sous licence MIT et supporte l'ensemble des systèmes d'exploitation modernes. Les pilotes de carte graphique (Linux et *BSD) utilisent Mesa pour le rendu OpenGL avec accélération matérielle.

La version 6.5.3 sortie le 27 avril dernier apporte beaucoup de nouveautés et notamment le support d'OpenGL dans ses versions 2.0 et 2.1 (sorties respectivement en Août 2004 et Août 2006). OpenGL 2.0 apporte le support des instructions programmables connues sous le nom de « shader » : l'effet de « cell shading » en est un exemple.

Autres nouveautés : prise en charge des MRT, Multiple Render Target, qui permet de modifier plusieurs tampons en une seule instruction; prise en charge des VBO, Vertex Buffer Object, qui permettent de stocker des tableaux de vertex dans la mémoire de la carte vidéo. Enfin de nombreux bugs ont été corrigés : reportez-vous au ChangeLog complet pour les détails.

Journal Nouvelle version de hachoir-metadata tolérante aux erreurs

Posté par (page perso) .
Tags : aucun
0
15
avr.
2007
Hachoir-metadata est un logiciel permettant de lire les métadonnées d'un document : auteur d'une photo, codec d'une vidéo, durée d'une musique, etc. Il supporte énormément de formats, exemples (liste loin d'être complète) : WMA, Real audio/media, AVI, FLV, WMV, MKV, OGM, 7zip, RAR, ACE, EXE, TTF, Torrent, DOC, XLS, PPT, ...
http://hachoir.org/wiki/hachoir-metadata

La nouvelle version (0.10) a été réécrite en partie pour être tolérante aux erreurs, ce qui signifie qu'en cas d'erreur le programme ne s'arrête pas mais affiche (...)

PyPy, le serpent qui se mord la queue, sort en version 0.99

Posté par (page perso) . Modéré par j.
Tags :
1
22
fév.
2007
Python
PyPy est un projet financé par l'Union Européenne qui vise à écrire un interpréteur Python en Python. Le projet est sur le point d'aboutir : il n'est plus que 3x plus lent que l'implémentation de référence (CPython) avec laquelle il est compatible à 98%.

PyPy apporte de nombreuses améliorations à Python comme les « espaces d'objet », la programmation logique, la programmation concurrente, etc. Une partie de l'interpréteur Python est écrite en RPython, sous-ensemble limité de Python, ce qui permet de le compiler pour LLVM, .NET ou encore en C.

La version 0.99 apporte un backend pour la plateforme .NET, beaucoup de travail sur le backend JavaScript (AJAX fonctionne), et les derniers modules Python qui manquaient ont été écrits : mmap, signal, bz2 et fcntl.

Encore une fois, un gros travail a été fait sur l'optimisation : limitation des appels à malloc(), inlining, accélération des dictionnaires, etc. Cette version est deux fois plus rapide que la précédente, mais l'ajout du compilateur JIT devrait encore améliorer les performances de la prochaine version.

Journal hachoir-subfile : extrait les fichiers contenu dans un autre fichier

Posté par (page perso) .
Tags : aucun
0
16
jan.
2007
La suite Hachoir a pondu un nouveau outil : hachoir-subfile. L'idée est d'extraire des fichiers (non compressés, non chiffrés et non fragmentés) contenus dans d'autres fichier. Exemples :
* disque dur (ou image d'un disque)
* exécutable windows : peut contenir un SWF, des icônes, image GIF/PNG, ou n'importe quoi d'autre
* PDF : extraire les images JPEG
* Word / PowerPoint : extraire les images et les sons (évite d'avoir à lancer l'usine à gaz nommée (...)

Faites parler vos fichiers avec hachoir-metadata

Posté par (page perso) . Modéré par Thomas Petazzoni.
Tags :
0
19
déc.
2006
Audiovisuel
Tous les jours, nous manipulons des dizaines de fichiers binaires sans vraiment se soucier de leur format ou de connaître toutes les informations qu'ils contiennent. Pourtant, ils sont souvent accompagnés de métadonnées qui renseignent sur leur origine et leur contenu : auteur, nom du logiciel, date de création, durée, taille, codec, genre, etc. Ces informations permettent une classification fine et des recherches multicritères très fines.

Hachoir-metadata, programme basé sur la bibliothèque Hachoir, permet de lire ces informations et les présente de manière synthétique. Tous les formats courants sont reconnus : image (JPEG, PNG, GIF, ICO...), vidéo (AVI, WMV, FLV, MKV...), audio (MP3, wav, Ogg, WMA...), archive (zip, gzip, bzip2, tar...).

Les informations sont triées par pertinence (ex les dimensions d'une image sont plus importantes que la méthode de compression). Pour les formats contenant plusieurs « documents », chaque document possède sa propre section (ex : les flux audio, vidéo et les informations générales sont séparés). Contrairement à certains outils où la présentation est calquée sur le format de fichier, hachoir-metadata classe des informations de manière générique (ex : le champ 'duration' est partagée pour une vidéo ou un son).

Hachoir-metadata n'est sûrement pas une révolution, il existe déjà une multitude de bibliothèques pour extraire les métadonnées. Mais, pour les formats supportés, il donne d'aussi bons résultats que ses concurrents voire parfois meilleurs. Au passage, essayez également le programme hachoir-urwid pour explorer vos fichiers en profondeur et découvrir d'autres informations passées sous silence.

Journal hachoir-metadata cherche des testeurs

Posté par (page perso) .
Tags : aucun
0
29
nov.
2006
Le programme hachoir-metadata se prépare à passer en version 1.0. Pour cela, il a besoin d'être testé sur beaucoup de fichiers pour détecter un maximum de bugs. Utilisez cette archive clé-en-main (rien à installer mise à part Python 2.4) :
http://www.haypocalc.com/tmp/hachoir-metadata-svn1335.tar.bz(...)

Décompressez l'archive, entrez dans le répertoire créer, et utilisez le script hachoir-metadata que vous y trouverez. Vous pouvez les traiter plusieurs fichiers en même temps.

Spécifications :

* Formats supportés : archive (bz2, gz, tar, zip), audio (au, cda, (...)

Journal Déshabillez Flash (du son maintenant)

Posté par (page perso) .
Tags : aucun
0
7
nov.
2006
Suite de mon journal précédent ( http://linuxfr.org/~haypo/23039.html ), j'ai continué à décortiquer le format SWF de Flash pour arriver à lire l'audio. Après avoir lu 3 ou 4 code sources et documentations différents, j'ai réussi à retrouver les entêtes complets. J'ai aussi corrigé l'extracteur d'image JPEG qui avait un petit bug.

Bon, j'suis trop fénéant pour vous préparer une archive bien propre alors voici les commandes à utiliser :
svn co svn://hachoir.org/hachoir/hachoir/trunk hachoir
svn co svn://hachoir.org/hachoir/hachoir-parser/trunk hachoir-parser
svn co svn://hachoir.org/hachoir/hachoir-strip/trunk (...)

Journal Déshabillez Flash

Posté par (page perso) .
Tags : aucun
0
5
nov.
2006
En me basant sur des projets libres de décodage de fichier Flash (ffmpeg, flashticle, swfdec, gnash), j'ai écrit des parseurs Hachoir pour les formats SWF (animation) et FLV (vidéo). Le format FLV est moyennement intéressant : on peut y voir les codecs (audio/vidéo) utilisés ou les méta-données (AMF). J'ai commencé à écrire un parseur AMF, mais ça m'intéresse pas trop en fait, et le parseur est incomplet. J'ai modifié hachoir-metadata pour qu'il supporte le format FLV.

Par contre, les fichiers (...)

Hachoir version 0.6

Posté par (page perso) . Modéré par j.
Tags :
0
29
oct.
2006
Python
Un an après la naissance du projet, Hachoir sort dans sa version 0.6. C'est une suite d'outils développés dans le langage Python ayant pour but de manipuler facilement un fichier binaire tel qu'un arbre de champs typés. Le projet a été éclaté en plusieurs composants dont les principaux sont : hachoir (c½ur du système), hachoir-parser (quarantaine de parseur des formats les plus courants), hachoir-metadata (extraction de méta-données) et hachoir-urwid (visualisation de fichier binaire).

Hachoir supporte maintenant l'édition de fichier : il est possible de modifier la valeur d'un champ, de supprimer un champ ou encore d'en insérer. hachoir-strip est un programme d'exemple exploitant cette possibilité : il va supprimer tous les champs qu'il juge inutile, c'est-à-dire les méta-données, les octets de bourrage, index pour les vidéos, etc. Il peut être utilisé pour rendre un fichier anonyme ou en réduire légèrement sa taille.

Autre amélioration notable : la possibilité d'ouvrir des fichiers corrompus et/ou tronqués. Dans la mesure du possible, le parseur va tenter de corriger l'erreur puis de continuer son travail. Cette version apporte également la possibilité d'utiliser Hachoir sur un pipe, ce qui permet de parser un flux de données au fur et à mesure (par ex. : un flux réseau).

Pour stocker le texte, Hachoir utilise maintenant uniquement Unicode, ce qui évite d'avoir à se soucier du jeu de caractères. Cette version fonctionne également sur toutes les implémentations de Python (CPython, Stackless, pypy, IronPython, Jython), même si des retouches mineures sont parfois nécessaires. Pour finir, une interface graphique basée sur wxPython est en cours de développement.

Rejouez chez vous les plus grandes batailles de la guerre du libre

Posté par (page perso) . Modéré par Pascal Terjan.
Tags : aucun
0
26
oct.
2006
Jeu
Avec Wengo, parlez à vos amis, avec Wormux, massacrez-les !

La nouvelle version de Wormux est encore plus amusante grâce à des armes toujours plus délirantes : putois, sniper, seringue, enclume, bombe anti-émeute et d'autres vous attendent. Vos tireurs d'élites, s'ils tombent, ne manqueront pas d'entraîner avec eux quelques ennemis, ce qui permet de jolies réactions en chaîne. Autres nouveautés : saut périlleux arrière, baril explosif, terrain de l'île de Pâques, refonte des menus, etc.

Dans un moment de démence, yekcim et lodesi se sont laissés aller à démembrer littéralement les avatars ! Un avatar est maintenant défini par un squelette et des animations en fonction de la position des membres. Les avatars les plus anciens tirent leur révérence, et OpenOffice, SPIP et BSD font leur apparition pour des parties encore plus endiablées.

Cette version préliminaire (0.8alpha1) de Wormux ne demande qu'à être testée en réseau. Pour y jouer, il faut saisir l'adresse IP de celui qui héberge la partie. Vous pouvez aller sur le salon IRC #wormux-fr du serveur Freenode (irc.freenode.net) pour proposer ou rejoindre une partie :-) Le jeu en solo reste, quand à lui, tout à fait jouable.

Nous avons de besoin de toi, oui toi là-bas ! Bruitage, traduction, graphisme, programmation, rapport de bug (oui on adore ça !), tests, critiques, (...) : n'hésitez pas à nous contacter, vous nous intéressez !

Journal Rejouez chez vous les plus grandes batailles de la guerre du libre

Posté par (page perso) .
Tags : aucun
0
25
oct.
2006
Avec Wengo, parlez à vos amis, avec Wormux, massacrez-les ! La nouvelle version de Wormux est encore plus amusante grâce à des armes toujours plus délirantes : putois, sniper, seringue, enclume, bombe anti-émeute et d'autres vous attendent. Vos tireurs d'élites, s'ils tombent, ne manqueront pas d'entraîner avec eux quelques ennemis, ce qui permet de jolies réactions en chaîne. Autres nouveautés : saut périlleux arrière, baril explosif, terrain de l'île de paques, refonte des menus, etc.

Dans un moment de démence, (...)

Faille de sécurité dans le pilote propriétaire Nvidia

Posté par (page perso) . Modéré par Jaimé Ragnagna.
Tags :
0
17
oct.
2006
Matériel
Le 2 décembre 2004, Nate Nielsen rapporte un plantage de Xorg lorsque Firefox affiche une très longue URL dans la barre d'adresse. Quatre mois plus tard un bug similaire est détecté dans Eclipse. Le bug concerne l'affichage de très longues lignes de texte avec le pilote propriétaire Nvidia. La solution est d'utiliser le pilote libre nv qui n'a pas ce bug.

Face à l'absence de réaction de Nvidia, un exploit exploitant ce dépassement de tampon offrant un shell en root est publié sur Rapid7. Il est possible d'exploiter la faille à distance à l'aide d'un client X distant. La faille a en fait été corrigée dans la version 9625 du pilote Linux sortie le 21 septembre 2006, mais la série 9xxx des pilotes Linux est encore en phase béta.

Cette faille relance bien sûr le débat pour ou contre les pilotes propriétaires (BLOBs). Pour le cas de Nvidia, il est difficile de trancher car refuser le pilote officiel implique de se priver d'accélération matérielle. Plutôt que de brasser l'air avec un débat sans fin, il serait plus judicieux de contribuer au projet Nouveau qui vise justement à écrire un pilote libre offrant l'accélération matérielle. D'ailleurs, l'écriture d'un pilote a été entamée il y a peu mais il est encore loin d'être utilisable.

NdM : Merci également à Pascal Terjan d'avoir proposé une dépêche sur le même sujet.
Mise à jour : la version 9626 du pilote (stable) corrige la faille.