أداة hexdump هي رفيقتك المخلصة عندما تريد رؤية الحقيقة العارية لأي ملف على نظام التشغيل. إذا كانت أداة strings التي شرحناها سابقاً تقوم بتصفية الملف لإظهار النصوص فقط، فإن hexdump لا تخفي عنك شيئاً؛ إنها تعرض لك كل بايت (Byte) داخل الملف بتنسيق الستة عشري (Hexadecimal)، وبجانبه التمثيل النصي له إن وُجد.

في عالم الهندسة العكسية واختبار الاختراق، البرامج والملفات ليست مجرد نصوص، بل هي هيكل من البايتات المرتبة بدقة. أداة hexdump تتيح لك قراءة هذا الهيكل مباشرة.

لماذا نحتاج hexdump؟ (سياق الاستخدام)

عندما تفتح ملفاً تنفيذياً أو صورة أو ملفاً تالفاً في محرر نصوص عادي (مثل Notepad أو nano)، يحاول المحرر ترجمة كل بايت إلى حرف، فيظهر لك ملف مليء بالرموز الغريبة وغير المفهومة لأن معظم البايتات ليست أحرفاً من الأساس، بل هي تعليمات برمجية للـ CPU (Machine Code).

أداة hexdump تحل هذه المشكلة بتحويل هذه البيانات الثنائية (Binary Data) إلى أرقام هكس (Hex) مرتبة وسهلة القراءة، مما يتيح لك:

تشريح مخرجات الأمر (Anatomy of Hexdump Output)

عند تشغيل الأداة بالخيار الأكثر شهرة واستخداماً وهو -C (الذي يسمى التنسيق المعياري أو Canonical Hex+ASCII Display)، تظهر المخرجات مقسمة دائماً إلى ثلاثة أجزاء رئيسية من اليسار إلى اليمين.

لنلقِ نظرة على هذا المثال لمخرجات فحص ملف تنفيذي من نوع Linux (ملف ELF):

00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  03 00 3e 00 01 00 00 00  60 10 00 00 00 00 00 00  |..>.....`.......|

أشهر خيارات ومعاملات الأداة (Command Flags)

أمثلة عملية مفيدة في الحماية واختبار الاختراق