Dosya Türü Algılayıcı

Bir dosyanın uzantısı yalnızca bir etiket — virus.exe dosyasını photo.jpg olarak yeniden adlandırmak içindeki hiçbir şeyi değiştirmez. Bu sayfa yüklenen her dosyanın ilk baytlarını okur ve 60'tan fazla gerçek sihirli imzayla karşılaştırır: görseller, belgeler, arşivler, ses/video, yazı tipleri, çalıştırılabilirler, veritabanları ve anahtarlar. Algılanan türü, MIME türünü, o türün normalde kullandığı uzantıları, uzantı içerikle çeliştiğinde bir uyarıyı ve biçimin taşıdığı yerlerde (görsel boyutları, PDF sürümü, MP4 markası) bilgileri alırsınız. Her şey tarayıcınızda yerel olarak denetlenir.
Dosyaları buraya bırakın, ya da seçmek için tıklayın
Tek dosya ya da birçok dosya. Her birinin yalnızca ilk 512 baytı okunur; dosyalar bu bilgisayardan asla ayrılmaz.
Dosya seçilmedi.
Dosyaları seçip Algıla'ya bastıktan sonra algılama tablosu burada görünür.
“Eşleşme” ne demek: tutarlı — uzantı algılanan biçimle uyuşuyor; uyumsuz — içerik uzantının iddia ettiğinden farklı bir biçim (yeniden adlandırılmış bir dosya ya da daha kötüsü); “imza yok” — ilk baytlar bilinen hiçbir imzayla eşleşmiyor, bu düz metin, CSV ve basitçe üstbilgisi olmayan çoğu veri biçimi için normaldir. Gizlilik: dosyalar tarayıcının kendi FileReader'ı ile okunur; hiçbir şey yüklenmez.

Dosya imzası nedir?

Neredeyse her ikili biçim sabit bir bayt dizisiyle başlar — sihirli sayı — bir programın adına güvenmeden kendi dosyalarını tanıyabilmesi için oraya yerleştirilmiştir. Bir PNG her zaman sekiz bayt 89 50 4E 47 0D 0A 1A 0A ile başlar (“\x89PNG\r\n\x1a\n”), bir PDF ASCII metni %PDF ile, bir ZIP PK\x03\x04 ile (biçimi tasarlayan Phil Katz'ın baş harfleri). İşletim sistemleri çoğunlukla bu baytları yok sayar ve bunun yerine uzantıya bakar — bu yüzden yeniden adlandırılmış bir dosya hiçbir yerde “sorunsuz açılmaz” ve güvenlik araçları içeriği koklar.

Ünlü ilk baytlar

BaytlarBiçimNot
89 50 4E 47 0D 0A 1A 0APNG görseli\r\n satır sonu bozulmasına karşı korur
FF D8 FFJPEG görseliher JPEG karesi bir SOI işaretiyle başlar
25 50 44 46 2DPDF belgesi“%PDF-1.7” — sürüm ardından gelir
50 4B 03 04ZIP arşividocx/xlsx/odt/epub, uzantı takmış ZIP'lerdir
D0 CF 11 E0Eski Officedoc/xls/ppt/msi — OLE2 bileşik dosyası
4D 5AWindows EXE“MZ”, Microsoft'un Mark Zbikowski'sinden sonra
7F 45 4C 46Linux ELF\x7fELF — programlar ve paylaşılan kütüphaneler
1A 45 DF A3Matroska/WebMEBML kapsayıcı başlangıcı
75 73 74 61 72 257. konumdaTAR arşiviimza başlığın derinlerinde gizli

Dedektör nasıl karar verir

Her dosyanın ilk 512 baytı, özgüllük sırasına göre bir imza tablosuyla karşılaştırılır: kapsayıcı markaları (RIFF…WAVE, RIFF…AVI, RIFF…WEBP; 8. konumdaki ISO marka kutuları) genel kapsayıcılarından önce denetlenir ve ZIP tabanlı biçimler (EPUB, ODF, OOXML) düz ZIP'ten önce. Biçim kendini açıklayan üst veri taşıdığında sayfa bir düzey daha derine iner: PNG/GIF/BMP/JPEG/WebP boyutları üstbilgilerinden okunur, PDF sürümü 5. bayttan, MP4 markası ve Java sınıf sürümü standart konumlarından alınır. Hiçbir şeyle eşleşmeyen dosyalar, bilinmeyen diye adlandırılmadan önce bir metin sezgisi geçişinden geçer (BOM, <?xml, <html, shebang, yazdırılabilir oran).

Yaygın hatalar

“ZIP diyor ama dosya .docx” — bu doğrudur: bir .docx, ilk girdisi [Content_Types].xml olan bir ZIP arşividir; dedektör bu durumu tanır ve özellikle Office Open XML olarak bildirir. “İmza yok diyor ama dosya sorunsuz açılıyor” — CSV, çoğu kaynak kodu ve sayısız bilimsel biçimin hiç sihirli baytı yoktur; “imza yok” bir suçlama değildir. “Dosyanın güvenli olup olmadığını söyleyebilir mi?” — hayır. İçerik koklama bir dosyanın ne olduğunu söyler, ne yaptığını değil; bir EXE, bir yükleyici ya da zararlı yazılım olsun yine bir EXE'dir.

SSS

Neden yalnızca 512 bayt? — desteklenen her imza ilk 512 bayt içinde yaşar (en derini TAR'ın 257. konumdaki ustar'ıdır); daha fazlasını okumak büyük toplu işleri hiçbir şey için yavaşlatır.
Video süresini algılıyor mu? — hayır, yalnızca kapsayıcıyı ve markasını; süre tüm dizini ayrıştırmayı gerektirir, bu bir oynatıcının işidir.
Aynı anda birçok dosya? — evet, tüm seçimi sürükleyin; her satır bağımsız olarak algılanır.
İlgili sayfa: tersi yönde — uzantıdan MIME türüne — MIME Türü Aramayı kullanın; aynı dosyaların karmasını almak için Toplu Dosya Karmasını kullanın.