Cztery bajty układają się w %PDF. Wersja PDF następuje zaraz po nich, np. %PDF-1.7.
Co to jest magiczna liczba?
Magiczna liczba to krótka, stała sekwencja bajtów na początku każdego pliku. Identyfikuje format, zanim odczytane zostanie rozszerzenie. Ta strona opisuje, jak działają, jak wyglądają najczęstsze sygnatury i dlaczego sprawdzenie magicznych bajtów wygrywa z każdym sprawdzaniem nazwy pliku.
- Wyjaśnienie prostym językiem
- Obejmuje 14 formatów
- Bajty nie opuszczają Twojej przeglądarki
Najważniejsze fakty
Co to jest?
Magiczna liczba to stała sekwencja bajtów (zwykle od 2 do 8 bajtów) na początku pliku, która identyfikuje format.
Gdzie się znajduje?
Niemal zawsze pod adresem bajtu 0. Obrazy płyt ISO 9660 to znany wyjątek: ich sygnatura
CD001leży pod adresem 32769 (sektor 16).Rozszerzenie czy bajty?
Bajty wygrywają. Zmiana nazwy
report.exenareport.pdfzmienia etykietę, nie zawartość. Magiczne bajty nadal mówią4D 5A.Co dostaniesz w odpowiedzi
Nasze narzędzie do sprawdzania typu pliku zwraca jeden z czterech werdyktów: MATCH, MISMATCH, AMBIGUOUS lub UNKNOWN. Każdy to deterministyczna odpowiedź o tożsamości formatu, nie o bezpieczeństwie.
Prywatność
Darmowy przepływ pojedynczego pliku działa w całości w Twojej przeglądarce. Bajty nigdy nie opuszczają Twojego urządzenia.
Zakres bezpieczeństwa
Sprawdzenie magicznych bajtów identyfikuje format, nie złośliwe oprogramowanie. Traktuj je jako pierwszy sygnał, nie werdykt antywirusa.
Magiczna liczba (nazywana też sygnaturą magicznych bajtów lub sygnaturą pliku) to krótka, stała sekwencja bajtów zapisana na samym początku pliku, która identyfikuje jego prawdziwy format. System operacyjny używa jej przed jakimkolwiek rozszerzeniem pliku. Rozszerzenie to tylko wskazówka; magiczna liczba to prawda.
Wykaz sygnatur magicznych bajtów
14 powszechnie używanych sygnatur zaczerpniętych ze specyfikacji formatów. Bajty w zapisie szesnastkowym są pisane wielkimi literami i oddzielone spacjami. Podglądy ASCII zastępują bajty niedrukowalne kropką.
PDF
- Magiczne bajty (hex):
25 50 44 46- ASCII:
%PDF- Rozszerzenia:
- Typ MIME:
application/pdf- Adres:
- bajt 0
PNG
- Magiczne bajty (hex):
89 50 4E 47 0D 0A 1A 0A- ASCII:
.PNG....- Rozszerzenia:
- .png
- Typ MIME:
image/png- Adres:
- bajt 0
JPEG
- Magiczne bajty (hex):
FF D8 FF- ASCII:
...- Rozszerzenia:
- .jpg, .jpeg
- Typ MIME:
image/jpeg- Adres:
- bajt 0
GIF
- Magiczne bajty (hex):
47 49 46 38 39 61- ASCII:
GIF89a- Rozszerzenia:
- .gif
- Typ MIME:
image/gif- Adres:
- bajt 0
BMP
- Magiczne bajty (hex):
42 4D- ASCII:
BM- Rozszerzenia:
- .bmp
- Typ MIME:
image/bmp- Adres:
- bajt 0
ZIP
- Magiczne bajty (hex):
50 4B 03 04- ASCII:
PK..- Rozszerzenia:
- .zip
- Typ MIME:
application/zip- Adres:
- bajt 0
RAR (v5)
- Magiczne bajty (hex):
52 61 72 21 1A 07 01 00- ASCII:
Rar!....- Rozszerzenia:
- .rar
- Typ MIME:
application/vnd.rar- Adres:
- bajt 0
7-Zip
- Magiczne bajty (hex):
37 7A BC AF 27 1C- ASCII:
7z....- Rozszerzenia:
- .7z
- Typ MIME:
application/x-7z-compressed- Adres:
- bajt 0
DOCX (Office Open XML)
- Magiczne bajty (hex):
50 4B 03 04- ASCII:
PK..- Rozszerzenia:
- .docx
- Typ MIME:
application/vnd.openxmlformats-officedocument.wordprocessingml.document- Adres:
- bajt 0
XLSX (Office Open XML)
- Magiczne bajty (hex):
50 4B 03 04- ASCII:
PK..- Rozszerzenia:
- .xlsx
- Typ MIME:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet- Adres:
- bajt 0
APK (Android package)
- Magiczne bajty (hex):
50 4B 03 04- ASCII:
PK..- Rozszerzenia:
- .apk
- Typ MIME:
application/vnd.android.package-archive- Adres:
- bajt 0
MP4 (ISO BMFF)
- Magiczne bajty (hex):
00 00 00 20 66 74 79 70- ASCII:
....ftyp- Rozszerzenia:
- .mp4, .m4v
- Typ MIME:
video/mp4- Adres:
- bajt 0
Windows PE / EXE
- Magiczne bajty (hex):
4D 5A- ASCII:
MZ- Rozszerzenia:
- .exe, .dll, .sys
- Typ MIME:
application/vnd.microsoft.portable-executable- Adres:
- bajt 0
ISO 9660
- Magiczne bajty (hex):
43 44 30 30 31- ASCII:
CD001- Rozszerzenia:
- .iso
- Typ MIME:
application/x-iso9660-image- Adres:
- bajt (sektor 16)
PDF
PNG
Osiem bajtów, w tym znaczniki końca linii PNG (
0D 0A 1A 0A), dzięki czemu wykrywalne są błędy transmisji.JPEG
Znacznik początku obrazu. Czwarty bajt odróżnia JFIF (
E0) od EXIF (E1).GIF
GIF89a to wariant nowoczesny. GIF87a (
47 49 46 38 37 61) to starsza pisownia i również jest poprawna.BMP
Dwa bajty. Łatwe do podrobienia; zestaw z nagłówkiem rozmiaru pliku pod adresem 2, aby rozróżnić.
ZIP
Nagłówek pliku lokalnego. Puste archiwa używają zamiast tego
50 4B 05 06(koniec katalogu centralnego).RAR (v5)
Sygnatura RAR 5. Starsze pliki RAR 1.5 do 4.x używają 7-bajtowej sygnatury kończącej się na
00.7-Zip
Sześć bajtów układających się w
7z, po których następują trzy magiczne bajty.DOCX (Office Open XML)
DOCX to kontener ZIP. Sama sygnatura nie odróżnia dokumentu Word od zwykłego ZIP. Zajrzyj do wewnętrznego
[Content_Types].xml.XLSX (Office Open XML)
To samo zastrzeżenie co przy DOCX. Sprawdź manifest OOXML, aby potwierdzić, że to wariant arkusza kalkulacyjnego.
APK (Android package)
APK to kontener ZIP zawierający manifest Androida. Sama sygnatura ZIP to za mało.
MP4 (ISO BMFF)
Pole
ftyppod adresem 4 niesie identyfikator marki. Częste marki:isom,mp42,iso5.Windows PE / EXE
Dwa bajty (Mark Zbikowski). Adres nagłówka PE jest odczytywany z bajtu 0x3C; właściwa magia
PE\0\0leży tam.ISO 9660
ISO 9660 umieszcza deskryptor woluminu w sektorze 16, więc sygnatura znajduje się pod adresem 32769 (16 * 2048 + 1).
Jak działa sprawdzanie magicznych bajtów
- 1
Odczytaj pierwsze bajty
Otwórz plik jako strumień binarny i odczytaj pierwsze 8 do 16 bajtów. To wystarczy, aby rozpoznać każdą sygnaturę z powyższej tabeli.
- 2
Porównaj ze znanymi sygnaturami
Dopasuj bajty do bazy znanych formatów. Wiele formatów może mieć wspólny prefiks (każdy dokument Office to ZIP), więc sprawdzenie zwraca najbardziej szczegółowe dopasowanie.
- 3
Porównaj z rozszerzeniem pliku
Jeśli wykryty format nie zgadza się z tym, co deklaruje rozszerzenie, werdykt to MISMATCH. Jeśli pasuje wiele formatów, AMBIGUOUS. Jeśli nic nie pasuje, UNKNOWN.
Dlaczego to ma znaczenie?
Zmiana nazwy pliku z invoice.exe na invoice.pdf nie zmienia jego bajtów. Pierwsze dwa bajty nadal mówią 4D 5A. Sprawdzenie magicznej liczby wyłapuje to natychmiast. Przydatne, gdy załącznik wygląda na uczciwy, ale rozszerzenie zostało zmienione przed wysłaniem.
Sprawdzanie magicznych bajtów łapie też odwrotną sytuację: plik bez żadnego rozszerzenia, ale z poprawnymi bajtami PNG, nadal jest PNG i Twoja przeglądarka obrazów go otworzy. Tożsamość formatu mieszka w bajtach, nie w nazwie pliku.
Słowniczek
Pogłębione opisy per format
Każda strona to skupione omówienie jednego formatu: jak go rozpoznać, częste wzorce niezgodności i sprawdzenie jednym kliknięciem. Upuść plik raz w którejkolwiek z nich, a werdykt będzie ten sam.
- .pdfPDF
Portable Document Format file
Magic bytes
25 50 44 46Czy to naprawdę PDF? - .exeEXE
Windows executable
Magic bytes
4D 5ACzy to naprawdę EXE? - .zipZIP
compressed archive
Magic bytes
50 4B 03 04Czy to naprawdę ZIP? - .docxDOCX
Microsoft Word document
Magic bytes
50 4B 03 04Czy to naprawdę DOCX? - .xlsxXLSX
Microsoft Excel spreadsheet
Magic bytes
50 4B 03 04Czy to naprawdę XLSX? - .pngPNG
Portable Network Graphics image
Magic bytes
89 50 4E 47 0D 0A 1A 0ACzy to naprawdę PNG? - .jpgJPG
JPEG photograph
Magic bytes
FF D8 FFCzy to naprawdę JPG? - .mp4MP4
MPEG-4 video
Magic bytes
00 00 00 20 66 74 79 70Czy to naprawdę MP4? - .apkAPK
Android package
Magic bytes
50 4B 03 04Czy to naprawdę APK? - .isoISO
optical disc image
Magic bytes
43 44 30 30 31Czy to naprawdę ISO?
Najczęściej zadawane pytania
Wypróbuj na własnym pliku
Upuść dowolny plik. Sprawdzenie działa lokalnie i zwraca werdykt w niecałą sekundę. Bajty nigdy nie opuszczają Twojej przeglądarki.
Otwórz narzędzie do sprawdzania typu plikuPowiązane materiały
Filar
Rozszerzenie pliku a typ pliku
Rozszerzenie pliku to tylko etykieta. Typ pliku to to, co naprawdę mówią bajty. Oto jak te dwie rzeczy się rozjeżdżają i jak je rozróżnić.
Czytaj →Filar
Czy mój plik jest bezpieczny?
Sprawdzenie magicznych bajtów identyfikuje format pliku. Nie powie ci, czy plik jest szkodliwy. Oto co obejmuje i kiedy nadal potrzebujesz prawdziwego skanera antywirusowego.
Czytaj →Narzędzie
Sprawdzanie typu pliku
Upuść dowolny plik. Otrzymasz jeden z czterech werdyktów w mniej niż sekundę. Bajty nigdy nie opuszczają Twojej przeglądarki w darmowym trybie.
Wypróbuj →