Preskoči na sadržaj
BouseMuttonBouseMutton

Što je magični broj?

Magični broj je kratka fiksna sekvenca bajtova na početku svake datoteke. Identificira format prije čitanja bilo koje ekstenzije. Ova stranica pokriva kako rade, kako izgledaju najčešći potpisi i zašto provjera magičnog bajta uvijek pobjeđuje provjeru naziva datoteke.

  • Objašnjenje svakodnevnim jezikom
  • Pokriva 14 formata
  • Bajtovi nikad ne napuštaju vaš preglednik

Ključne činjenice

  • Što je to?

    Magični broj je fiksna sekvenca bajtova (obično 2 do 8 bajtova) na početku datoteke koja identificira format.

  • Gdje se nalazi?

    Gotovo uvijek na pomaku bajta 0. ISO 9660 slike diskova su poznata iznimka: njihov CD001 potpis nalazi se na pomaku 32769 (sektor 16).

  • Ekstenzija ili bajtovi?

    Bajtovi pobjeđuju. Preimenovanje report.exe u report.pdf mijenja oznaku, ne sadržaj. Magični bajtovi i dalje čitaju 4D 5A.

  • Što dobivate

    Naša provjera vrste datoteke izvještava jednu od četiri presude: PODUDARA, NE PODUDARA, DVOSMISLENO ili NEPOZNATO. Svaka je deterministički odgovor o identitetu formata, ne o sigurnosti.

  • Privatnost

    Besplatni tok za jednu datoteku radi u potpunosti u vašem pregledniku. Bajtovi nikad ne napuštaju vaš uređaj.

  • Doseg sigurnosti

    Provjera magičnog bajta identificira format, ne zlonamjerni softver. Koristite je kao prvi signal, ne kao presudu o virusu.

Magični broj (također se naziva potpis magičnog bajta ili potpis datoteke) je kratka, fiksna sekvenca bajtova zapisana na samom početku datoteke koja identificira njen pravi format. Operativni sustav je koristi prije bilo koje ekstenzije datoteke. Ekstenzija je samo nagovještaj; magični broj je istina.

Referenca potpisa magičnog bajta

