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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ReflectiveDLLInjection — حقن DLL الانعكاسي هو تقنية حقن مكتبات تُستخدم فيها فكرة البرمجة الانعكاسية لتنفيذ تحميل مكتبة من الذاكرة إلى عملية مضيفة. | Kitploit
أدوات/GitHubGitHub/stephenfewer/reflectivedllinjection
تحليل الذاكرة الجنائيالاستغلالما بعد الاستغلالالفريق الأحمرتطوير الحمولات
GitHubstephenfewer/reflectivedllinjection

ReflectiveDLLInjection

حقن DLL الانعكاسي هو تقنية حقن مكتبات تُستخدم فيها فكرة البرمجة الانعكاسية لتنفيذ تحميل مكتبة من الذاكرة إلى عملية مضيفة.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
3.3k8167منذ 4 سنواتتمت المراجعة من قبل Kitploit

حول

حقن مكتبات DLL الانعكاسي هو تقنية حقن مكتبات يتم فيها توظيف مفهوم البرمجة الانعكاسية لتنفيذ تحميل مكتبة من الذاكرة إلى عملية مضيفة. وبهذا تكون المكتبة مسؤولة عن تحميل نفسها من خلال تنفيذ مُحمّل ملفات Portable Executable (PE) أدنى. ويمكنها بعد ذلك التحكم، مع أقل قدر من التفاعل مع النظام المضيف والعملية، في كيفية تحميلها وتفاعلها مع المضيف.

يعمل الحقن من Windows NT4 حتى Windows 8 بما في ذلك، على معماريات x86 وx64 وARM حيثما ينطبق ذلك.

نظرة عامة

عملية حقن مكتبة عن بُعد في عملية ما تتكون من جزأين. أولاً، يجب كتابة المكتبة التي ترغب في حقنها في مساحة العناوين الخاصة بالعملية الهدف (يُشار إليها هنا باسم العملية المضيفة). ثانيًا، يجب تحميل المكتبة في تلك العملية المضيفة بطريقة تلبي توقعات وقت التشغيل للمكتبة، مثل حل الواردات الخاصة بها أو نقلها إلى موقع مناسب في الذاكرة.

بافتراض أن لدينا تنفيذ كود في العملية المضيفة وأن المكتبة التي نرغب في حقنها قد كُتبت في موقع عشوائي من الذاكرة في العملية المضيفة، فإن حقن مكتبات DLL الانعكاسي يعمل على النحو التالي.

  • يتم تمرير التنفيذ، إما عبر CreateRemoteThread() أو عبر كود شيل صغير للتمهيد، إلى دالة ReflectiveLoader الخاصة بالمكتبة وهي دالة مُصدَّرة موجودة في جدول التصدير الخاص بالمكتبة.
  • نظرًا لأن صورة المكتبة ستتواجد حاليًا في موقع عشوائي في الذاكرة، فإن ReflectiveLoader ستحسب أولاً موقع صورتها الحالي في الذاكرة لتتمكن من تحليل رؤوسها الخاصة لاستخدامها لاحقًا.
  • ستقوم ReflectiveLoader بعد ذلك بتحليل جدول التصدير الخاص بـ kernel32.dll في العملية المضيفة لحساب عناوين ثلاث دوال مطلوبة للمُحمّل، وهي LoadLibraryA وGetProcAddress وVirtualAlloc.
  • ستقوم ReflectiveLoader الآن بتخصيص منطقة متصلة من الذاكرة ستقوم بعدها بتحميل صورتها الخاصة فيها. الموقع ليس مهمًا لأن المُحمّل سيقوم بنقل الصورة بشكل صحيح لاحقًا.
  • يتم تحميل رؤوس وأقسام المكتبة في مواقعها الجديدة في الذاكرة.
  • ستقوم ReflectiveLoader بعد ذلك بمعالجة النسخة المحمّلة حديثًا من جدول الواردات الخاص بصورتها، وتحميل أي مكتبات إضافية وحل عناوين الدوال المستوردة الخاصة بها على التوالي.
  • ستقوم ReflectiveLoader بعد ذلك بمعالجة النسخة المحمّلة حديثًا من جدول النقل الخاص بصورتها.
  • ستقوم ReflectiveLoader بعد ذلك باستدعاء دالة نقطة الدخول الخاصة بصورتها المحمّلة حديثًا، DllMain مع DLL_PROCESS_ATTACH. تم الآن تحميل المكتبة بنجاح في الذاكرة.
  • أخيرًا، ستعيد ReflectiveLoader التنفيذ إلى كود شيل التمهيد الأولي الذي استدعاها، أو إذا تم استدعاؤها عبر CreateRemoteThread، فسينتهي مؤشر الترابط.

البناء

افتح ملف 'rdi.sln' في Visual Studio C++ وقم ببناء الحل في وضع Release لإنشاء inject.exe وreflective_dll.dll

الاستخدام

لاختبار الاستخدام، استخدم inject.exe لحقن reflective_dll.dll في عملية مضيفة عبر معرف العملية، على سبيل المثال:

inject.exe 1234

الترخيص

مرخّص بموجب ترخيص BSD من ثلاث فقرات، يرجى الاطلاع على LICENSE.txt للحصول على التفاصيل.

تنزيل الأداة