محرر سداسي عشري

لقطة شاشة لبرنامج hexedit من تصميم باسكال ريغو

محرر البيانات السداسية (اختصارًا لـ hexadecimal )، أو الثنائية ، أو البايتات، هو برنامج يسمح بتحرير البيانات كبيانات ثنائية . وهو مفيد بشكل خاص لتحرير البيانات غير المقروءة بشريًا في الملفات ، ولكنه قابل للاستخدام مع أي نوع من البيانات. عادةً، يكون محرر البيانات السداسية برنامجًا مستقلاً ، وتتشابه تجربة استخدامه مع تجربة محرر النصوص . يستطيع المستخدم رؤية وتحرير المحتوى الخام والدقيق للملف، بدلاً من تفسير المحتوى الذي قد تربطه برامج أخرى ذات مستوى أعلى بتنسيق الملف . على سبيل المثال، قد تكون هذه البيانات هي البايتات التي تمثل صورة بدلاً من تمثيل رسومي.

بشكل عام، تُقسّم البيانات إلى أربع مجموعات من 4 بايتات أو مجموعتين من 8 بايتات، تليها مجموعة واحدة من 16 حرفًا قابلاً للطباعة من نوع ASCII ، والتي تُقابل كل زوج من القيم السداسية العشرية (لكل بايت). أما الأحرف غير القابلة للطباعة من نوع ASCII، فيتم تمثيلها عادةً بنقطة ("") في حقل ASCII.

يُستخدم محرر النصوص السداسي أحيانًا لإصلاح مشاكل تلف البيانات . وقد يكون مفيدًا لتجاوز عمليات التحقق من تحرير التطبيقات التي قد تمنع تصحيح البيانات الخاطئة. كما يُستخدم لـ"ترقيع" البرامج التنفيذية (تغيير أو إضافة بعض التعليمات) كبديل لإعادة الترجمة. تُوزّع إصلاحات البرامج لأنظمة IBM الرئيسية أحيانًا على شكل رقع بدلاً من توزيع نسخة كاملة من البرنامج المتأثر.

التاريخ المبكر

منذ اختراع الحواسيب واستخداماتها المتعددة، ظهرت العديد من تنسيقات الملفات. في بعض الحالات الخاصة، كان من الملائم الوصول إلى البيانات كسلسلة من الأرقام الخام. كان برنامج SUPERZAP (AMASPZAP) متاحًا لأنظمة IBM OS/360، والذي كان قادرًا على تحرير سجلات القرص الخام، كما كان يفهم تنسيق الملفات التنفيذية. [ 1 ] تُعد أزواج الأرقام الست عشرية (يمثل كل زوج بايتًا) هي المعيار الحالي، لأن الغالبية العظمى من الأجهزة وتنسيقات الملفات المستخدمة اليوم تتعامل مع البيانات كوحدات أو مجموعات من بايتات 8 بت. يُعد النظام الست عشري والثماني شائعين لأن هذه الأرقام تسمح بمعرفة البتات المُفعّلة في البايت. اعتمادًا على محتوى البيانات، يمكن استخدام النظام العشري أو أي نظام عددي آخر بدلًا من النظام الست عشري لدعم عمليات التحرير، وذلك باستخدام أنظمة القوالب وأدوات فحص البيانات.

أنظمة القوالب

مثال على محرر سداسي عشري بسيط قائم على القوالب

تُقدّم بعض برامج تحرير الملفات السداسية العشرية نظام قوالب لعرض تسلسل بايتات الملف الثنائي بطريقة مُهيكلة، تُغطي جزءًا من تنسيق الملف المطلوب أو كله. عادةً ما تكون واجهة المستخدم الرسومية للقالب عبارة عن نافذة أدوات منفصلة بجانب برنامج تحرير الملفات السداسية العشرية الرئيسي. بعض أنظمة برامج الغش تتكون فقط من واجهة مستخدم رسومية للقالب.

عادةً، يُمثَّل القالب بقائمة من مربعات نص مُصنَّفة، بحيث يُمكن تعديل قيم الملف بسهولة بالتنسيق المناسب (مثلًا، كنص، أو لون، أو رقم عشري). بدون دعم القوالب، يلزم تحديد الإزاحة الصحيحة في الملف حيث تُخزَّن القيمة المراد تغييرها. كما قد يتطلب التحرير المباشر للبيانات السداسية العشرية تحويلها إلى النظام العشري، مع مراعاة ترتيب البايتات ، أو غيرها من خصائص تحويل أنواع البيانات.

يمكن تخزين القوالب كملفات، وبالتالي تبادلها بين المستخدمين، وغالبًا ما تُشارك علنًا عبر موقع الشركة المصنعة. تُعرّف معظم برامج تحرير الملفات السداسية العشرية، إن لم تكن جميعها، تنسيق ملفات القوالب الخاص بها؛ ولا يوجد توجه لدعم معيار موحد أو حتى توافق بين التنسيقات المختلفة المستخدمة.

أنظمة البرمجة النصية

تتضمن محررات النصوص السداسية المتقدمة أنظمة برمجة نصية تُمكّن المستخدم من إنشاء وظائف شبيهة بالماكرو كسلسلة من أوامر واجهة المستخدم لأتمتة المهام الشائعة. يمكن استخدام هذه الأنظمة لإنشاء نصوص برمجية تُصلح الملفات تلقائيًا (مثل برامج الغش في الألعاب، أو التعديلات، أو إصلاحات المنتجات التي يُقدمها المجتمع) أو لكتابة قوالب أكثر تعقيدًا وذكاءً.

تختلف لغات البرمجة النصية اختلافًا كبيرًا، وغالبًا ما تكون لغات خاصة بالمنتج تشبه ملفات الدفعات MS-DOS، إلى أنظمة تدعم لغات برمجة نصية كاملة مثل Lua أو Python .

أنظمة الإضافات

تحتوي بعض المحررات المختارة على نظام إضافات يسمح بتوسيع واجهة المستخدم الرسومية وإضافة وظائف جديدة، وعادة ما يتم تحميل مكتبات الارتباط الديناميكي المكتوبة بلغة متوافقة مع لغة C (تعتمد أنظمة التشغيل المختلفة تنسيقات مكتبات الارتباط الديناميكي المختلفة: DLL لنظام التشغيل Windows، وSO لنظام التشغيل Linux، وDylib لنظام التشغيل macOS).

انظر أيضاً

مراجع

  1. ^ "سوبر زاب" . تم الاسترجاع في 7 حزيران (يونيو) 2015 .