goto_top


Bmpalyser - analyseur de fichiers BMP


Bmpalyser est un petit programme en C qui traite les fichiers au format Windows Bitmap et vérifie la cohérence de la structure du fichier et la présence éventuelle d'informations dans des parties légitimes ou pas du fichier. Il ne s'agit pas ici d'analyser les données image contenues dans le fichier (pour cela regardez plutôt du côté de lsbpipe), mais de vérifier qu'il n'existe pas d'informations masquées dans des parties inutilisées ou illégitimes du fichier rescencées dans l'analyse du format BMP.

Bmpalyser (v0.1.1) affiche les informations contenues dans le header et fournit une analyse des points suivants:
- Vérification du "magic number" 0x42 0x4d correspondant à la marque 'BM' de début d'un fichier BMP Windows. D'autres marqueurs existent pour d'autres sous-formats qui ne sont pas reconnus par le programme.
- Vérification de taille du header. En principe 0x28 pour un fichier BMP Windows.
- Affichage du nombre de plans si différent de 1.
- Affichage de la méthode de compression le cas échéant.
- Affichage du nombre de couleurs de la palette si différent de 16 ou 256.
- sauvegarde de la palette dans un fichier séparé.
- sauvegarde du header dans un fichier séparé.
- vérification de la concordance entre la fin du header et le début des données de l'image, et affichage/sauvegarde séparée des éventuelles infos surnuméraires.
- vérification des octets non utilisés de la palette, affichage et sauvegarde séparée en cas de valeurs non nulles.
- sauvegarde des données de l'image dans un fichier séparé.
- vérification de présence d'infos supplémentaires après la fin des données image, et affichage/sauvegarde séparée des éventuelles infos surnuméraires.
- vérification des valeurs des éventuels octets de padding, affichage et sauvegarde séparée en cas de valeurs non nulles.
- vérification de la taille de l'image qui doit correspondre (en absence de compression) au produit de la largeur par la hauteur par le nombre d'octets de profondeur de l'image, à quoi s'ajoute éventuellement les octets de padding de chaque ligne lorsqu'ils sont requis.

UTILISATION:
Un argument obligatoire est requis, le nom du fichier à traiter.
Un seul argument facultatif est disponible '--dissect', pour le cas ou l'on souhaite disposer de fichiers séparés pour le header et les données de l'image.
Dans tous les cas, un fichier est créé pour chaque bloc de données surnuméraires ou possiblement "chargées" repéré par le programme.

CODE SOURCE:
bmpalyser_0.1.2d.c

LICENCE:
WTFPL version 2. See source code for more details