
تصوّر تسلسلات البايت المتكررة في الملفات الثنائية لكشف البنية المخفية، مما يدعم الهندسة العكسية واكتشاف الأنماط دون توقيعات محددة مسبقًا.

hexcymatix هو مشروع بحثي استكشافي، يُتصوَّر بشكل فضفاض كأداة هندسة عكسية للثنائيات لاستخراج معلومات بنيوية من أنماط البايتات المتكررة في الملفات الثنائية.
لم تتجسد الفكرة في أداة قابلة للاستخدام، لكنها ما زالت تنتج بعض التمثيلات المذهلة للتناظر الذاتي اللافت في البيانات اليومية.
أحيانًا في الهندسة العكسية يكون لديك مثال لبعض البيانات — جدول، أو كتلة مضغوطة، أو حمولة بروتوكول — وتريد العثور على بيانات مشابهة في مكان آخر داخل ملف، دون أن تكون قادرًا بعد على كتابة قاعدة أو محلل يصفها. تريد تشابهًا دون تحديد.
يفترض hexcymatix أن سلاسل البايتات المتكررة توحي بوجود بنية أو علاقة، حتى لو لم نكن نعرف ماهية تلك البنية. من خلال تصوير التكرارات، يمكننا إبراز بيانات مترابطة دون أن نعرف بالضبط ما الذي نبحث عنه.
على سبيل المثال، يحتوي مقطع Pensées أدناه على عدة تسلسلات متكررة ذاتيًا (' incapable of ', ' which he ', 'ing either ') — يفرش hexcymatix الملف على سطرين ويربط أي تسلسلات بايتات متكررة يبلغ طولها 8 بايتات على الأقل:

الروابط التي تظهر عندئذٍ تلمّح إلى بنية وعلاقات كامنة في البيانات.
عند تكرار هذه العملية على ملف ثنائي يومي، تبدأ تلقائيًا في إبراز تشابه ذاتي وروابط وبنية غير متوقعة. كمثال، إليك الملف التنفيذي للبحث عن الأخطاء في تثبيت Windows قياسي:

أهم جزء في العملية هو إضافة أقواس بين اتصالات الأجزاء لجعل المخرجات تبدو رائعة:

بعد أن فقدنا الخيط تمامًا، يمكننا تجربة تمثيلات متنوعة للبيانات. على سبيل المثال، يظهر الملف نفسه واتصالاته مرسومة حول محيط دائرة على النحو التالي:

python hexcymatix.py [options] file [file ...]
| الخيار | الوصف |
|---|---|
--circular | تخطيط دائري: إزاحات البايتات تقابل زوايا على حلقة (الافتراضي) |
--linear | تخطيط أشرطة متوازية: شريطان أفقيان متصلان بمعينات متقاطعة |
--top N [N ...] | الاحتفاظ بأطول N جزء فقط قبل العرض؛ مرّر عدة قيم لعرض صورة واحدة لكل حد قطع |
--no-arcs | رسم الأوتار فقط، مع تخطي الأقواس (أسرع بكثير، وضوضاء بصرية أقل) |
--resolution RES | دقة الإخراج بصيغة WxH أو إعداد مسبق: 480p, 720p, 1080p, 1440p, 4k, uwfhd (2560x1080), suwfhd (3840x1080) (الافتراضي: 1080p) |
--ultra | اختصار لـ --resolution 4000x4000 |
--circle-fill F | جزء من قطر اللوحة تشغله الدائرة (الافتراضي: 0.25، أو 0.50 للإعدادات المسبقة فائقة الاتساع) |
--jpg | كتابة ملف JPEG بجودة 80% أيضًا بجانب كل PNG |
--output-dir DIR | دليل ملفات الإخراج (الافتراضي: output) |
# Circular visualization of an executable
python hexcymatix.py --circular guidgen.exe
# Linear visualization, top 500 fragments only
python hexcymatix.py --linear --top 500 guidgen.exe
# Batch, 4K output
python hexcymatix.py --circular --resolution 4k *.exe
















