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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/weak1337/alcatraz
الهندسة العكسيةتحليل الملفات الثنائية
GitHubweak1337/alcatraz

Alcatraz

أداة إخفاء ثنائية x64 لملفات PE مع تسطيح تدفق التحكم، ومكافحة التفكيك، وإخفاء الاستيراد، وتحوير التعليمات لإعاقة الهندسة العكسية.

عرض المستودع
2.0k268منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ألكاتراز

ألكاتراز هو أداة إخفاء للثنائيات (binaries) بمعمارية x64 قادرة على إخفاء أنواع مختلفة من ملفات PE بما في ذلك:

  • .exe
  • .dll
  • .sys

نظرة عامة

  • ألكاتراز
  • المتطلبات
  • الاستخدام
  • الميزات
    • إخفاء الحركات الفورية
    • تسوية تدفق التحكم
    • تحوير ADD
    • إخفاء نقطة الدخول
    • إخفاء Lea
    • مكافحة التفكيك
    • إخفاء الواردات
    • النتيجة النهائية

المتطلبات

قم بتثبيت: https://vcpkg.io/en/getting-started.html

asmjit: vcpkg.exe install asmjit:x64-windows
Zydis: vcpkg.exe install zydis:x64-windows

الاستخدام

imgbefore 1.) قم بتحميل ثنائي (binary) بالنقر على file في الزاوية العلوية اليسرى.
2.) أضف الدوال (functions) بتوسيع شجرة Functions. (يمكنك البحث بإدخال الاسم في شريط البحث في الأعلى)
3.) اضغط على compile (ملاحظة: قد يستغرق إخفاء العديد من الدوال بضع ثوانٍ)

الميزات

في العرض التوضيحي التالي، يتم تعطيل جميع الميزات باستثناء الميزة التي يتم عرضها.

إخفاء الحركات الفورية

إذا تم نقل قيمة فورية إلى سجل (register)، فإننا نقوم بإخفائها بتطبيق عمليات بت (bitwise) متعددة. دعنا نلقي نظرة على الدالة الشهيرة _security_init_cookie.
قبل: imgbefore بعد: imgafter

تسوية تدفق التحكم

بإزالة هيكل البرنامج المنظم الذي أنشأه المترجم ووضع الكود الخاص بنا في كتل جديدة مولدة، نزيد من تعقيد البرنامج. لنأخذ هذه الدالة البسيطة main كمثال (تم تعطيل التحسين لهذا البرنامج):
imgmain
إذا قمنا بإدخالها في IDA 7.6، سيقوم مفكك التجميع (decompiler) بتحسينها:
imgmainnoobf
الآن دعنا نسوي تدفق تحكمها ونترك IDA يحللها مرة أخرى:
imgmainobf
كما ترى، زاد التعقيد بشكل كبير على الرغم من أنني أعرض فقط جزءًا صغيرًا من الكود المُنشأ. إذا كنت تريد معرفة شكل تدفق التحكم (CFG): imgmaincfg

تحوير ADD

إذا تمت إضافة سجل (مثل RAX) إلى سجل آخر (مثل RCX)، فسنقوم بتحوير التعليمات. هذا يعني أن الصياغة تتغير ولكن لا يتغير المعنى. التعليمة ADD RCX, RAX يمكن تحويرها إلى:

root@kitploit:~
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1

إذا كنت ترغب في معرفة المزيد عن التحوير، ألق نظرة على perses.

إخفاء نقطة الدخول

إذا كان ملف PE هو .exe (سيتم إضافة دعم .dll لاحقًا)، فسننشئ نقطة دخول مخصصة تقوم بفك تشفير النقطة الحقيقية عند بدء التشغيل (لا يعمل عند التحميل اليدوي (manual mapping)).
imgmaincfg

إخفاء Lea

إخفاء Lea بسيط ولكنه فعال. نقوم بنقل موقع مختلف إلى السجل ثم فك تشفيره لاحقًا. بهذه الطريقة، لا يستطيع مهندسو الهندسة العكسية الربط بين بيانات / دوال معينة.
لنفترض أننا نجد التعليمة التالية: lea rcx, [0xDEAD]
سنقوم بتحويرها إلى:

root@kitploit:~
pushf
lea rcx, [1CE54]
sub rcx, EFA7
popf

rcx -> 0xDEAD

مكافحة التفكيك

إذا وجدنا تعليمة تبدأ بالبايت 0xFF فسنضع 0xEB أمامها.
نفعل هذا لأن 0xEB 0xFF يتم ترميزه كـ jmp rip + 1 الذي يقفز في النهاية إلى أول 0xFF الفعلي لدينا. هذا سيربك الأدوات التي تفكك التعليمات بطريقة خطية.
قبل:
imgffbefore
بعد:
imgffafter

من وقت لآخر يمكننا إدراج:

root@kitploit:~
jz 3
jne 1
0xE8

سيحاول IDA فك ترميز 0xE8 (call) ولكنه لن ينجح:
imgjz

إخفاء الواردات

لا يوجد حاليًا إخفاء "مناسب" لجدول IAT. خدعة مكافحة التفكيك 0xFF تعتني بهذا الآن. يتم التخطيط لتطبيق مناسب هنا:
iat.cpp

النتيجة النهائية

هذا مقتطف من دالتنا main مع تمكين كل شيء باستثناء مكافحة التفكيك (حتى يتمكن IDA من إنشاء دالة):
imgfinal

تنزيل الأداة