Tiedostotyypin tunnistin — tavut ratkaisevat, ei nimi
Tiedostotyypin tunnistin
Tiedoston pääte on vain tunniste — virus.exe-tiedoston nimeäminen uudelleen
muotoon photo.jpg ei muuta sisältöä. Tämä sivu lukee jokaisen ladatun tiedoston ensimmäiset tavut
ja vertaa niitä yli 60 todelliseen tunnistetavujonoon: kuviin, asiakirjoihin,
arkistoihin, ääneen ja videoon, fontteihin, suoritettaviin tiedostoihin, tietokantoihin ja avaimiin. Tuloksena saadaan tunnistettu tyyppi, MIME-tyyppi, tyypin tavallisesti käyttämät päätteet, varoitus, kun pääte on ristiriidassa sisällön kanssa, ja missä muodossa sen kantaa (kuvan mitat, PDF-versio,
MP4-merkki). Kaikki tarkistetaan paikallisesti selaimessa.
Valitse tiedostot
Pudota tiedostot tähäntai napsauta valitakseen ne Yksi tiedosto tai useita. Jokaisesta luetaan vain ensimmäiset 512 tavua; tiedostot eivät koskaan poistu tältä koneelta.
Tiedostoja ei ole valittu.
Tulokset
Tunnistustaulukko näkyy tässä, kun tiedostot on valittu ja painettu Tunnista-painiketta.
Mitä “vastaa” tarkoittaa:yhteensopiva — pääte
vastaa tunnistettua muotoa; ristiriita — sisältö on eri muoto kuin päätteen ilmoittama (uudelleen nimetty tiedosto tai pahempi); “ei
tunnistetta” — ensimmäiset tavut eivät vastaa yhtään tunnettua tunnistetta, mikä on normaalia
pelkälle tekstille, CSV:lle ja useimmille datamuodoille, joilla ei ole ollenkaan otsikkoa.
Yksityisyys: tiedostot luetaan selaimen oman FileReaderin avulla; mitään ei ladata.
Mikä on tiedostotunniste?
Lähes jokainen binäärimuoto alkaa kiinteällä tavujonolla — taikaluvulla — joka on asetettu sinne, jotta ohjelma voi tunnistaa omat tiedostonsa
luottamatta nimeen. PNG alkaa aina kahdeksalla tavulla 89 50 4E 47 0D 0A 1A 0A
(“\x89PNG\r\n\x1a\n”), PDF alkaa ASCII-tekstillä %PDF, ZIP alkaa tavuilla
PK\x03\x04 (muodon suunnitelleen Phil Katzin alkukirjaimet). Käyttöjärjestelmät useimmiten ohittavat nämä tavut ja katsovat sen sijaan päätettä — mikä on juuri syy siihen, miksi uudelleen nimetty tiedosto “avautuu hyvin” ei missään, ja siksi tietoturvatyökalut tarkistavat sisällön.
Tunnettuja alkutavuja
Tavut
Muoto
Huomautus
89 50 4E 47 0D 0A 1A 0A
PNG-kuva
\r\n suojaa rivinvaihtojen vioittumiselta
FF D8 FF
JPEG-kuva
jokainen JPEG-kehys alkaa SOI-merkillä
25 50 44 46 2D
PDF-asiakirja
“%PDF-1.7” — versio seuraa
50 4B 03 04
ZIP-arkisto
docx/xlsx/odt/epub ovat ZIP-arkistoja omalla päätteellään
D0 CF 11 E0
Vanha Office
doc/xls/ppt/msi — OLE2-yhdistelmätiedosto
4D 5A
Windows EXE
“MZ”, Microsoftin Mark Zbikowskin mukaan
7F 45 4C 46
Linux ELF
\x7fELF — ohjelmat ja jaetut kirjastot
1A 45 DF A3
Matroska/WebM
EBML-kontin alku
75 73 74 61 72siirtymällä 257
TAR-arkisto
tunniste piilee syvällä otsikossa
Miten tunnistin päättää
Jokaisen tiedoston ensimmäiset 512 tavua verrataan tunnistetaulukkoon
tarkkuusjärjestyksessä: konttitunnisteet (RIFF…WAVE vs
RIFF…AVI vs RIFF…WEBP, ISO-merkkilaatikot siirtymällä 8)
tarkistetaan ennen yleisiä konttejaan, ja ZIP-pohjaiset muodot (EPUB, ODF, OOXML)
ennen tavallista ZIP:iä. Jos muodossa on itsekuvaileva metatieto, sivu menee yhden tason syvemmälle:
PNG/GIF/BMP/JPEG/WebP-mitat luetaan niiden otsikoista, PDF-versio tavusta 5, MP4-merkki ja Java-luokan versio standardisiirtymistä. Tiedostoille, jotka eivät
täsmää mihinkään, tehdään tekstiheuristiikka (BOM, <?xml, <html,
shebang, tulostettavien merkkien osuus) ennen kuin ne luokitellaan tuntemattomiksi.
Yleisiä virheitä
“Se sanoo ZIP, mutta tiedosto on .docx” — tämä on oikein: .docx on ZIP-arkisto, jonka ensimmäinen merkintä on [Content_Types].xml; tunnistin tunnistaa tapauksen ja raportoi erikseen Office Open XML -muodon. “Se sanoo, ettei tunnistetta ole, mutta tiedosto avautuu hyvin” — CSV, useimmat lähdekoodit ja lukemattomat tieteelliset muodot eivät lainkaan sisällä taikatavuja; “ei tunnistetta” ei ole syytös.
“Voiko se kertoa, onko tiedosto turvallinen?” — ei. Sisällön tunnistaminen kertoo, mikä tiedosto on, ei sitä, mitä se tekee; EXE on EXE, olipa se asennusohjelma tai haittaohjelma.
UKK
Miksi vain 512 tavua? — jokainen tuettu tunniste on ensimmäisten 512 tavun sisällä (syvin on TAR:n ustar siirtymällä 257); lisäluku hidastaisi suuria eriä turhaan. Tunnistaako se videon keston? — ei, vain kontin ja sen merkin; kesto vaatii koko indeksin jäsentämisen, mikä on soittimen tehtävä. Useita tiedostoja kerralla? — kyllä, vedä koko valinta; jokainen rivi tunnistetaan
itsenäisesti. Aiheeseen liittyvä sivu: toiseen suuntaan — päätteestä MIME-tyyppiin — käytä
MIME Type Lookup -sivua; samojen tiedostojen tiivistämiseen käytä
Batch File Hash -sivua.