Blackbone
مكتبة اختراق ذاكرة ويندوز
الميزات
التفاعل مع العمليات
- إدارة PEB32/PEB64
- إدارة العملية عبر حاجز WOW64
ذاكرة العملية
- تخصيص وتحرير الذاكرة الافتراضية
- تغيير حماية الذاكرة
- قراءة/كتابة الذاكرة الافتراضية
وحدات العملية
- تعداد جميع الوحدات المحملة (32/64 بت). تعداد الوحدات باستخدام قائمة المحمل/كائنات القسم/طرق رأس PE.
- الحصول على عنوان الدالة المُصدّرة
- الحصول على الوحدة الرئيسية
- فصل الوحدة من قوائم المحمل
- حقن وإخراج الوحدات (بما في ذلك صور IL النقية)
- حقن وحدات 64 بت في عمليات WOW64
- تعيين صور PE الأصلية يدوياً
الخيوط
- تعداد الخيوط
- إنشاء وإنهاء الخيوط. دعم إنشاء خيوط عبر الجلسات.
- الحصول على رمز خروج الخيط
- الحصول على الخيط الرئيسي
- إدارة TEB32/TEB64
- الانضمام إلى الخيوط
- تعليق واستئناف الخيوط
- تعيين/إزالة نقاط توقف الأجهزة
البحث عن الأنماط
- البحث عن نمط عشوائي في عملية محلية أو بعيدة
تنفيذ التعليمات البرمجية عن بُعد
- تنفيذ دوال في عملية بعيدة
- تجميع تعليمات برمجية خاصة وتنفيذها عن بُعد
- دعم اصطلاحات cdecl/stdcall/thiscall/fastcall
- دعم وسائط تمرر بالقيمة أو المؤشر أو المرجع، بما في ذلك الهياكل
- أنواع FPU مدعومة
- تنفيذ التعليمات البرمجية في خيط جديد أو أي خيط موجود
التعليق عن بُعد (Hooking)
- تعليق دوال في عملية بعيدة باستخدام int3 أو نقاط توقف الأجهزة
- تعليق الدوال عند العودة
ميزات التعيين اليدوي
- دعم صور x86 و x64
- التعيين في أي عملية غير محمية بشكل عشوائي
- تعيين الأقسام مع أعلام حماية الذاكرة المناسبة
- إعادة توطين الصورة (نوعان فقط مدعومان. لم أرَ صورة PE واحدة تحتوي على أنواع إعادة توطين أخرى)
- تم حل الواردات والواردات المؤجلة
- تم حل الواردات المقيدة كأثر جانبي، على ما أعتقد
- تصديرات الوحدة
- تحميل صور التصدير المُعاد توجيهها
- إعادة توجيه اسم مخطط API
- إعادة التوجيه والعزل SxS
- دعم سياق التفعيل
- حل مسار DLL مشابه لترتيب التحميل الأصلي
- استدعاءات TLS. لخيط واحد فقط ولأسباب PROCESS_ATTACH/PROCESS_DETACH فقط.
- TLS الثابت
- دعم معالجة الاستثناءات (SEH و C++)
- إضافة وحدة إلى بعض هياكل المحمل الأصلية (لدعم واجهات برمجة التطبيقات الأساسية للوحدة: GetModuleHandle، GetProcAddress، إلخ.)
- تهيئة ملف تعريف الأمان
- صور C++/CLI مدعومة
- تفريغ الصورة
- زيادة العداد المرجعي لمكتبات الاستيراد في حالة تعيين الاستيراد اليدوي
- معالجة التبعيات الدورية بشكل صحيح
ميزات السائق (Driver)
- تخصيص/تحرير/حماية ذاكرة المستخدم
- قراءة/كتابة ذاكرة المستخدم والنواة
- تعطيل DEP الدائم لعمليات WOW64
- تغيير علامة حماية العملية
- تغيير حقوق الوصول للمقبض
- إعادة تعيين ذاكرة العملية
- إخفاء ذاكرة وضع المستخدم المُخصصة
- حقن DLL في وضع المستخدم والتعيين اليدوي
- التعيين اليدوي للسائقين
المتطلبات
- Visual Studio 2017 15.7 أو أحدث
- Windows SDK 10.0.17134 أو أحدث
- WDK 10.0.17134 أو أحدث (للسائق فقط)
- VC++ 2017 Libs for Spectre (x86 و x64)
- Visual C++ ATL (x86/x64) مع تخفيفات Spectre
الترخيص
Blackbone مرخصة بموجب رخصة MIT. التبعيات تخضع لتراخيصها الخاصة.
