De fire bytene staver %PDF. PDF-versjonen følger umiddelbart, f.eks. %PDF-1.7.
Hva er et magisk tall?
Et magisk tall er den korte faste byte-sekvensen i starten av hver fil. Det identifiserer formatet før noen filendelse blir lest. Denne siden dekker hvordan de fungerer, hvordan de vanligste signaturene ser ut, og hvorfor en magisk-byte-sjekk slår en filnavn-sjekk hver gang.
- Forklaring på vanlig norsk
- 14 formater dekket
- Byter forlater aldri nettleseren din
Nøkkelfakta
Hva er det?
Et magisk tall er en fast byte-sekvens (vanligvis 2 til 8 byter) i starten av en fil som identifiserer formatet.
Hvor finnes det?
Nesten alltid ved byte-offset 0. ISO 9660-diskbilder er det velkjente unntaket: deres
CD001-signatur sitter på offset 32769 (sektor 16).Filendelse eller byter?
Bytene vinner. Å endre navn fra
report.exetilreport.pdfendrer etiketten, ikke innholdet. De magiske bytene leser fortsatt4D 5A.Hva du får tilbake
Vår filtypesjekker rapporterer en av fire avgjørelser: MATCH, MISMATCH, AMBIGUOUS eller UNKNOWN. Hver er et deterministisk svar om formatidentitet, ikke sikkerhet.
Personvern
Den gratis enkeltfilflyten kjører helt i nettleseren din. Bytene forlater aldri enheten din.
Sikkerhetsomfang
En magisk-byte-sjekk identifiserer format, ikke malware. Bruk det som et første signal, ikke som en virusavgjørelse.
Et magisk tall (også kalt en magisk-byte-signatur eller filsignatur) er en kort, fast byte-sekvens skrevet helt i starten av en fil som identifiserer dens ekte format. Operativsystemet bruker det før noen filendelse. Filendelsen er bare et hint; det magiske tallet er sannheten.
Referanse for magisk-byte-signaturer
14 mye brukte signaturer hentet fra formatspesifikasjonene. Hex-byter er store bokstaver, mellomrom-adskilte. ASCII-forhåndsvisninger erstatter ikke-utskrivbare byter med et punkt.
PDF
- Magiske byter (hex):
25 50 44 46- ASCII:
%PDF- Filendelser:
- MIME-type:
application/pdf- Offset:
- byte 0
PNG
- Magiske byter (hex):
89 50 4E 47 0D 0A 1A 0A- ASCII:
.PNG....- Filendelser:
- .png
- MIME-type:
image/png- Offset:
- byte 0
JPEG
- Magiske byter (hex):
FF D8 FF- ASCII:
...- Filendelser:
- .jpg, .jpeg
- MIME-type:
image/jpeg- Offset:
- byte 0
GIF
- Magiske byter (hex):
47 49 46 38 39 61- ASCII:
GIF89a- Filendelser:
- .gif
- MIME-type:
image/gif- Offset:
- byte 0
BMP
- Magiske byter (hex):
42 4D- ASCII:
BM- Filendelser:
- .bmp
- MIME-type:
image/bmp- Offset:
- byte 0
ZIP
- Magiske byter (hex):
50 4B 03 04- ASCII:
PK..- Filendelser:
- .zip
- MIME-type:
application/zip- Offset:
- byte 0
RAR (v5)
- Magiske byter (hex):
52 61 72 21 1A 07 01 00- ASCII:
Rar!....- Filendelser:
- .rar
- MIME-type:
application/vnd.rar- Offset:
- byte 0
7-Zip
- Magiske byter (hex):
37 7A BC AF 27 1C- ASCII:
7z....- Filendelser:
- .7z
- MIME-type:
application/x-7z-compressed- Offset:
- byte 0
DOCX (Office Open XML)
- Magiske byter (hex):
50 4B 03 04- ASCII:
PK..- Filendelser:
- .docx
- MIME-type:
application/vnd.openxmlformats-officedocument.wordprocessingml.document- Offset:
- byte 0
XLSX (Office Open XML)
- Magiske byter (hex):
50 4B 03 04- ASCII:
PK..- Filendelser:
- .xlsx
- MIME-type:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet- Offset:
- byte 0
APK (Android package)
- Magiske byter (hex):
50 4B 03 04- ASCII:
PK..- Filendelser:
- .apk
- MIME-type:
application/vnd.android.package-archive- Offset:
- byte 0
MP4 (ISO BMFF)
- Magiske byter (hex):
00 00 00 20 66 74 79 70- ASCII:
....ftyp- Filendelser:
- .mp4, .m4v
- MIME-type:
video/mp4- Offset:
- byte 0
Windows PE / EXE
- Magiske byter (hex):
4D 5A- ASCII:
MZ- Filendelser:
- .exe, .dll, .sys
- MIME-type:
application/vnd.microsoft.portable-executable- Offset:
- byte 0
ISO 9660
- Magiske byter (hex):
43 44 30 30 31- ASCII:
CD001- Filendelser:
- .iso
- MIME-type:
application/x-iso9660-image- Offset:
- byte (sektor 16)
PDF
PNG
Åtte byter inkludert PNG-linjeskiftmarkører (
0D 0A 1A 0A) slik at overføringsfeil kan oppdages.JPEG
Start-of-Image-markør. Den fjerde byten skiller JFIF (
E0) fra EXIF (E1).GIF
GIF89a er den moderne varianten. GIF87a (
47 49 46 38 37 61) er den eldre stavemåten og er også gyldig.BMP
To byter. Lett å forfalske; kombiner med filstørrelseshodet ved offset 2 for å avklare.
ZIP
Lokal filhode. Tomme arkiver bruker
50 4B 05 06(end-of-central-directory) i stedet.RAR (v5)
RAR 5-signatur. Eldre RAR 1.5 til 4.x-filer bruker en 7-byte-signatur som slutter på
00.7-Zip
Seks byter som staver
7zetterfulgt av tre magiske byter.DOCX (Office Open XML)
DOCX er en ZIP-container. Signaturen alene kan ikke skille en Word-dokument fra en generisk ZIP. Se på den indre
[Content_Types].xml.XLSX (Office Open XML)
Samme forbehold som DOCX. Inspiser OOXML-manifestet for å bekrefte regnearkvarianten.
APK (Android package)
APK er en ZIP-container med et Android-manifest inni. ZIP-signaturen alene er ikke tilstrekkelig bevis.
MP4 (ISO BMFF)
ftyp-boksen ved offset 4 inneholder merkeidentifikatoren. Vanlige merker:isom,mp42,iso5.Windows PE / EXE
To byter (Mark Zbikowski). PE-hode-offsetet leses fra byte 0x3C; selve
PE\0\0-magien sitter der.ISO 9660
ISO 9660 plasserer volumdeskriptoren ved sektor 16, så signaturen finnes ved byte 32769 (16 * 2048 + 1).
Hvordan en magisk-byte-sjekk fungerer
- 1
Les de første bytene
Åpne filen som en binær strøm og les de første 8 til 16 bytene. Det er nok til å gjenkjenne alle signaturene i tabellen ovenfor.
- 2
Sammenlign mot kjente signaturer
Match bytene mot en database med kjente formater. Flere formater kan dele et prefiks (hvert Office-dokument er en ZIP), så sjekken returnerer det mest spesifikke matchet.
- 3
Kryssjekk med filendelsen
Hvis det oppdagede formatet ikke samsvarer med det filendelsen hevder, er avgjørelsen MISMATCH. Hvis flere formater passer, AMBIGUOUS. Hvis ingenting passer, UNKNOWN.
Hvorfor betyr dette noe?
Å endre navn på en fil fra invoice.exe til invoice.pdf endrer ikke bytene. De første to bytene leser fortsatt 4D 5A. Det magiske tall-sjekken fanger det opp umiddelbart. Nyttig når et vedlegg ser legitimt ut, men filendelsen ble endret før sending.
Magisk-byte-sjekker fanger også det motsatte: en fil uten filendelse i det hele tatt, men med gyldige PNG-byter, er fortsatt en PNG, og bildeviseren din kan åpne den. Formatidentitet lever i bytene, ikke i filnavnet.
Ordliste
Per-format dypdykk
Hver spoke er en fokusert side om ett enkelt format: hvordan gjenkjenne det, vanlige uoverensstemmelsesmønstre og en ett-klikks sjekk. Slipp filen din én gang på noen av disse, og avgjørelsen er den samme.
- .pdfPDF
Portable Document Format file
Magic bytes
25 50 44 46Er dette virkelig en PDF? - .exeEXE
Windows executable
Magic bytes
4D 5AEr dette virkelig en EXE? - .zipZIP
compressed archive
Magic bytes
50 4B 03 04Er dette virkelig en ZIP? - .docxDOCX
Microsoft Word document
Magic bytes
50 4B 03 04Er dette virkelig en DOCX? - .xlsxXLSX
Microsoft Excel spreadsheet
Magic bytes
50 4B 03 04Er dette virkelig en XLSX? - .pngPNG
Portable Network Graphics image
Magic bytes
89 50 4E 47 0D 0A 1A 0AEr dette virkelig en PNG? - .jpgJPG
JPEG photograph
Magic bytes
FF D8 FFEr dette virkelig en JPG? - .mp4MP4
MPEG-4 video
Magic bytes
00 00 00 20 66 74 79 70Er dette virkelig en MP4? - .apkAPK
Android package
Magic bytes
50 4B 03 04Er dette virkelig en APK? - .isoISO
optical disc image
Magic bytes
43 44 30 30 31Er dette virkelig en ISO?
Vanlige spørsmål
Prøv det på din egen fil
Slipp en hvilken som helst fil. Sjekken kjører lokalt og rapporterer en avgjørelse på under et sekund. Bytene forlater aldri nettleseren din.
Åpne filtypesjekkerenRelatert lesing
Pillar
Filendelse kontra filtype
En filendelse er bare en etikett. Filtypen er hva bytene faktisk sier. Slik avviker de to og slik kan du skille dem.
Les →Pillar
Er filen min trygg?
En magisk-byte-sjekk identifiserer filformatet. Den kan ikke fortelle deg om filen er ondsinnet. Her er hva den dekker, og hvor du fortsatt trenger en ekte malwareskanner.
Les →Verktøy
Filtypesjekker
Slipp en hvilken som helst fil. Gir én av fire avgjørelser på under et sekund. Byter forlater aldri nettleseren din i gratisflyten.
Prøv det →