Los cuatro bytes deletrean %PDF. La versión de PDF viene justo después, por ejemplo %PDF-1.7.
¿Qué es un número mágico?
El número mágico es la secuencia corta y fija de bytes al principio de cada archivo. Identifica el formato antes de leer ninguna extensión. Esta página cubre cómo funcionan, qué pinta tienen las firmas más habituales y por qué una comprobación de bytes mágicos gana siempre a una comprobación por el nombre del archivo.
- Explicación en lenguaje claro
- 14 formatos cubiertos
- Los bytes nunca salen de tu navegador
Datos clave
¿Qué es?
Un número mágico es una secuencia fija de bytes (normalmente de 2 a 8 bytes) al principio de un archivo que identifica el formato.
¿Dónde vive?
Casi siempre en el desplazamiento 0 de bytes. Las imágenes de disco ISO 9660 son la excepción conocida: su firma
CD001está en el desplazamiento 32769 (sector 16).¿Extensión o bytes?
Ganan los bytes. Renombrar
report.execomoreport.pdfcambia la etiqueta, no el contenido. Los bytes mágicos siguen siendo4D 5A.Lo que recibes
Nuestro Comprobador de tipo de archivo da uno de cuatro veredictos: MATCH, MISMATCH, AMBIGUOUS o UNKNOWN. Cada uno es una respuesta determinista sobre la identidad de formato, no sobre la seguridad.
Privacidad
El flujo gratuito de un solo archivo se ejecuta entero en tu navegador. Los bytes nunca salen de tu dispositivo.
Alcance en cuanto a seguridad
Una comprobación de bytes mágicos identifica el formato, no el malware. Úsala como primera señal, no como veredicto de virus.
Un número mágico (también llamado firma de bytes mágicos o firma de archivo) es una secuencia corta y fija de bytes escrita justo al principio de un archivo que identifica su verdadero formato. El sistema operativo lo usa antes que cualquier extensión. La extensión es solo una pista; el número mágico es la verdad.
Referencia de firmas de bytes mágicos
14 firmas muy usadas tomadas de las especificaciones de los formatos. Los bytes en hex están en mayúsculas y separados por espacios. Las previsualizaciones ASCII sustituyen los bytes no imprimibles por un punto.
PDF
- Bytes mágicos (hex):
25 50 44 46- ASCII:
%PDF- Extensiones:
- Tipo MIME:
application/pdf- Desplazamiento:
- byte 0
PNG
- Bytes mágicos (hex):
89 50 4E 47 0D 0A 1A 0A- ASCII:
.PNG....- Extensiones:
- .png
- Tipo MIME:
image/png- Desplazamiento:
- byte 0
JPEG
- Bytes mágicos (hex):
FF D8 FF- ASCII:
...- Extensiones:
- .jpg, .jpeg
- Tipo MIME:
image/jpeg- Desplazamiento:
- byte 0
GIF
- Bytes mágicos (hex):
47 49 46 38 39 61- ASCII:
GIF89a- Extensiones:
- .gif
- Tipo MIME:
image/gif- Desplazamiento:
- byte 0
BMP
- Bytes mágicos (hex):
42 4D- ASCII:
BM- Extensiones:
- .bmp
- Tipo MIME:
image/bmp- Desplazamiento:
- byte 0
ZIP
- Bytes mágicos (hex):
50 4B 03 04- ASCII:
PK..- Extensiones:
- .zip
- Tipo MIME:
application/zip- Desplazamiento:
- byte 0
RAR (v5)
- Bytes mágicos (hex):
52 61 72 21 1A 07 01 00- ASCII:
Rar!....- Extensiones:
- .rar
- Tipo MIME:
application/vnd.rar- Desplazamiento:
- byte 0
7-Zip
- Bytes mágicos (hex):
37 7A BC AF 27 1C- ASCII:
7z....- Extensiones:
- .7z
- Tipo MIME:
application/x-7z-compressed- Desplazamiento:
- byte 0
DOCX (Office Open XML)
- Bytes mágicos (hex):
50 4B 03 04- ASCII:
PK..- Extensiones:
- .docx
- Tipo MIME:
application/vnd.openxmlformats-officedocument.wordprocessingml.document- Desplazamiento:
- byte 0
XLSX (Office Open XML)
- Bytes mágicos (hex):
50 4B 03 04- ASCII:
PK..- Extensiones:
- .xlsx
- Tipo MIME:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet- Desplazamiento:
- byte 0
APK (Android package)
- Bytes mágicos (hex):
50 4B 03 04- ASCII:
PK..- Extensiones:
- .apk
- Tipo MIME:
application/vnd.android.package-archive- Desplazamiento:
- byte 0
MP4 (ISO BMFF)
- Bytes mágicos (hex):
00 00 00 20 66 74 79 70- ASCII:
....ftyp- Extensiones:
- .mp4, .m4v
- Tipo MIME:
video/mp4- Desplazamiento:
- byte 0
Windows PE / EXE
- Bytes mágicos (hex):
4D 5A- ASCII:
MZ- Extensiones:
- .exe, .dll, .sys
- Tipo MIME:
application/vnd.microsoft.portable-executable- Desplazamiento:
- byte 0
ISO 9660
- Bytes mágicos (hex):
43 44 30 30 31- ASCII:
CD001- Extensiones:
- .iso
- Tipo MIME:
application/x-iso9660-image- Desplazamiento:
- byte (sector 16)
PDF
PNG
Ocho bytes incluyendo los marcadores de fin de línea de PNG (
0D 0A 1A 0A), para que se puedan detectar errores de transmisión.JPEG
Marcador de inicio de imagen. El cuarto byte distingue JFIF (
E0) de EXIF (E1).GIF
GIF89a es la variante moderna. GIF87a (
47 49 46 38 37 61) es la forma antigua y también es válida.BMP
Dos bytes. Fácil de falsificar; combínalo con la cabecera de tamaño de archivo en el desplazamiento 2 para distinguirlo.
ZIP
Cabecera de archivo local. Los archivos comprimidos vacíos usan
50 4B 05 06(fin de directorio central) en su lugar.RAR (v5)
Firma de RAR 5. Los archivos RAR 1.5 a 4.x más antiguos usan una firma de 7 bytes terminada en
00.7-Zip
Seis bytes que deletrean
7zseguidos de tres bytes mágicos.DOCX (Office Open XML)
DOCX es un contenedor ZIP. La firma por sí sola no puede distinguir un documento de Word de un ZIP genérico. Mira el
[Content_Types].xmlinterno.XLSX (Office Open XML)
La misma advertencia que con DOCX. Inspecciona el manifiesto OOXML para confirmar la variante de hoja de cálculo.
APK (Android package)
APK es un contenedor ZIP con un manifiesto de Android dentro. La firma ZIP por sí sola no es prueba suficiente.
MP4 (ISO BMFF)
La caja
ftypen el desplazamiento 4 lleva el identificador de marca. Marcas habituales:isom,mp42,iso5.Windows PE / EXE
Dos bytes (Mark Zbikowski). El desplazamiento de la cabecera PE se lee desde el byte 0x3C; el verdadero número mágico
PE\0\0está allí.ISO 9660
ISO 9660 coloca el descriptor de volumen en el sector 16, así que la firma vive en el byte 32769 (16 * 2048 + 1).
Cómo funciona una comprobación de bytes mágicos
- 1
Lee los primeros bytes
Abre el archivo como un flujo binario y lee los primeros 8 a 16 bytes. Es suficiente para reconocer cada firma de la tabla de arriba.
- 2
Compáralos con firmas conocidas
Compara los bytes con una base de datos de formatos conocidos. Varios formatos pueden compartir un prefijo (todo documento de Office es un ZIP), así que la comprobación devuelve la coincidencia más específica.
- 3
Contrástalos con la extensión del archivo
Si el formato detectado no coincide con lo que dice la extensión, el veredicto es MISMATCH. Si encajan varios formatos, AMBIGUOUS. Si no encaja nada, UNKNOWN.
¿Por qué importa esto?
Renombrar un archivo de invoice.exe a invoice.pdf no cambia sus bytes. Los primeros dos bytes siguen siendo 4D 5A. La comprobación de número mágico lo detecta al instante. Útil cuando un adjunto parece legítimo pero le cambiaron la extensión antes de enviarlo.
Las comprobaciones de bytes mágicos también detectan lo contrario: un archivo sin ninguna extensión pero con bytes válidos de PNG sigue siendo un PNG y tu visor de imágenes puede abrirlo. La identidad de formato vive en los bytes, no en el nombre del archivo.
Glosario
Análisis a fondo por formato
Cada página enfocada cubre un único formato: cómo reconocerlo, patrones de desajuste habituales y una comprobación con un solo clic. Suelta tu archivo una vez en cualquiera de ellas y el veredicto es el mismo.
- .pdfPDF
Portable Document Format file
Magic bytes
25 50 44 46¿Es esto realmente un PDF? - .exeEXE
Windows executable
Magic bytes
4D 5A¿Es esto realmente un EXE? - .zipZIP
compressed archive
Magic bytes
50 4B 03 04¿Es esto realmente un ZIP? - .docxDOCX
Microsoft Word document
Magic bytes
50 4B 03 04¿Es esto realmente un DOCX? - .xlsxXLSX
Microsoft Excel spreadsheet
Magic bytes
50 4B 03 04¿Es esto realmente un XLSX? - .pngPNG
Portable Network Graphics image
Magic bytes
89 50 4E 47 0D 0A 1A 0A¿Es esto realmente un PNG? - .jpgJPG
JPEG photograph
Magic bytes
FF D8 FF¿Es esto realmente un JPG? - .mp4MP4
MPEG-4 video
Magic bytes
00 00 00 20 66 74 79 70¿Es esto realmente un MP4? - .apkAPK
Android package
Magic bytes
50 4B 03 04¿Es esto realmente un APK? - .isoISO
optical disc image
Magic bytes
43 44 30 30 31¿Es esto realmente un ISO?
Preguntas frecuentes
Pruébalo con tu propio archivo
Suelta cualquier archivo. La comprobación se ejecuta localmente y devuelve un veredicto en menos de un segundo. Los bytes nunca salen de tu navegador.
Abrir el Comprobador de tipo de archivoLecturas relacionadas
Pilar
Extensión de archivo vs tipo de archivo
Una extensión de archivo es solo una etiqueta. El tipo de archivo es lo que dicen los bytes en realidad. Así divergen y así se distinguen.
Leer →Pilar
¿Mi archivo es seguro?
Una comprobación de bytes mágicos identifica el formato del archivo. No puede decirte si el archivo es malicioso. Esto es lo que sí cubre, y dónde sigues necesitando un antimalware de verdad.
Leer →Herramienta
Comprobador de tipo de archivo
Suelta cualquier archivo. Devuelve uno de cuatro veredictos en menos de un segundo. Los bytes nunca salen de tu navegador en el flujo gratuito.
Pruébala →