檔案簽章(魔法位元組)清單
搜尋十二種經確認的檔案簽章,依據格式、延伸名、十六進位字首或註解,並複製精確的偏移零位元組。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.可依格式、延伸名、位元組或註解(如容器)進行搜尋。
- 2.將偏移零的十六進位序列與可信的二進位檢視進行比對。
- 3.複製字首,用於檔案說明或測試偵測規則。
- 4.在信任或處理檔案前,務必透過維護中的解析器確認完整結構。
關於檔案簽章(魔法位元組)清單
檔案簽章魔法位元組清單是一份緊湊的參考資料,涵蓋十二種常見二進位字首。可依格式、延伸名、十六進位位元組或描述搜尋,並複製偏移零的簽章。此表格涵蓋 JPEG、PNG、兩種常見的 GIF 檔案標頭、PDF、ZIP、GZIP、7-Zip、RAR 4、RAR 5、ELF 與 SQLite 3。位元組以大寫十六進位空格分隔,以便與.hex檢視器、二進位解析器、上傳檢查規則或事件分析筆記進行比對,無需轉換為其他表示法。
檔案簽章是一組與格式相關的位元組,通常出現在檔案開頭附近。它可能比檔名延伸名更可靠,但並非判斷檔案型別或安全性的完整證據。部分格式允許前置資料、多個有效簽章或版本特定的標頭。短字首可能與無關內容衝突。惡意檔案可能複製預期的位元組,但後續載體內容可能為無效或危險資料。建議將魔法位元組作為一個訊號,結合結構解析、大小限制、可信解析器及情境特定的安全控制來使用。
容器格式會引發重要混淆。ZIP 的本機檔標頭也出現在 Office Open XML 檔案中,例如 DOCX 與 XLSX、Java JAR 檔案、EPUB 檔案及其他套件中。識別容器並不代表能確定內部應用格式。穩健的偵測器必須檢查必要的內部路徑、元資料、關係與內容型別,同時防禦解壓縮炸彈與路徑遍歷攻擊。此表格明確標示此限制,而非聲稱 50 4B 03 04 唯一代表 .zip 下載。
所有專案皆以偏移零為基準,確保範圍明確且可測試。通用的 libmagic 規則可評估其他偏移、間接偏移、遮罩、數值端序、字串及巢狀條件。本工具並未重製這些規則,亦不會掃描上傳的檔案。同時,本工具也不包含可執行子型別、媒體編碼、磁碟影像、字型、郵件格式或所有歸檔變體。若需在生產環境中實作更進一步的偵測,請參考連結的主資料庫與格式規範。
絕不因為檔案字首匹配清單就授權上傳。必須以維護中的解析器完整驗證檔案,執行白名單限制,伺服器端重新命名,隔離儲存,必要時阻斷活躍內容,並以安全標頭提供下載。針對高風險工作流程,可能需要搭配防毒軟體或沙盒分析。即使前幾位元組相符,也應拒絕截斷的輸入。避免向不可信使用者暴露解析錯誤、檔案系統路徑或內部規則。維護偵測庫與解析器的更新,並測試異常、多語、過大或巢狀的樣本。
此參考資料完全在瀏覽器中執行,不會請求或讀取本機檔案。搜尋與複製操作皆保留在當前標籤中,無需帳號,亦無額外依賴。十二項內容經由來源驗證且受測試保護,確保大小與唯一性正確,但標準與實作仍可能演進。對於關鍵生產規則,應對照最新上游檔案進行驗證,記錄規則版本,並維持回歸測試樣本,包含被接受的格式與針對性的近似惡意樣本。同時記錄觀察到的位元組與解析器判斷結果,以便後續審查人員區分字首匹配與已驗證的檔案結構。
方法與來源
儲存十二個經源檢驗的偏移為零的字元字首,搭配獨特識別碼與格式加十六進位對,統一搜尋邏輯涵蓋格式/副檔名/十六進位/註解,並複製顯示的全大寫十六進位序列,但不會讀取使用者的檔案。
常見問題
- 是否透過比對魔法字元能判斷檔案是否安全?
- 不。僅一個字首只是單一訊號,必須驗證完整結構,執行允許清單與限制,隔離上傳,並根據風險使用適當的保安掃描。
- 為何 DOCX 與 XLSX 會匹配 ZIP?
- 它們是基於 ZIP 的容器格式,需檢查內部包裝檔案與元資料以判斷實際應用格式。
- 這工具會掃描上傳的檔案嗎?
- 不會。這僅是一個可搜尋的參考資料,從不請求、讀取、上傳或解析本機檔案。
相關工具
- 假檔案產生器創造一個精確尺寸、零填滿、安全隨機或重複文字的檔案,用於本機上傳、儲存與傳輸測試。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
- 標籤生成器建立 Shields.io 標籤 URL、Markdown 片段與 HTML 圖片標籤,無需記憶路徑轉義或查詢引數。
- BOM 移除移除貼入解碼文字中僅一個前導的 U+FEFF,並在本機保留每一個內部、尾部或第二個前匯出現的內容。
- 字元轉換器將 Unix 權限位元之間的嚴格八進位與完整 rwx 記法相互轉換,包含 setuid、setgid 與 sticky 狀態。
開發者工具 使用指南
查看全部- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- File Magic Numbers: Look Up Twelve Common Prefixes (英文原文)
- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)