Pendeteksi Jenis File — byte yang menentukan, bukan nama
Pendeteksi Tipe File
Ekstensi file hanyalah label — mengganti nama virus.exe menjadi
photo.jpg tidak mengubah apa pun di dalamnya. Halaman ini membaca byte pertama setiap file yang diunggah dan mencocokkannya dengan lebih dari 60 signature magic nyata: gambar, dokumen,
arsip, audio/video, font, executable, basis data, dan kunci. Anda mendapatkan jenis yang terdeteksi, tipe MIME,
ekstensi yang biasanya digunakan jenis itu, peringatan ketika ekstensi bertentangan dengan isi, dan di mana format itu menyimpannya (dimensi gambar, versi PDF,
brand MP4). Semuanya diperiksa secara lokal di browser.
Pilih file
Letakkan file di sini, atau klik untuk memilihnya Satu file atau banyak. Hanya 512 byte pertama dari setiap file yang dibaca; file tidak pernah meninggalkan komputer ini.
Tidak ada file yang dipilih.
Hasil
Tabel deteksi muncul di sini setelah Anda memilih file dan menekan Deteksi.
Arti “cocok”:konsisten — ekstensi
sesuai dengan format yang terdeteksi; tidak cocok — isinya adalah format yang berbeda dari yang diklaim ekstensi (file yang diganti namanya, atau lebih buruk); “tidak ada
signature” — byte pertama tidak cocok dengan signature mana pun yang diketahui, yang normal untuk teks biasa, CSV, dan sebagian besar format data yang memang tidak memiliki header.
Privasi: file dibaca dengan FileReader bawaan browser; tidak ada yang diunggah.
Apa itu signature file?
Hampir setiap format biner dimulai dengan urutan byte tetap — nomor magic — yang ditempatkan di sana agar program dapat mengenali file miliknya sendiri tanpa mempercayai
nama. PNG selalu dimulai dengan delapan byte 89 50 4E 47 0D 0A 1A 0A
(“\x89PNG\r\n\x1a\n”), PDF dengan teks ASCII %PDF, ZIP dengan
PK\x03\x04 (inisial Phil Katz, yang merancang format ini). Sistem operasi sebagian besar mengabaikan byte-byte ini dan melihat ekstensi sebagai gantinya — itulah sebabnya file yang diganti namanya tidak “terbuka dengan baik” di mana pun, dan mengapa alat keamanan mengendus isi.
Byte pertama yang terkenal
Byte
Format
Catatan
89 50 4E 47 0D 0A 1A 0A
Gambar PNG
\r\n melindungi dari kerusakan akhir baris
FF D8 FF
Gambar JPEG
setiap frame JPEG dimulai dengan penanda SOI
25 50 44 46 2D
Dokumen PDF
“%PDF-1.7” — versi mengikuti
50 4B 03 04
Arsip ZIP
docx/xlsx/odt/epub adalah ZIP yang memakai ekstensi
D0 CF 11 E0
Office lama
doc/xls/ppt/msi — file compound OLE2
4D 5A
EXE Windows
“MZ”, dari Mark Zbikowski Microsoft
7F 45 4C 46
ELF Linux
\x7fELF — program dan pustaka bersama
1A 45 DF A3
Matroska/WebM
Awal kontainer EBML
75 73 74 61 72pada offset 257
Arsip TAR
signature tersembunyi jauh di dalam header
Bagaimana pendeteksi memutuskan
512 byte pertama setiap file dibandingkan dengan tabel signature menurut urutan kekhususan: brand kontainer (RIFF…WAVE vs
RIFF…AVI vs RIFF…WEBP, box brand ISO pada offset 8)
diperiksa sebelum kontainer generiknya, dan format berbasis ZIP (EPUB, ODF, OOXML)
sebelum ZIP biasa. Jika format membawa metadata yang menjelaskan dirinya sendiri, halaman menggali satu tingkat
lebih dalam: dimensi PNG/GIF/BMP/JPEG/WebP dibaca dari header-nya, versi PDF dari byte ke-5, brand MP4 dan versi class Java dari offset standarnya. Berkas yang tidak cocok dengan apa pun mendapat pemeriksaan heuristik teks (BOM, <?xml, <html,
shebang, rasio karakter tercetak) sebelum dinyatakan tidak dikenal.
Kesalahan umum
“Dikatakan ZIP tetapi file-nya .docx” — itu benar: .docx adalah arsip ZIP
yang entri pertamanya [Content_Types].xml; pendeteksi mengenali kasus itu dan melaporkan Office Open XML secara spesifik. “Dikatakan tidak ada signature tetapi file-nya terbuka dengan baik” — CSV, sebagian besar kode sumber, dan banyak format ilmiah sama sekali tidak memiliki byte magic; “tidak ada signature” bukan tuduhan.
“Bisakah memberi tahu apakah file ini aman?” — tidak. Pengendusan isi menyatakan apa
file itu, bukan apa yang dilakukannya; EXE tetap EXE, entah itu installer atau malware.
FAQ
Mengapa hanya 512 byte? — setiap signature yang didukung berada dalam 512 byte pertama
(yang terdalam adalah ustar TAR pada offset 257); membaca lebih banyak akan memperlambat batch besar tanpa manfaat. Apakah mendeteksi durasi video? — tidak, hanya kontainer dan brand-nya; durasi memerlukan penguraian seluruh indeks, yang merupakan tugas pemutar. Banyak file sekaligus? — ya, seret seluruh pilihan; setiap baris dideteksi secara independen. Halaman terkait: untuk arah sebaliknya — ekstensi ke tipe MIME — gunakan
Pencarian Tipe MIME; untuk melakukan hash pada file yang sama, gunakan
Hash File Massal.