NeuroCore
أداة تحليل وتصور ثنائي هيكلي عالية الأداء
الملخص
NeuroCore هي أداة أصلية لنظام macOS مصممة للتحليل الهيكلي للبيانات الثنائية من خلال التصور عالي السرعة. من خلال الاستفادة من الحوسبة العامة على وحدات معالجة الرسومات (GPGPU) عبر تظليلات Metal الحاسوبية، يقوم التطبيق برسم تدفقات البيانات الثنائية الخام على منحنى هيلبرت المليء بالفراغات في الوقت الفعلي. يسهل هذا الإسقاط التحديد السريع لتصنيف الملفات، وتوزيع الإنتروبيا، والشذوذات التشفيرية، متغلبًا على قيود التمثيل السداسي العشري الخطي.
مقدمة
تقدم محررات الهيكس التقليدية البيانات الثنائية بتنسيق خطي قائم على الإزاحة، مما يحجب الأنماط الهيكلية على المستوى الكلي وكثافة البيانات. يعالج NeuroCore هذه الفجوة الاستكشافية من خلال إسقاط البيانات الخطية في فضاء طوبولوجي ثنائي الأبعاد.
يعتمد الإسقاط الأساسي على منحنى هيلبرت، وهو منحنى كسوري مستمر يملأ الفراغات. يحافظ هذا التحويل الرياضي على الموقع المكاني: تظل نقاط البيانات المتجاورة في تدفق الذاكرة الخطي متجاورة تمامًا في التصور ثنائي الأبعاد. تسمح هذه الخاصية للمحللين بتحليل التركيب الهيكلي للملف بصريًا—التمييز بين كود الآلة، النص المهيكل، الصور النقطية، والكتل عالية الإنتروبيا—بدون تحليل رأس الملف.
البنية التقنية
تم تصميم NeuroCore كتطبيق أصلي عالي الأداء، متجاوزًا طبقات التجريد الوسيطة للتفاعل مباشرة مع وحدة معالجة الرسومات.
- اللغة: Swift 5.5+ (التزامن الصارم)
- خط أنابيب الرسوميات: واجهة برمجة Metal (أوامر الترميز الحاسوبية والتقديمية)
- الواجهة: SwiftUI مع ربط
NSViewRepresentable لطبقات Metal.
خط أنابيب التقديم
يستخدم محرك التقديم نواة مخصصة بلغة تظليل Metal (MSL) لتنفيذ الحساب المتوازي لإنتروبيا شانون ورسم الخرائط الإحداثية.
- الاستيعاب: يتم نقل البيانات الثنائية الخام إلى كائنات
MTLBuffer.
- الحساب: تنفذ وحدة معالجة الرسومات حساب الإنتروبيا بنافذة منزلقة عبر المخزن المؤقت.
- رسم الخرائط: يتم تحويل الإزاحات الخطية إلى إحداثيات $(x, y)$ باستخدام خوارزميات رسم خرائط هيلبرت على مستوى البت.
- التنقيط: يتم تلوين أجزاء البكسل ديناميكيًا بناءً على تباين الإنتروبيا المحلي، محققًا أداء 60 إطارًا في الثانية على مجموعات بيانات كبيرة بشكل تعسفي دون تقطيع ذاكرة VRAM.
تحليل البيانات المرئية والتفسير
توضح دراسات الحالة التالية فعالية NeuroCore في تمييز هياكل الملفات من خلال تصور الإنتروبيا.
الشكل 1: تصور ملف ثنائي مجهول بحجم 17.7 ميجابايت (تم تحديده كـ JSON هرمي)
دراسة الحالة الأولى: بيانات هرمية منخفضة الإنتروبيا
الموضوع: ملف بحجم 17.7 ميجابايت مصنف على أنه "غير معروف" بواسطة نظام التشغيل.
- توقيع الإنتروبيا (منخفض/متوسط): يهيمن على التصور الطيف الأخضر/السماوي، مما يشير إلى درجة إنتروبيا تقارب $\approx 2.0 - 4.0$. على عكس الكتل المشفرة، يشير هذا الطيف إلى تكرار عالٍ وقابلية للتنبؤ داخل تدفق البيانات.
- الميزات الطوبولوجية: التجزئة الهندسية المميزة والقطع الأثرية "الكتلية" على طول منحنى هيلبرت هي سمة من سمات النص المطبوع بشكل جميل. تمثل المناطق الصلبة تسلسلات بايت متكررة (مثل المسافة البيضاء للمسافات البادئة، والمفاتيح المتكررة)، بينما تمثل الاختلافات المتناثرة تغيرات في القيم.
- الاستنتاج: يؤكد التضاريس البصري أن الملف هو بنية نصية هرمية غير مضغوطة (مجموعة بيانات JSON) بدلاً من ملف تنفيذي مترجم، مما يلغي الحاجة إلى فحص هيكس أولي.
الشكل 2: تصور صورة قرص آبل بحجم 192 ميجابايت (.dmg)
دراسة الحالة الثانية: أرشيفات مضغوطة عالية الإنتروبيا
الموضوع: حجم .dmg بحجم 192 ميجابايت.
- توقيع الإنتروبيا (عالٍ): تشير تشبع بيانات البكسل الحمراء إلى أقصى إنتروبيا ($\approx 7.5 - 8.0$ بت لكل بايت). على الرغم من تفسيرها بصريًا على أنها "ضوضاء"، إلا أن هذا التوزيع العشوائي يشير إلى التخلص الفعال من تكرار البيانات.
- انتظام النسيج: يفتقر التصور إلى "الجزر" الهندسية التي تظهر في الشكل 1. تقوم خوارزميات الضغط (مثل LZFSE، zlib) بتوزيع قيم البايت بشكل موحد لتعظيم كفاءة التخزين، مما يؤدي إلى مجال عالي التباين.
- الاستنتاج: هذه الكثافة البصرية هي التوقيع المميز لـ الملفات التنفيذية المضغوطة، والأحجام المشفرة، أو الأرشيفات المضغوطة. في سياق الطب الشرعي، فإن ملاحظة هذا التوقيع في ملف يدعي أنه مستند قياسي قد يشير فورًا إلى حقن حمولة متخفية أو تشفير.
الميزات الرئيسية
- حساب مسرع بالأجهزة: تفريغ استدلالات الإنتروبيا وتحويل الإحداثيات إلى وحدة معالجة الرسومات عبر تظليلات Metal الحاسوبية، مما يضمن التنقل في الوقت الفعلي.
- الحفاظ على موقع هيلبرت: تحويل التدفقات الخطية إلى تضاريس ثنائية الأبعاد مع الحفاظ على علاقات الجوار، مما يجعل الحدود الهيكلية واضحة بصريًا.
- قياس الألوان المعتمد على الإنتروبيا:
- أحمر: إنتروبيا عالية (تشفير، ضغط، مخرجات مولد أرقام عشوائية).
- أزرق/أخضر: إنتروبيا منخفضة-متوسطة (كود آلة x86/ARM64، نص، رؤوس).
- أسود: مساحة فارغة (حشو/تخصيص صفري).
- النوافذ الافتراضية: تنفيذ نظام تنقل بدون تخصيص ذاكرة. يتم حساب الإزاحات ديناميكيًا داخل التظليل، مما يسمح بالتنقل الفوري في الملفات بحجم غيغابايت دون تخزين مجموعات البيانات الكاملة مسبقًا في VRAM.
حالات الاستخدام
- الهندسة العكسية: تحديد مواقع أقسام
.text، والموارد المضمنة، أو الحمولات المشفرة داخل أغلفة ثنائية بسرعة.
- تحليل البرامج الضارة: التحديد البصري للحزم وطبقات التعتيم، التي تظهر كشذوذات عالية الإنتروبيا مميزة عن المنطق المترجم القياسي.
- الطب الشرعي الرقمي: الكشف عن البيانات المرفقة (تجاوزات نهاية الملف) أو التعديلات التخفيّة التي تعطل أنماط بنية الملف المتوقعة.
- التحقق التشفيري: التحقق البصري من انتظام مولد الأرقام العشوائية وكفاءة خوارزمية الضغط.
التثبيت والبناء
يستخدم هذا المشروع سلسلة الأدوات الأصلية لنظام macOS ولا يتطلب أي مدير حزم خارجي.
المتطلبات الأساسية:
- macOS 12.0 (Monterey) أو أعلى.
- يُوصى بمعمارية Apple Silicon (M1/M2/M3) للحصول على أفضل إنتاجية للتظليل.
- أدوات سطر أوامر Xcode.
الترجمة:
قم بتنفيذ الأمر التالي في جذر المشروع لاستدعاء مترجم Swift وربط الأطر المطلوبة (SwiftUI, Metal, MetalKit, AppKit, Foundation):
swiftc NeuroCoreApp.swift ContentView.swift Renderer.swift ShaderSource.swift Utils.swift \
-o NeuroCore \
-sdk $(xcrun --show-sdk-path) \
-target arm64-apple-macos12.0 \
-framework SwiftUI \
-framework Metal \
-framework MetalKit \
-framework AppKit \
-framework Foundation
التنفيذ:
./NeuroCore
الاستخدام
- استيعاب البيانات: اسحب وأفلت أي هدف ثنائي مباشرة إلى مساحة عرض التصور. يتم التقديم فورًا.
- التنقل:
- التحريك: تمرير بإصبعين (لوحة التتبع) أو عجلة التمرير.
- التكبير/التصغير: اضغط مع الاستمرار على
Option + التمرير لضبط كثافة البايت لكل بكسل.
الترخيص
جميع الحقوق محفوظة.
يُحظر تمامًا الاستخدام التجاري غير المصرح به، أو إعادة التوزيع، أو التعديل.