Exemples de scripts pour la détection de type de fichier personnalisé
Voici plusieurs solutions de script d'exemple qui détectent des types de fichier personnalisés. Ces exemples peuvent être utilisés comme référence pour créer vos propres scripts personnalisés et pour détecter le type de fichier personnalisé indiqué.
L'exemple de script suivant détecte le type de fichier Microsoft Word :
$Int1 = getHexStringValue('D0CF'); $Int2 = getBinaryValueAt($data, 0x0, 2); assertTrue($Int1 == $Int2); $Int3 = getHexStringValue('ECA5'); $Int4 = getBinaryValueAt($data, 0x200, 2); assertTrue($Int3 == $Int4);
L'exemple de script suivant détecte le type de fichier CDD :
$Int1 = getBinaryValueAt($data, 0x0, 4); $Int2 = getBinaryValueAt($data, 0x8, 4); assertTrue($Int1 == $Int2); $Int3 = getBinaryValueAt($data, 0x0, 2); $Int4 = getBinaryValueAt($data, 0x2, 2); assertTrue($Int3 != $Int4); $Last = getBinaryValueAt($data, 0x27, 1); $RecSep = getHexStringValue('1e'); assertTrue($Last == $RecSep);
L'exemple de script suivant détecte le type de fichier CATIA :
$Int1 = ascii('V'); $Int2 = getBinaryValueAt($data, 0x0, 1); assertTrue($Int1 == $Int2); $Int3 = ascii('CFV'); $Int4 = getBinaryValueAt($data, 0x3, 3); assertTrue($Int3 == $Int4);
L'exemple de script suivant détecte le type de fichier EPUB :
$slash=getHexStringValue('2f'); $epub1=ascii('epub'); $epub2=ascii('zip'); $slash1=getBinaryValueAt($data, 0xb, 1); assertTrue($slash == $slash1); $word1=getBinaryValueAt($data, 0xc, 4); assertTrue($word1 == $epub1); $word2=getBinaryValueAt($data, 0x11, 3); assertTrue($word2 == $epub2);
Les fichiers EPUB sont au format de livre ouvert (XML) encapsulé dans un format de fichier ZIP. Vous ne pouvez pas tester ce script en utilisant l'utilitaire d'analyseur de type de fichier car le script détecte la chaîne "application/epub+zip" contenue dans le fichier manifeste (nommé "mimetype"). L'utilitaire ne peut pas ouvrir le ZIP pour lire le manifeste. Cependant, le moteur de détection peut ouvrir le fichier ZIP et lire le manifeste. Vous pouvez mettre en œuvre ce script dans une instance de la règle de détection de signature du type de fichier personnalisé et détecter des fichiers EPUB.
L'exemple de script suivant détecte le type de fichier Amazon Kindle :
$book=ascii('BOOK'); $mobi=ascii('MOBI'); $word1=getBinaryValueAt($data, 0x3c, 4); $word2=getBinaryValueAt($data, 0x40, 4); assertTrue($book == $word1); assertTrue($mobi == $word2); $null=getBinaryValueAt($data, 0x3b, 1); assertTrue($null == 0); $nullx=getBinaryValueAt($data, 0x44, 1); assertTrue($nullx == 0);
L'exemple de script suivant détecte le type de fichier Oracle IRM qui est utilisé pour la gestion des droits numériques (DRM) :
$soft=ascii('Soft'); $seal=ascii('SEAL'); $word1=getBinaryValueAt($data, 0x0, 4); $word2=getBinaryValueAt($data, 0x4, 4); assertTrue($soft == $word1); assertTrue($seal == $word2);
En outre, les deux didacticiels suivants offrent des exemples supplémentaires du langage de script :
- Fichiers de classe Java
- Fichiers ZIP chiffrés par mot de passe