منصة عمل هندسة عكسية مبنية على مُفكِّك Ghidra مع محرك أصلي بدون Java، وتحليل دوال بمساعدة الذكاء الاصطناعي، وترقيع على مستوى البايت، ومحاكاة معزولة، وأتمتة عبر CLI/MCP.
فكّك برنامجًا وافهمه، بمساعدة من KRAKEN. KRAKEN هو منصة عمل مفتوحة المصدر للهندسة العكسية مبنية على مفكّك Ghidra، بمحرّك أصلي لا يحتاج إلى Java ومحرّك Ghidra كامل اختياري. أنت وسكربتاتك ووكلاء الذكاء الاصطناعي تعملون جميعًا على المشروع نفسه عبر مجموعة أوامر واحدة، وكل تعديل يُسجَّل ويُنسب إلى صاحبه ويمكن التراجع عنه. لا تحتاج إلى معرفة الهندسة العكسية للبدء: يشرح التطبيق المصطلحات أثناء عملك، ويرشدك البرنامج التعليمي خلال جلسة أولى. الهدف بعيد المدى هو إعادة كتابة الملفات التنفيذية بلغة Rust، دالةً بدالة، مع التحقق من كل منها مقابل الأصل.

مشروع حقيقي على المحرّك الأصلي: stripped_calc-O2-stripped من هذا المستودع، بعد تسمية بضع دوال.
التحليل
التعديل
الذكاء الاصطناعي
الأتمتة
--json للسكربتات، ووحدة Python، وخادم خلفي (daemon) يُبقي المشاريع جاهزة.إعادة الكتابة
KRAKEN في مرحلة ما قبل ألفا (0.1a). توقّع خشونة في الحواف وتغييرات كاسرة.
| Linux x86_64 | macOS (Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| واجهة سطر الأوامر، وخادم MCP، والواجهة الرسومية | يعمل | يُبنى، تجريبي | يُبنى، تجريبي |
المحرّك الأصلي، بدون Java (kraken setup --native) | يعمل (ELF وPE) | ليس بعد | ليس بعد |
التحليل باستخدام Ghidra (kraken setup) | يعمل | ليس بعد | ليس بعد |
| العزل حول Ghidra | Landlock | ليس بعد | ليس بعد |
| النماذج المحلية | يعمل | يُبنى | يُبنى |
| خط إعادة الكتابة | يعمل (يحتاج Landlock ونموذجًا) | يرفض التشغيل | يرفض التشغيل |
"يُبنى" تعني أن الشيفرة تُترجم وتُفحص في CI، لا أن المنتج بأكمله أُثبت عمله هناك. Linux هي المنصة التي يُنصح باستخدامها اليوم.
Linux x86_64 (لا حاجة إلى Java: المحرّك الأصلي وملفات المعالجات الخاصة به موجودة في الإصدار):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
يتحقق السكربت من التنزيل مقابل SHA256SUMS الخاص بالإصدار، ولا يحتاج إلى sudo ويثبّت في ~/.local. أو خذ ملف AppImage من أحدث إصدار (chmod +x KRAKEN-*.AppImage، ثم شغّله؛ يشغّل ./KRAKEN-*.AppImage kraken --help سطر الأوامر)، أو على Arch Linux ثبّت kraken-workbench-bin من AUR. توجد أرشيفات Windows وmacOS أيضًا على صفحة الإصدارات، وهي تجريبية (انظر الحالة). يتضمن التثبيت التفاصيل والبناء من المصدر.
kraken project-create --binary /usr/bin/ls --project ~/kraken-projects/ls
kraken analyze --project ~/kraken-projects/ls
kraken list-functions --project ~/kraken-projects/ls --limit 20
kraken-gui # or open the app and pick the project
المشاريع الجديدة تستخدم المحرك الأصلي عندما يستطيع فتح الملف، وإلا فإنها تستخدم محرك Ghidra الاختياري (Mach-O، معالجات أخرى، معلومات تصحيح Windows)، والذي يقوم kraken setup بتنزيله مع JDK عند الاستخدام الأول. تقارن صفحة المحرك الأصلي بين الاثنين. تُعد برامج التدريب في corpus/bin/ بداية جيدة، ويمر البرنامج التعليمي عبر جلسة أولى.
اربط وكيلاً: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls.
تحتاج إلى Rust ومترجم C++:
git clone https://github.com/Adam-AtlasSoftware/kraken && cd kraken
cargo build --release -p kraken-cli -p krakend -p kraken-gui -p engine-native -p kraken-emu
export PATH="$PWD/target/release:$PATH"
kraken setup --native # once: fetches the pinned sources, compiles the Sleigh files (about a minute)
ابدأ بـ البرنامج التعليمي: جلسة الهندسة العكسية الأولى.
ابنِ الكتاب باستخدام mdbook build docs. مرجع الأوامر مُولَّد: شغّل cargo xtask docs بعد تغيير أي أمر.
الملفات الثنائية التي تحلّلها غير موثوقة. يعمل كلٌّ من Ghidra ومُفكِّك الترجمة الخاص بالمحرك الأصلي في عملية منفصلة مقيَّدة بـ Landlock على Linux: لا شبكة، والكتابة فقط إلى مجلد منزلي مؤقت ومجلد المشروع، وبيئة مُنقّاة. لا يشغّل KRAKEN البرنامج الذي تفتحه إلا عندما تطلب إعادة كتابة البرنامج بالكامل، مقيَّدًا كالبقية وبعد أن يسألك. كل ما يأتي من الملف (الأسماء، والسلاسل النصية، والتعليقات، والنص المُفكَّك) يُسلَّم إلى نماذج الذكاء الاصطناعي فقط كبيانات غير موثوقة ومُعلَّمة بوضوح، وليس أبدًا كتعليمات. كتابات الوكيل إضافية أو مقترحات: يجوز للوكيل إضافة اسم لشيء لا يزال يُسمى FUN_... أو إضافة تعليق، ضمن حد أقصى لكل تشغيل، بينما أي شيء من شأنه أن يستبدل عملك ينتظر قبولك له. الكود الذي يكتبه النموذج لخط أنابيب إعادة الكتابة يُبنى ويُشغَّل فقط في بيئة معزولة (sandbox)، وأنت وحدك من يمكنه قبوله. راجع الأمان.