14 široko korištenih potpisa preuzetih iz specifikacija formata. Hex bajtovi su velika slova, razdvojeni razmakom. ASCII pregledi zamjenjuju neispisne bajtove točkom.

  • PDF

    Magični bajtovi (hex):
    25 50 44 46
    ASCII:
    %PDF
    Ekstenzije:
    .pdf
    MIME tip:
    application/pdf
    Pomak:
    bajt 0
  • PNG

    Magični bajtovi (hex):
    89 50 4E 47 0D 0A 1A 0A
    ASCII:
    .PNG....
    Ekstenzije:
    .png
    MIME tip:
    image/png
    Pomak:
    bajt 0
  • JPEG

    Magični bajtovi (hex):
    FF D8 FF
    ASCII:
    ...
    Ekstenzije:
    .jpg, .jpeg
    MIME tip:
    image/jpeg
    Pomak:
    bajt 0
  • GIF

    Magični bajtovi (hex):
    47 49 46 38 39 61
    ASCII:
    GIF89a
    Ekstenzije:
    .gif
    MIME tip:
    image/gif
    Pomak:
    bajt 0
  • BMP

    Magični bajtovi (hex):
    42 4D
    ASCII:
    BM
    Ekstenzije:
    .bmp
    MIME tip:
    image/bmp
    Pomak:
    bajt 0
  • ZIP

    Magični bajtovi (hex):
    50 4B 03 04
    ASCII:
    PK..
    Ekstenzije:
    .zip
    MIME tip:
    application/zip
    Pomak:
    bajt 0
  • RAR (v5)

    Magični bajtovi (hex):
    52 61 72 21 1A 07 01 00
    ASCII:
    Rar!....
    Ekstenzije:
    .rar
    MIME tip:
    application/vnd.rar
    Pomak:
    bajt 0
  • 7-Zip

    Magični bajtovi (hex):
    37 7A BC AF 27 1C
    ASCII:
    7z....
    Ekstenzije:
    .7z
    MIME tip:
    application/x-7z-compressed
    Pomak:
    bajt 0
  • DOCX (Office Open XML)

    Magični bajtovi (hex):
    50 4B 03 04
    ASCII:
    PK..
    Ekstenzije:
    .docx
    MIME tip:
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
    Pomak:
    bajt 0
  • XLSX (Office Open XML)

    Magični bajtovi (hex):
    50 4B 03 04
    ASCII:
    PK..
    Ekstenzije:
    .xlsx
    MIME tip:
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    Pomak:
    bajt 0
  • APK (Android package)

    Magični bajtovi (hex):
    50 4B 03 04
    ASCII:
    PK..
    Ekstenzije:
    .apk
    MIME tip:
    application/vnd.android.package-archive
    Pomak:
    bajt 0
  • MP4 (ISO BMFF)

    Magični bajtovi (hex):
    00 00 00 20 66 74 79 70
    ASCII:
    ....ftyp
    Ekstenzije:
    .mp4, .m4v
    MIME tip:
    video/mp4
    Pomak:
    bajt 0
  • Windows PE / EXE

    Magični bajtovi (hex):
    4D 5A
    ASCII:
    MZ
    Ekstenzije:
    .exe, .dll, .sys
    MIME tip:
    application/vnd.microsoft.portable-executable
    Pomak:
    bajt 0
  • ISO 9660

    Magični bajtovi (hex):
    43 44 30 30 31
    ASCII:
    CD001
    Ekstenzije:
    .iso
    MIME tip:
    application/x-iso9660-image
    Pomak:
    bajt (sektor 16)
  • PDF

    Četiri bajta čine %PDF. PDF verzija slijedi odmah, npr. %PDF-1.7.

  • PNG

    Osam bajtova uključujući PNG oznake kraja retka (0D 0A 1A 0A) tako da se mogu otkriti pogreške prijenosa.

  • JPEG

    Oznaka početka slike. Četvrti bajt razlikuje JFIF (E0) od EXIF (E1).

  • GIF

    GIF89a je moderna varijanta. GIF87a (47 49 46 38 37 61) je naslijeđeno pisanje i također je valjano.

  • BMP

    Dva bajta. Jednostavno krivotvoriti; uparite sa zaglavljem veličine datoteke na pomaku 2 za razjašnjenje.

  • ZIP

    Zaglavlje lokalne datoteke. Prazne arhive umjesto toga koriste 50 4B 05 06 (kraj središnjeg direktorija).

  • RAR (v5)

    RAR 5 potpis. Starije RAR 1.5 do 4.x datoteke koriste potpis od 7 bajtova koji završava s 00.

  • 7-Zip

    Šest bajtova koji čine 7z nakon kojih slijede tri magična bajta.

  • DOCX (Office Open XML)

    DOCX je ZIP kontejner. Sam potpis ne može razlikovati Word dokument od generičkog ZIP-a. Pogledajte unutarnji [Content_Types].xml.

  • XLSX (Office Open XML)

    Isto upozorenje kao za DOCX. Pregledajte OOXML manifest da potvrdite varijantu proračunske tablice.

  • APK (Android package)

    APK je ZIP kontejner s Android manifestom unutra. Sam ZIP potpis nije dovoljan dokaz.

  • MP4 (ISO BMFF)

    Okvir ftyp na pomaku 4 nosi identifikator marke. Uobičajene marke: isom, mp42, iso5.

  • Windows PE / EXE

    Dva bajta (Mark Zbikowski). Pomak PE zaglavlja čita se iz bajta 0x3C; stvarni PE\0\0 magični nalazi se tamo.

  • ISO 9660

    ISO 9660 postavlja deskriptor volumena na sektor 16, pa se potpis nalazi na bajtu 32769 (16 * 2048 + 1).

Kako radi provjera magičnog bajta

  1. 1

    Pročitaj prve bajtove

    Otvorite datoteku kao binarni tok i pročitajte prvih 8 do 16 bajtova. To je dovoljno za prepoznavanje svakog potpisa u gornjoj tablici.

  2. 2

    Usporedi s poznatim potpisima

    Uskladite bajtove s bazom podataka poznatih formata. Više formata može dijeliti prefiks (svaki Office dokument je ZIP), pa provjera vraća najspecifičnije podudaranje.

  3. 3

    Unakrsna provjera s ekstenzijom datoteke

    Ako se otkriveni format ne podudara s onim što ekstenzija tvrdi, presuda je NE PODUDARA. Ako se uklapa više formata, DVOSMISLENO. Ako ništa ne odgovara, NEPOZNATO.

Zašto je ovo važno?

Preimenovanje datoteke iz invoice.exe u invoice.pdf ne mijenja njene bajtove. Prva dva bajta i dalje čitaju 4D 5A. Provjera magičnog broja to odmah hvata. Korisno kada privitak izgleda legitimno, ali je ekstenzija promijenjena prije slanja.

Provjere magičnog bajta hvataju i obrnuto: datoteka bez ekstenzije, ali s valjanim PNG bajtovima i dalje je PNG i preglednik slika je može otvoriti. Identitet formata živi u bajtovima, ne u nazivu datoteke.

Pojmovnik

Često postavljana pitanja

Isprobajte na vlastitoj datoteci

Spustite bilo koju datoteku. Provjera radi lokalno i izvještava presudu za manje od sekunde. Bajtovi nikad ne napuštaju vaš preglednik.

Otvori provjeru vrste datoteke