Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Enigma- — إعادة تنفيذ بلغة C++ للنواة التحليلية الخاصة بـ Ghidra دون الاعتماد على JVM، مما يوفر تحليلًا ثنائيًا قابلًا للتضمين، وأسس Pcode/Sleigh، وواجهات جاهزة للذكاء الاصطناعي لهندسة عكسية. | Kitploit
أدوات/GitHubGitHub/gmh5225/enigma-
التحليل الثابتتحليل الكودتحليل الشفرة الديناميكي (DAST)الهندسة العكسيةالأدوات والمكوناتتحليل الملفات الثنائيةالهندسة العكسية بمساعدة الذكاء الاصطناعيأمن الذكاء الاصطناعي
GitHubgmh5225/enigma-

Enigma-

إعادة تنفيذ بلغة C++ للنواة التحليلية الخاصة بـ Ghidra دون الاعتماد على JVM، مما يوفر تحليلًا ثنائيًا قابلًا للتضمين، وأسس Pcode/Sleigh، وواجهات جاهزة للذكاء الاصطناعي لهندسة عكسية.

عرض المستودع
14منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Enigma

إعادة تنفيذ بلغة C++ للنواة التحليلية الخاصة بـ Ghidra (SoftwareModeling + Utility)، مجرّدة من تبعيات Java/JVM. مبنية للتكامل مع الذكاء الاصطناعي، والأداء، وقابلية التضمين. جزء من مشروع Enigma Engine.

Enigma Engine

إعادة تنفيذ بلغة C++ للنواة التحليلية الخاصة بـ Ghidra — بدون JVM، بدون Java، تحكّم كامل.


ما هذا؟

Ghidra هو إطار عمل قوي للهندسة العكسية بنته وكالة NSA بلغة Java. Enigma هي إعادة كتابة من الصفر لـنواتها التحليلية بلغة C++ الحديثة، مصمّمة لتكون:

  • قابلة للتضمين — اربطها كمكتبة في أي مشروع
  • جاهزة للذكاء الاصطناعي — واجهات نظيفة للتكامل مع ML/AI
  • سريعة — بدون عبء JVM، تخطيط ذاكرة أصلي
  • قابلة للتعديل — كل ملف ملكك لتعدّله أو توسّعه أو تستبدله

هذا ليس ناتج مترجم من Java إلى C++. كل ملف مترجم يدويًا ومُتحقَّق منه، مع تغطية اختبارية كاملة.


لماذا؟

قاعدة شيفرة Ghidra بلغة Java ناضجة لكن يصعب توسيعها في اتجاهات معينة:

المشكلةجواب Enigma
عبء بدء تشغيل JVM + GCC++ أصلي، بدون وقت تشغيل
صعوبة التضمين في مشاريع غير Javaمكتبة ثابتة/مشتركة
تكامل الذكاء الاصطناعي يتطلب جسور JNIواجهة C++ مباشرة
نظام إضافات أحاديمكوّنات معيارية قابلة للاستبدال

الحالة الحالية

تطوير نشط — الأساس التحليلي مستقر ومُختبَر.

نظام الأنواع الأساسي، ونموذج العناوين، وواجهات الذاكرة، وإطار الإعدادات، وأساسيات Pcode/Sleigh كلها منفّذة وتجتاز الاختبارات. يتبع المشروع ترتيب ترجمة صارم من الأسفل إلى الأعلى: لا تُضاف أي وحدة حتى تكون جميع تبعياتها جاهزة ومُتحقَّق منها.

نظام البناء: CMake + Ninja + CTest — بدون تحذيرات، جميع الاختبارات تنجح.


البنية المعمارية

يحاكي Enigma بنية الحزم الداخلية لـ Ghidra، مترجمة إلى فضاءات أسماء C++:

root@kitploit:~
include/ghidra/
├── [Address system]     Address, AddressSpace, AddressFactory, AddressRange
├── [Data types]         DataType, Structure, Union, Enum, Pointer,
│                        Array, TypeDef, FunctionDefinition, ...
├── [Memory]             MemBuffer, MemoryBlock, Memory, ByteProvider
├── [Settings]           Settings + full SettingsDefinition hierarchy
├── [Pcode / Sleigh]     PcodeOp, Varnode, SleighLanguage, SequenceNumber
└── [Utilities]          MathUtilities, DataConverter, Msg, TaskMonitor, ...

src/
└── [.cpp implementations for complex classes]

قرارات التصميم الرئيسية:

  • Java interface → C++ abstract class بدوال virtual خالصة
  • Java ArrayList / HashMap → std::vector / std::unordered_map
  • إرجاع Java null → std::optional<T>
  • Java Generics → قوالب C++
  • Address دُمجت من الواجهة + التنفيذ في نوع قيمة واحد (يتجنّب تخصيص الكومة)
  • المؤشرات الخام تُستخدم للمراجع غير المالكة فقط؛ الملكية دائمًا صريحة

النطاق

Enigma هو بديل كامل لـ Ghidra — كل مكوّن موجود في Java سيكون له مقابل بلغة C++، بما في ذلك واجهة المستخدم، ونظام الإضافات، والمفكّك، والمفكّك العكسي (decompiler)، ومحرّك البرمجة النصية.

التركيز الحالي على النواة التحليلية — الأساس الذي يُبنى عليه كل شيء آخر. بمجرد أن تصبح صلبة ومُختبَرة، ستتبع الطبقات المتبقية (GUI، والحمّالات، وإضافات التحليل، والبرمجة النصية) بالترتيب.

لا شيء مستبعد بشكل دائم. كل شيء مسألة أولوية.


البناء

المتطلبات

  • مترجم C++17 (g++ 11+ أو clang++ 13+)
  • CMake 3.20+
  • Ninja (مُوصى به)

الخطوات

root@kitploit:~
git clone https://github.com/adam-040/Enigma.git
cd Enigma
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure

خارطة الطريق

المدى القريب

  • إكمال محرّك لغة Sleigh (تحميل .sla / .pspec)
  • PcodeEmitter — توليد Pcode من التعليمات الخام
  • BasicBlock + ControlFlowGraph
  • تكامل Capstone للتفكيك (x86، ARM، RISC-V)

المدى المتوسط

  • تكامل LIEF لتحميل الملفات الثنائية (ELF، PE، Mach-O)
  • جدول الرموز + استعادة الأنواع
  • Decompiler IR (High Pcode)

تكامل الذكاء الاصطناعي

  • واجهة C++ نظيفة لنماذج ML
  • استنتاج توقيع الدوال
  • اقتراح أسماء/أنواع المتغيرات
  • تكامل LLM محلي (بدون اعتماد على السحابة)

تسمية المشروع

Enigma — سُمّي على اسم آلة التشفير في الحرب العالمية الثانية، التي كُسرت عبر الهندسة العكسية. بدا الاسم مناسبًا.


الترخيص

هذا المشروع ترجمة لـ Ghidra، المرخّص تحت Apache License 2.0.

يُوزَّع Enigma تحت نفس الترخيص. راجع LICENSE للتفاصيل.


ذو صلة

  • Ghidra (NSA) — مشروع Java الأصلي
  • Capstone — محرّك التفكيك (تكامل مخطط له)
  • LIEF — تحليل الملفات الثنائية (تكامل مخطط له)
تنزيل الأداة