exif.tools
Alat data
Bahasa: Bahasa Indonesia

Desain teknis

Metodologi dan batasan keamanan

Penerapannya lebih mengutamakan asal data, mutasi minimal, ketidakpastian eksplisit, dan verifikasi berulang dibandingkan konversi yang mudah dilakukan.

1. Masukan identifikasi

Parser tidak hanya bergantung pada nama file. Ia memeriksa ZIP, OLE, JSON, XML, dan tanda tangan teks, kemudian memeriksa anggota paket jika berlaku. Normalisasi jalur menolak jalur absolut, garis miring terbalik, komponen traversal, duplikat nama yang dinormalisasi, enkripsi, kompresi yang tidak didukung, arsip multi-disk, ZIP64, jumlah entri yang berlebihan, ukuran perluasan yang berlebihan, dan rasio kompresi yang mencurigakan.

2. Membaca secara berlebihan

Teks yang dibatasi

Mesin status berorientasi byte mencatat rentang nilai mentah setiap bidang dengan tetap memperhatikan pembatas yang dikutip, tanda kutip yang lolos, dan akhir baris yang disematkan. Mesin status string yang didekodekan secara terpisah mem-parsing input yang sama. Matriksnya dibandingkan sebelum keluaran yang mempertahankan byte diperbolehkan.

OOXML

Pembaca paket menyelesaikan hubungan buku kerja dan lembar kerja, string bersama, gaya, sistem tanggal, dan inventaris konten. Setiap lembar kerja yang dipilih diurai satu kali melalui API XML DOM browser dan sekali lagi melalui pemindai rentang sel XML mentah. Nilai, teks rumus, dan jenis penyimpanan direkonsiliasi.

3. Pencocokan gen-simbol

Catatan referensi diindeks berdasarkan simbol yang disetujui, simbol sebelumnya, alias, dan pengidentifikasi stabil. Pencocokan diklasifikasikan dan bukan diratakan menjadi satu pengganti:

Hanya pemetaan yang didukung dan tidak ambigu yang memenuhi syarat untuk mendapatkan rekomendasi default. Pemetaan alias dinonaktifkan secara default karena alias sering kali memiliki semantik yang lebih lemah dibandingkan simbol sebelumnya.

4. Klasifikasi risiko Excel

Aturan perlindungan beroperasi pada string asli dan bukan pada nomor JavaScript bila memungkinkan. Mereka mendeteksi angka nol di depan, bilangan bulat panjang, pola notasi ilmiah, bentuk bulan/tanggal/waktu, awalan rumus, penempatan koma yang bermasalah, spasi batas, pola kutipan, karakter kontrol, dan batas panjang rumus Excel yang lama.

5. Jalur keluaran

SumberPenulis pilihanVerifikasi
UTF-8 CSV/TSV/TXTPenggantian rentang byte mentah untuk bidang yang disetujuiPerjanjian pembaca dan byte yang tidak berubah di luar rentang patch
XLSX/XLSMPenggantian sel XML lembar kerja di dalam paket yang adaBuka kembali keluaran, konfirmasi sel yang diubah, bandingkan setiap bagian paket terkompresi yang tidak dimodifikasi, dan bandingkan byte makro
JSON/ODS atau teks yang tidak dapat dipertahankan byte-nyaXLSX minimal baru menggunakan teks eksplisit dan sel numerik konservatifPaket baca kembali dan ubah manifes; diberi label sebagai konversi daripada pelestarian sumber
Pindai sajaTidak ada keluaran dataPaket audit dengan metadata inventaris, temuan, peringatan, dan rekonsiliasi

6. Kasus yang diblokir atau dibatasi

7. Artefak yang dapat direproduksi

Audit ZIP mencakup manifes JSON yang dapat dibaca mesin, set perubahan CSV dan JSON, peringatan, dan output utama jika ada. Manifes mencatat hash masukan, hash keluaran, versi aplikasi, alur kerja, versi referensi, nama pembaca, status rekonsiliasi, jumlah perubahan, jumlah ambiguitas yang belum terselesaikan, dan hasil verifikasi.