ตัวดูไฟล์ไบนารีแบบ Hex

ตรวจไบต์ของไฟล์

กำลังอ่านช่วงที่เลือก...

ประเภทที่แสดงมาจากข้อมูลของเบราว์เซอร์ และไม่ได้ตรวจยืนยันจาก signature ของไฟล์

ไบต์ -


            

แสดงเฉพาะช่วงที่เลือก ส่วนที่เหลือของไฟล์ไม่ได้ถูกอ่านสำหรับ dump นี้

hex dump จัดไบต์ของไฟล์เป็นสามคอลัมน์: offset ของไบต์แบบสัมบูรณ์ทางซ้าย ค่า hex สองหลักตรงกลาง และมุมมอง ASCII แบบใกล้เคียงทางขวา ตัวดูจะอ่านช่วงข้อมูลที่จำกัดในเบราว์เซอร์ ค่าเริ่มต้นเริ่มที่ offset 0 ขนาด 64 KiB และเลือกได้ระหว่าง 4 KiB, 16 KiB, 64 KiB, 256 KiB หรือ 1 MiB

วิธีอ่าน hex dump นี้

  1. 1

    วางไฟล์หนึ่งไฟล์

    ใช้ได้ทั้งไฟล์ไบนารี ข้อความ รูปภาพ ไฟล์บีบอัด หรือไฟล์ executable เบราว์เซอร์จะอ่านเป็นไบต์ดิบ

  2. 2

    เลือกช่วงที่จะแสดง

    ป้อน offset เริ่มต้นเป็นจำนวนเต็มฐานสิบที่อยู่ในไฟล์ แล้วเลือก 4 KiB, 16 KiB, 64 KiB, 256 KiB หรือ 1 MiB ระบบไม่รับค่าอย่าง 0x10 ช่วงสั้นสุดท้ายจะหยุดที่ท้ายไฟล์

  3. 3

    อ่านแถวละ 16 ไบต์

    แต่ละบรรทัดแสดง offset แบบ hex สัมบูรณ์ 8 หลัก ค่าไบต์ hex สูงสุด 16 ค่า และคอลัมน์ ASCII ด้านข้าง

  4. 4

    คัดลอกหรือเปรียบเทียบ

    คัดลอก dump ที่เห็น หรือเปรียบเทียบไบต์กับ signature ที่รู้จัก ตัวดูนี้ไม่ค้นหาหรือแก้ไข ไม่แปลค่าตัวเลขแบบหลายไบต์ ไม่ส่งออกไฟล์ และไม่ตรวจจับฟอร์แมตอัตโนมัติ

โครงสร้างของหนึ่งบรรทัด

00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
^offset^  ^--- 16 ไบต์ในรูป hex -----------------------^  ^-- ASCII ----^
  • Offset, ตำแหน่งสัมบูรณ์ของไบต์ในไฟล์ที่เริ่มจากศูนย์ เขียนเป็น hex 8 หลัก
  • ค่า hex, หนึ่งบรรทัดมี 16 ไบต์ และแต่ละไบต์แสดงเป็นเลขฐานสิบหกสองหลัก
  • คอลัมน์ ASCII, ไบต์ตั้งแต่ 0x20 ถึง 0x7E จะแสดงเป็น ASCII ส่วนไบต์อื่นจะแสดงเป็น .

ลายเซ็นไฟล์ที่พบบ่อย (magic bytes)

magic bytes เป็นเบาะแส ไม่ใช่หลักฐานยืนยันแน่นอน มีประโยชน์มากเมื่ออยู่ที่ offset ศูนย์ แต่หลายฟอร์แมตอาจใช้ prefix เดียวกันหรือมีไฟล์ซ้อนอยู่ภายใน ฟอร์แมตที่อิง ZIP เช่น DOCX, XLSX, JAR และ APK อาจเริ่มด้วย 50 4B 03 04 ได้ทั้งหมด และตัวดูนี้ไม่ได้ระบุฟอร์แมตให้อัตโนมัติ

ไบต์ (hex) เบาะแสฟอร์แมตที่เป็นไปได้
89 50 4E 47 0D 0A 1A 0A รูปภาพ PNG
FF D8 FF E0 รูปภาพ JPEG/JFIF
47 49 46 38 39 61 รูปภาพ GIF89a
25 50 44 46 เอกสาร PDF (%PDF)
50 4B 03 04 header ไฟล์ ZIP แบบ local; พบได้บ่อยใน DOCX, XLSX, JAR, APK
7F 45 4C 46 ไฟล์ executable หรือ object แบบ ELF
4D 5A ไฟล์ executable แบบ DOS/Windows PE (MZ)
1F 8B ข้อมูลบีบอัด gzip
42 4D รูปภาพ BMP (BM)
49 49 2A 00 รูปภาพ TIFF แบบ little-endian

