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

نظرًا لأن SentinelNav يعتمد فقط على مكتبة Python القياسية، فلا حاجة لتثبيت أي حزم خارجية.
sentinelnav.py.python3 sentinelnav.py
http://localhost:8000.pip install.0x0A للملفات النصية أو البروتوكولات النصية).concurrent.futures.ProcessPoolExecutor لاستغلال جميع أنوية وحدة المعالجة المركزية أثناء المسح.يتبع SentinelNav بنية المنتج-المستهلك مع واجهة العميل-الخادم.
N بايت بشكل متكرر.Processor بتوليد مجموعة من العمال بناءً على عدد وحدات المعالجة المركزية.sqlite3 مؤقتة تنشئ فهرسًا منظمًا للملف الثنائي.http.server.ThreadingMixIn للتعامل المتزامن مع طلبات HTTP./data: يعيد صفحات JSON لبيانات الكتلة (اللون + الإنتروبيا)./read: تفريغات سداسية عشرية محددة للوحة المفتش./search: يفحص الملف الفعلي بحثًا عن تسلسلات سداسية عشرية./download: يستخرج الكتل الثنائية الخام أو ينشئ صورة BMP.تستخدم الأداة خوارزمية RGB محددة لتمثيل أنواع البيانات الثنائية.
أنماط شائعة:
لا حاجة لتثبيت أي مكتبات. ما عليك سوى تنزيل الملف.
# استنساخ أو تنزيل السكربت
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py
يمكنك تشغيل الأداة تفاعليًا أو عبر وسائط سطر الأوامر.
تشغيل الأداة بدون وسائط يطلق المعالج:
python3 sentinelnav.py
للأتمتة أو المستخدمين المتقدمين، استخدم العلامات لتخطي المعالج.
python3 sentinelnav.py <target_file> [options]
مثال: مسح صورة برنامج ثابت بدقة 256 بايت على المنفذ 8080:
python3 sentinelnav.py firmware.bin --size 256 --port 8080
بمجرد تحميل الواجهة الويب، تتوفر الضوابط التالية:
| اللون | المكون | المعنى |
|---|
| أحمر | بت عالي | بايتات 0x80 - 0xFF. تشير إلى كود آلة مجمّع، بيانات مضغوطة، كتل مشفرة، أو بيانات صور. |
| أخضر | ASCII | بايتات 0x20 - 0x7E. تشير إلى نص عادي، كود مصدر، JSON، XML، أو سجلات. |
| أزرق | تحكم | بايتات 0x00 - 0x1F. تشير إلى حشو صفري، رؤوس، أو أحرف تحكم في البروتوكول. |
| الوسيطة | الوصف | الافتراضي |
|---|
--mode | وضع المسح: fixed أو sentinel. | fixed |
--size | حجم الكتلة (بالبايت) للوضع الثابت، أو الحد الأقصى للمخزن المؤقت لوضع الحارس. | 1024 |
--hex | البايت الفاصل لوضع الحارس (مثل 0A لسطر جديد). | 00 |
--port | منفذ خادم الويب. | 8000 |
--window | حجم النافذة المنزلقة لحسابات كشف الشذوذ. | 5 |
| المفتاح | الإجراء |
|---|
| W / A / S / D | تحريك مؤشر التحديد (أعلى/يسار/أسفل/يمين). |
| سهم لليسار | الصفحة السابقة. |
| سهم لليمين | الصفحة التالية. |
| Shift + WASD | تحديد نطاق من الكتل (تحديد متعدد). |
| Shift + النقر | تحديد نطاق من النقطة المرجعية السابقة إلى الكتلة التي تم النقر عليها. |