
DLLirant is a tool to automatize the DLL Hijacking researches on a specified binary.
DLLirant هي أداة لأتمتة أبحاث اختطاف DLL (DLL Hijacking) ووساطة DLL (DLL Proxying) على ملف ثنائي محدد.



حدد ملف PE المطلوب؛ إذا كان ملف .exe، فسيبحث التطبيق حاليًا عن اختطاف ترتيب بحث DLL (DLL Search Order Hijacking)، وإذا حددت ملف DLL، فسيعرض عليك التطبيق عمل Proxy له.
بخصوص الخيار الثاني، يجب عليك تحديد مسار لملف الـ Proxy DLL، ويمكن تحديد هذا المسار بطريقتين:
باستخدام اسم: سيؤدي ذلك إلى إنشاء ملف الـ Proxy DLL وإعادة تسميته باسم ملف DLL المحدد، وسيقوم التطبيق بنسخ ملف DLL المحدد (الأصلي) وإعادة تسميته بالاسم الذي اخترته.
باستخدام مسار: سينشئ هذا الخيار ملفًا واحدًا، وهو ملف الـ Proxy DLL الذي سيستدعي الدوال المُصدَّرة من ملف DLL المحدد في مربع النص.
يمكنك أيضًا إنشاء مجلد import ووضع ملفات DLL المفقودة التي يحتاجها تطبيقك إذا لزم الأمر (سيتم نسخ ملفات DLL تلقائيًا إلى مجلد output مع الملف الثنائي المستهدف).
مهم
بخصوص رسائل الخطأ الخاصة بتطبيقك المستهدف، حاولت تجنّب رسائل الخطأ، لكن لا يمكنك ذلك حقًا لأن مربع الرسالة (messagebox) يتم إنشاؤه بواسطة النظام عبر csrss.exe، وليس عبر التطبيق المستهدف؛ لذا يمكنك محاولة إنهاء سلاسل العمليات والنوافذ الفرعية، واستخدام SetErrorMode وما إلى ذلك... لكنه لن ينجح.
سينشئ البرنامج النصي مجلد إخراج في نفس مجلد DLLirant، وينسخ الملف الثنائي المستهدف إلى مجلد الإخراج.
عبر مكتبة PeNet، سيقوم البرنامج النصي باستخراج أسماء ملفات DLL المطلوبة من قبل الملف الثنائي، واختبار كل دوال الاستيراد المتاحة واحدة تلو الأخرى عن طريق تجميع ملف DLL مخصص يحتوي على دوال التصدير المطلوبة.
إذا تم تنفيذ دالة مطلوبة من قبل الملف الثنائي، فسينشئ ملف DLL المخصص ملف C:\DLLirant\output.txt للتأكد من أن اختطاف DLL ممكن.
سيتم أيضًا إنشاء نماذج إثبات المفهوم (PoCs) لعمليات اختطاف DLL في مجلد DLLirant/dll-hijacks.