สิ่งที่ตัวดูนี้ทำได้และทำไม่ได้

  • อ่านไบต์ในเครื่อง, dump ที่แสดงถูกสร้างในเบราว์เซอร์จากไฟล์ที่เลือก
  • ตรวจช่วงข้อมูลที่จำกัด, ป้อน offset ของไบต์ที่ถูกต้องแล้วตรวจได้สูงสุด 1 MiB จากจุดนั้น เบราว์เซอร์จะอ่านเฉพาะช่วงนี้เพื่อสร้าง dump
  • บริบท MIME และขนาด, เครื่องมือแสดง MIME type ที่เบราว์เซอร์รายงาน หรือ binary พร้อมขนาดไฟล์ทั้งหมดเป็นไบต์
  • ผลลัพธ์คัดลอกได้, ใช้ปุ่มคัดลอกเพื่อนำ dump ที่เห็นไปใช้ในโน้ต ticket หรือการเปรียบเทียบบน command line
  • ไม่ใช่ hex editor เต็มรูปแบบ, ไม่ค้นหา ไม่ไฮไลต์ผลลัพธ์ ไม่แก้ไขไบต์ ไม่ดาวน์โหลด export ไม่ตรวจจับ signature อัตโนมัติ และไม่แปลค่า 16, 32 หรือ 64 บิต จึงไม่ใช้ endianness และจะแสดงไบต์ตามลำดับในไฟล์เสมอ

ขีดจำกัดการแสดงผล

ตัวเลือกไฟล์รับไฟล์ที่ไม่ว่างเพียงหนึ่งไฟล์ ขนาดไม่เกิน 100 MiB แต่ hex dump จะอ่านและแสดงสูงสุด 1 MiB จาก offset ที่เลือก เบราว์เซอร์จะแปลงเฉพาะช่วง Blob/File นั้นเป็น ArrayBuffer และไม่ส่งเนื้อหาไปยังเซิร์ฟเวอร์ ในโหมดทีละขั้น สำเนาชั่วคราวใน IndexedDB ที่อยู่ในเบราว์เซอร์เท่านั้นจะทำให้ใช้ไฟล์ข้ามหน้าได้ไม่เกินสองชั่วโมง และเริ่มใหม่จะลบสำเนาที่ใช้งานอยู่ ในโหมดหน้าเดียวปกติ File ที่เลือกจะอยู่ในหน่วยความจำของหน้าเท่านั้น หากต้องค้นหา แก้ไข แปลค่าตัวเลข หรือตรวจสอบฟอร์แมตอัตโนมัติ ให้ใช้ hex editor หรือ parser เฉพาะฟอร์แมต

คำถามที่พบบ่อย

ไม่พอ เป็นหลักฐานที่มีประโยชน์ โดยเฉพาะที่ offset ศูนย์ แต่ไม่ใช่ parser เต็มรูปแบบ ให้ใช้เป็นเบาะแสและยืนยันไฟล์สำคัญด้วยเครื่องมือเฉพาะฟอร์แมต

ไม่ได้ เครื่องมือนี้เป็นแบบอ่านอย่างเดียวและแสดงเฉพาะช่วงที่เลือก อีกทั้งไม่แปลค่าตัวเลขแบบหลายไบต์ จึงไม่มีการตั้งค่า little-endian หรือ big-endian หากต้องแก้ไขหรือดูค่าแบบมีชนิด ให้ใช้ hex editor

ไม่อัปโหลด dump สร้างในเครื่องด้วย arrayBuffer() จากช่วง Blob/File โหมดทีละขั้นจะเก็บไฟล์ไว้ชั่วคราวในเบราว์เซอร์นี้ ส่วนโหมดปกติจะเก็บไว้ในหน่วยความจำของหน้าเท่านั้น

คุณป้อน offset เริ่มต้นที่ถูกต้องและแสดงข้อมูลจากจุดนั้นได้สูงสุด 1 MiB ตัวดูไม่ค้นหา ไม่ไฮไลต์ผลลัพธ์ ไม่ส่งออก dump และไม่โหลดไฟล์ทั้งหมดพร้อมกัน

เครื่องมือที่เกี่ยวข้อง

ตัวสร้างการตั้งค่า Webpack

สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install

เครื่องแปลงฐานตัวเลข

แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวแปลง Timestamp

แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

เครื่องมือนี้มีให้บริการในภาษาอื่น