De fyra byten stavar %PDF. PDF-version följer omedelbart, t.ex. %PDF-1.7.
Vad är ett magiskt tal?
Ett magiskt tal är den korta, fasta bytesekvensen i början av varje fil. Det identifierar formatet innan någon filändelse läses. Den här sidan tar upp hur de fungerar, hur de vanligaste signaturerna ser ut och varför en kontroll av magiska bytes alltid slår en kontroll av filnamnet.
- Förklaring på enkel svenska
- 14 format täckta
- Bytes lämnar aldrig din webbläsare
Nyckelfakta
Vad är det?
Ett magiskt tal är en fast bytesekvens (vanligtvis 2 till 8 byte) i början av en fil som identifierar formatet.
Var finns det?
Nästan alltid vid byte-position 0. ISO 9660-skivavbildningar är det välkända undantaget: deras
CD001-signatur sitter vid position 32769 (sektor 16).Ändelse eller bytes?
Bytes vinner. Att byta namn på
report.exetillreport.pdfändrar etiketten, inte innehållet. De magiska byten läser fortfarande4D 5A.Vad du får tillbaka
Vår filtypskontroll rapporterar ett av fyra utlåtanden: MATCH, MISMATCH, AMBIGUOUS eller UNKNOWN. Varje är ett deterministiskt svar om formatets identitet, inte säkerheten.
Integritet
Det kostnadsfria flödet för en fil körs helt i din webbläsare. Byten lämnar aldrig din enhet.
Säkerhetsomfattning
En kontroll av magiska bytes identifierar format, inte skadlig kod. Använd det som en första signal, inte ett virusutlåtande.
Ett magiskt tal (även kallat magic-byte-signatur eller filsignatur) är en kort, fast bytesekvens som skrivs allra först i en fil och identifierar dess verkliga format. Operativsystemet använder det före någon filändelse. Ändelsen är bara en ledtråd; det magiska talet är sanningen.
Referens för magic-byte-signaturer
14 vanliga signaturer hämtade från formatens specifikationer. Hex-byte är versala och mellanslagsseparerade. ASCII-förhandsvisningar ersätter icke-utskrivbara byte med en punkt.
PDF
- Magiska bytes (hex):
25 50 44 46- ASCII:
%PDF- Ändelser:
- MIME-typ:
application/pdf- Position:
- byte 0
PNG
- Magiska bytes (hex):
89 50 4E 47 0D 0A 1A 0A- ASCII:
.PNG....- Ändelser:
- .png
- MIME-typ:
image/png- Position:
- byte 0
JPEG
- Magiska bytes (hex):
FF D8 FF- ASCII:
...- Ändelser:
- .jpg, .jpeg
- MIME-typ:
image/jpeg- Position:
- byte 0
GIF
- Magiska bytes (hex):
47 49 46 38 39 61- ASCII:
GIF89a- Ändelser:
- .gif
- MIME-typ:
image/gif- Position:
- byte 0
BMP
- Magiska bytes (hex):
42 4D- ASCII:
BM- Ändelser:
- .bmp
- MIME-typ:
image/bmp- Position:
- byte 0
ZIP
- Magiska bytes (hex):
50 4B 03 04- ASCII:
PK..- Ändelser:
- .zip
- MIME-typ:
application/zip- Position:
- byte 0
RAR (v5)
- Magiska bytes (hex):
52 61 72 21 1A 07 01 00- ASCII:
Rar!....- Ändelser:
- .rar
- MIME-typ:
application/vnd.rar- Position:
- byte 0
7-Zip
- Magiska bytes (hex):
37 7A BC AF 27 1C- ASCII:
7z....- Ändelser:
- .7z
- MIME-typ:
application/x-7z-compressed- Position:
- byte 0
DOCX (Office Open XML)
- Magiska bytes (hex):
50 4B 03 04- ASCII:
PK..- Ändelser:
- .docx
- MIME-typ:
application/vnd.openxmlformats-officedocument.wordprocessingml.document- Position:
- byte 0
XLSX (Office Open XML)
- Magiska bytes (hex):
50 4B 03 04- ASCII:
PK..- Ändelser:
- .xlsx
- MIME-typ:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet- Position:
- byte 0
APK (Android package)
- Magiska bytes (hex):
50 4B 03 04- ASCII:
PK..- Ändelser:
- .apk
- MIME-typ:
application/vnd.android.package-archive- Position:
- byte 0
MP4 (ISO BMFF)
- Magiska bytes (hex):
00 00 00 20 66 74 79 70- ASCII:
....ftyp- Ändelser:
- .mp4, .m4v
- MIME-typ:
video/mp4- Position:
- byte 0
Windows PE / EXE
- Magiska bytes (hex):
4D 5A- ASCII:
MZ- Ändelser:
- .exe, .dll, .sys
- MIME-typ:
application/vnd.microsoft.portable-executable- Position:
- byte 0
ISO 9660
- Magiska bytes (hex):
43 44 30 30 31- ASCII:
CD001- Ändelser:
- .iso
- MIME-typ:
application/x-iso9660-image- Position:
- byte (sektor 16)
PDF
PNG
Åtta byte inklusive PNG:s radslutsmarkörer (
0D 0A 1A 0A) så att överföringsfel kan upptäckas.JPEG
Start-Of-Image-markör. Den fjärde byten skiljer JFIF (
E0) från EXIF (E1).GIF
GIF89a är den moderna varianten. GIF87a (
47 49 46 38 37 61) är den äldre skrivningen och är också giltig.BMP
Två byte. Lätt att förfalska; para ihop med filstorlekshuvudet vid position 2 för att särskilja.
ZIP
Lokalt filhuvud. Tomma arkiv använder
50 4B 05 06(end-of-central-directory) istället.RAR (v5)
RAR 5-signatur. Äldre RAR 1.5 till 4.x-filer använder en 7-bytes signatur som slutar med
00.7-Zip
Sex byte som stavar
7zföljt av tre magiska byte.DOCX (Office Open XML)
DOCX är en ZIP-behållare. Signaturen ensam kan inte skilja ett Word-dokument från en vanlig ZIP. Titta på den inre
[Content_Types].xml.XLSX (Office Open XML)
Samma varning som för DOCX. Granska OOXML-manifestet för att bekräfta kalkylbladsvarianten.
APK (Android package)
APK är en ZIP-behållare med ett Android-manifest inuti. ZIP-signaturen ensam räcker inte som bevis.
MP4 (ISO BMFF)
ftyp-rutan vid position 4 bär märkesidentifieraren. Vanliga märken:isom,mp42,iso5.Windows PE / EXE
Två byte (Mark Zbikowski). PE-huvudets position läses från byte 0x3C; själva
PE\0\0-signaturen finns där.ISO 9660
ISO 9660 placerar volymbeskrivaren vid sektor 16, så signaturen sitter vid byte 32769 (16 * 2048 + 1).
Så fungerar en kontroll av magiska bytes
- 1
Läs de första byten
Öppna filen som en binär ström och läs de första 8 till 16 byten. Det räcker för att känna igen varje signatur i tabellen ovan.
- 2
Jämför mot kända signaturer
Matcha byten mot en databas över kända format. Flera format kan dela ett prefix (varje Office-dokument är en ZIP), så kontrollen returnerar den mest specifika matchningen.
- 3
Korskontrollera mot filändelsen
Om det upptäckta formatet inte matchar det ändelsen påstår, blir utlåtandet MISMATCH. Om flera format passar, AMBIGUOUS. Om inget passar, UNKNOWN.
Varför spelar detta roll?
Att byta namn på en fil från invoice.exe till invoice.pdf ändrar inte dess bytes. De två första byten läser fortfarande 4D 5A. Kontrollen av magiska tal upptäcker det direkt. Användbart när en bilaga ser legitim ut men ändelsen ändrades innan den skickades.
Kontroller av magiska bytes fångar också det omvända: en fil utan filändelse men med giltiga PNG-byte är ändå en PNG och din bildvisare kan öppna den. Formatidentitet bor i byten, inte i filnamnet.
Ordlista
Djupdykningar per format
Varje sida är en fokuserad sida om ett enda format: hur du känner igen det, vanliga felmatchningsmönster och en ett-klicks-kontroll. Släpp din fil en gång på vilken som helst av dessa och utlåtandet blir detsamma.
- .pdfPDF
Portable Document Format file
Magic bytes
25 50 44 46Är det här verkligen en PDF? - .exeEXE
Windows executable
Magic bytes
4D 5AÄr det här verkligen en EXE? - .zipZIP
compressed archive
Magic bytes
50 4B 03 04Är det här verkligen en ZIP? - .docxDOCX
Microsoft Word document
Magic bytes
50 4B 03 04Är det här verkligen en DOCX? - .xlsxXLSX
Microsoft Excel spreadsheet
Magic bytes
50 4B 03 04Är det här verkligen en XLSX? - .pngPNG
Portable Network Graphics image
Magic bytes
89 50 4E 47 0D 0A 1A 0AÄr det här verkligen en PNG? - .jpgJPG
JPEG photograph
Magic bytes
FF D8 FFÄr det här verkligen en JPG? - .mp4MP4
MPEG-4 video
Magic bytes
00 00 00 20 66 74 79 70Är det här verkligen en MP4? - .apkAPK
Android package
Magic bytes
50 4B 03 04Är det här verkligen en APK? - .isoISO
optical disc image
Magic bytes
43 44 30 30 31Är det här verkligen en ISO?
Vanliga frågor
Prova på din egen fil
Släpp vilken fil som helst. Kontrollen körs lokalt och rapporterar ett utlåtande på under en sekund. Byten lämnar aldrig din webbläsare.
Öppna filtypskontrollenRelaterad läsning
Guide
Filändelse jämfört med filtyp
En filändelse är bara en etikett. Filtypen är vad byten faktiskt säger. Här är hur de två skiljer sig åt och hur du ser skillnaden.
Las →Guide
Är min fil säker?
En kontroll av magiska byte identifierar filformatet. Den kan inte säga om filen är skadlig. Här är vad den täcker, och var du fortfarande behöver en riktig skadeprogramskanner.
Las →Verktyg
Filtypskontroll
Slapp vilken fil som helst. Ger ett av fyra utslag pa under en sekund. Bytesen lamnar aldrig din webblasare pa gratisfloden.
Prova →