เมื่อต้องจัดการกับไฟล์ที่ผิดปกติ การดูบิตจริงที่ประกอบไฟล์นั้นมีค่ามหาศาล หากไม่มีสิ่งใด คุณสามารถอ่านส่วนหัวของไฟล์และถอดรหัสวัตถุประสงค์ของไฟล์ได้ การแก้ไขรหัสฐานสิบหกเป็นธุรกิจที่ซับซ้อน แต่สามารถแก้ไขได้ด้วยตัวแก้ไขฐานสิบหกที่หลากหลายใน macOS รหัสฐานสิบหกคืออะไร และเหตุใดจึงควรค่าแก่การตรวจสอบ
รหัสฐานสิบหกคืออะไร
ในการคำนวณ เลขฐานสิบหกจะให้วิธีที่กระชับยิ่งขึ้นในการแสดงค่าไบนารี มันใช้ระบบเลขฐาน 16 แทนเลขฐานสองของฐานสอง ต้องขอบคุณพื้นที่ตัวเลขที่มากขึ้น เลขฐานสองหลายหลักสามารถแสดงเป็นเลขฐานสิบหกหลักเดียว เลขฐานสิบหกแต่ละหลักแสดงเลขฐานสองสี่หลัก หากคุณจำเลขฐานสองได้ คุณจะรู้ว่าครึ่งไบต์มีค่าที่เป็นไปได้ 16 ค่า ซึ่งเท่ากับจำนวนค่าที่เลขฐานสิบหกสามารถมีได้ ตรวจสอบตารางด้านล่างเพื่อดูความเท่าเทียมกัน
รวมเลขฐานสิบหกสองตัวเข้าด้วยกัน และคุณสามารถแสดงข้อมูลแปดบิตได้ ซึ่งเทียบเท่ากับหนึ่งไบต์โดยมีค่าที่เป็นไปได้สามสิบสองค่า ไบต์เดียวมีตั้งแต่ 0000 0000 ถึง 1111 1111 ในเลขฐานสิบหก นั่นคือ 00 ถึง FF ตามลำดับ การเขียนค่าเลขฐานสิบหกเป็นชุดของคู่จะทำให้คุณ "แบ่ง" ข้อมูลไบนารีของไฟล์เป็นไบต์ได้อย่างง่ายดาย
โดยพื้นฐานแล้ว เลขฐานสิบหกและเลขฐานสองมี "เฟรม" ที่แตกต่างกันสำหรับข้อมูลพื้นฐานเดียวกัน มนุษย์สามารถอ่านเลขฐานสิบหกได้อย่างง่ายดาย ในขณะที่คอมพิวเตอร์สามารถอ่านเลขฐานสองได้อย่างง่ายดาย
อนุสัญญาสำหรับการอ่านและการเขียนค่าฐานสิบหก
เมื่อเขียนค่าเลขฐานสิบหก อักขระ 0x อาจเริ่มต้นค่า อักขระเหล่านี้ระบุค่าต่อไปนี้เป็นเลขฐานสิบหก เนื่องจากเลขฐานสิบหก เลขฐานสอง และฐานแปดทั้งหมดสามารถเหมือนกันหมดในแวบแรก คำนำหน้าที่สงวนไว้นี้จึงหลีกเลี่ยงความสับสนและลดข้อผิดพลาด
ตัวอย่างเช่น 0x2FF0C4
อธิบายที่อยู่ฐานสิบหกในหน่วยความจำเทียบเท่ากับค่าไบนารีของ 0010 1111 1111 0000 1100 0100
และค่าทศนิยม 3,141,828
. เฉพาะ 2FF0C4
นับเป็นส่วนหนึ่งของค่า ชั้นนำ 0x
เฉพาะระบบตัวเลขเท่านั้น
เมื่อประมวลผลเอกสารทั้งหมดเป็นเลขฐานสิบหก ค่าจะแสดงเป็นคู่ เช่น FF A0 2D CE
. สิ่งนี้มีประโยชน์ในการแยกค่าออกเป็นสตริงความยาวไบต์ ทำให้มนุษย์แยกวิเคราะห์ได้ง่ายขึ้น
การดูและแก้ไขรหัสฐานสิบหกใน macOS
คุณต้องมีแอปพลิเคชั่นตัวแสดงเลขฐานสิบหกเพื่อดูรหัสฐานสิบหกบน macOS มีตัวเลือกฟรีไม่กี่ตัว
- 0xED เป็นโปรแกรมเปลี่ยนไฟล์ที่เรียบง่ายและฟรีซึ่งมีตัวเลือกการปรับแต่งบางอย่าง แอปพลิเคชันมุ่งเน้นไปที่การตีความค่าเลขฐานสิบหกที่ชัดเจนและรวดเร็ว เป็นการแนะนำเบื้องต้นแต่มีประโยชน์สำหรับตัวแก้ไขเลขฐานสิบหก
- ประสานมัน! เป็นล่ามฐานสิบหกระดับมืออาชีพที่จ่ายเงินพร้อมรหัสสีในตัวของค่าสำหรับการวิเคราะห์ไฟล์ภาพ นอกจากนี้ยังมีพื้นที่เก็บข้อมูลขนาดใหญ่ของ "ไวยากรณ์" สิ่งเหล่านี้ใช้โครงสร้างไฟล์ที่รู้จักกับรหัสฐานสิบหก เฟรมเหล่านี้ช่วยให้คุณเข้าใจ ตีความการค้นหา และแก้ไขรหัสฐานสิบหก
เมื่อคุณมีแอปพลิเคชันใดแอปพลิเคชันหนึ่งแล้ว คุณสามารถเปิดไฟล์ใดก็ได้เพื่อดูรหัสไบนารีที่ซ่อนอยู่ซึ่งแสดงเป็นค่าเลขฐานสิบหก สิ่งนี้มีประโยชน์สำหรับไฟล์บางประเภทมากกว่าประเภทอื่นๆ แต่โดยส่วนใหญ่ คุณจะเห็นค่าเลขฐานสิบหกทางด้านซ้ายพร้อมการตีความ ASCII ของค่าเหล่านั้นทางด้านขวา วิธีนี้จะทำให้คุณสามารถ “อ่าน” ไฟล์และเริ่มทำความเข้าใจกับสิ่งที่เกิดขึ้นได้
ตัวแก้ไขฐานสิบหกยังสามารถแก้ไขรหัสฐานสิบหกได้อีกด้วย มันไม่ง่ายเหมือนการแก้ไขข้อความ และไม่เป็นการให้อภัย โปรแกรมแก้ไข Hex แก้ไขโค้ดเป็นคู่ความยาวไบต์ เขียนทับและแทนที่สองค่าพร้อมกัน ถ้าคุณไม่ระมัดระวังอย่างยิ่ง คุณสามารถทำให้ไฟล์ทำงานเสียหายได้ในทันที เพื่อป้องกันความเปราะบางนี้ ให้ทำซ้ำไฟล์ก่อนแก้ไขรหัสฐานสิบหกเสมอ
บทสรุป:Hex Editor มีไว้เพื่ออะไร
แค่เปิดไฟล์แบบสุ่มในโปรแกรมแก้ไขฐานสิบหกก็อาจสนุกได้ อย่างไรก็ตาม มันไม่มีประโยชน์มากนัก มีบางสถานการณ์ที่เครื่องมือแก้ไขฐานสิบหกแสดงคุณภาพของตน หากคุณต้องการดูและแก้ไขรหัสไบนารี่ ตัวแก้ไขฐานสิบหกเป็นเครื่องมือที่ดีที่สุดสำหรับงาน
ตัวอย่างเช่น ขณะเขียนโปรแกรมที่ส่งออกข้อมูลไบนารี คุณควรตรวจสอบคุณภาพไฟล์ด้วยตนเอง นอกจากนี้ยังสามารถช่วยกู้คืนหรือวิเคราะห์ไฟล์ของบุคคลที่สามที่เสียหายได้ โปรแกรมแก้ไข Hex สามารถเปิดไฟล์ใดก็ได้ ไม่ว่าจะเสียหายหรือไม่ถูกต้อง ซึ่งหมายความว่าบางครั้งคุณสามารถ "แก้ไข" ไฟล์ที่เสียหายด้วยตัวแก้ไขฐานสิบหกหรืออย่างน้อยก็ระบุสาเหตุที่ทำให้เกิดข้อผิดพลาด หากคุณต้องการแก้ไขไฟล์ระบบอย่างแม่นยำ เช่น การเปลี่ยนที่อยู่หน่วยความจำใน kext โปรแกรมแก้ไขเลขฐานสิบหกเป็นเครื่องมือเดียวสำหรับงาน ขอบคุณโปรแกรมอรรถประโยชน์ที่แพร่หลาย ทุกคนที่สนใจในสาระสำคัญของการคำนวณและการเขียนโปรแกรมควรทำความคุ้นเคยกับตัวแก้ไขฐานสิบหก