Ejemplos de scripts para la detección de tipos de archivos personalizados
Se detallan aquí varias soluciones de script de ejemplo que detectan tipos de archivos personalizados. Estos ejemplos se pueden usar como referencia para escribir sus propios scripts personalizados y para detectar el tipo de archivo personalizado indicado.
El siguiente ejemplo de script detecta el tipo de archivo Microsoft Word:
$Int1 = getHexStringValue('D0CF'); $Int2 = getBinaryValueAt($data, 0x0, 2); assertTrue($Int1 == $Int2); $Int3 = getHexStringValue('ECA5'); $Int4 = getBinaryValueAt($data, 0x200, 2); assertTrue($Int3 == $Int4);
El siguiente ejemplo de script detecta el tipo de archivo 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);
El siguiente ejemplo de script detecta el tipo de archivo CATIA:
$Int1 = ascii('V'); $Int2 = getBinaryValueAt($data, 0x0, 1); assertTrue($Int1 == $Int2); $Int3 = ascii('CFV'); $Int4 = getBinaryValueAt($data, 0x3, 3); assertTrue($Int3 == $Int4);
El siguiente ejemplo de script detecta el tipo de archivo 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);
Los archivos EPUB están en el formato de libro abierto (XML) encapsulado en un formato de archivo ZIP. No es posible probar este script con la utilidad Analizador de tipo de archivo porque el script detecta la cadena “application/epub+zip” que contiene el archivo de manifiesto (denominado “mimetype”). La utilidad no puede abrir el ZIP para leer el manifiesto. Sin embargo, el motor de detección puede abrir el archivo ZIP y leer el manifiesto. Es posible implementar este script en una sesión de regla de detección Firma de tipo de archivo predeterminado y detectar los archivos EPUB.
El ejemplo siguiente de script detecta el tipo de archivo 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);
El ejemplo siguiente de script detecta el tipo de archivo Oracle IRM, que se usa para Administración de derechos digitales (DRM):
$soft=ascii('Soft'); $seal=ascii('SEAL'); $word1=getBinaryValueAt($data, 0x0, 4); $word2=getBinaryValueAt($data, 0x4, 4); assertTrue($soft == $word1); assertTrue($seal == $word2);
Además, los dos tutoriales siguientes ofrecen ejemplos adicionales de lenguaje de programación de scripts:
- archivos de clase de Java
- Archivos ZIP cifrados mediante contraseña