تخطي إلى المحتوى

لا يمكن تحويل هذا النوع من الملفات في المتصفح.

┐─ تحليل الملف ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
المطور : مايكروسوفت
الفئة : نظام
نوع MIME : application/vnd.microsoft.portable-executable
بايتات : 4D5A
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

ما هو ملف DLL؟

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

ملفات DLL تستخدم نفس صيغة PE (Portable Executable) التي تستخدمها EXE، لكنها تُصدِّر دوالها بدلاً من نقطة دخول تنفيذية.

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

  • Dependency Walker / Dependencies (ويندوز) — عرض تبعيات DLL والدوال المُصدَّرة
  • PE Explorer (ويندوز) — عارض الموارد والبنية الداخلية
  • dotPeek / ILSpy (ويندوز) — مُفكك ترميز مكتبات .NET DLL
  • Ghidra (ويندوز، ماك، لينكس) — أداة تحليل شفرة ثنائية مجانية من NSA
  • x64dbg / OllyDbg (ويندوز) — مصحح أخطاء لفحص DLL أثناء التشغيل

المواصفات التقنية

الخاصيةالقيمة
الصيغةPE (Portable Executable)
الوضعوضع المستخدم (Ring 3)
نقطة الدخولDllMain() (اختيارية)
الصادراتجدول الصادرات يُعرّف الدوال المتاحة
التحميلثابت (وقت الربط) أو ديناميكي (وقت التشغيل)
بايتات سحرية4D 5A (أي MZ، مشترك مع EXE)

ملفات DLL الأساسية في ويندوز

الملفالغرض
kernel32.dllإدارة الذاكرة والعمليات والملفات
user32.dllواجهة المستخدم ونوافذ ويندوز
gdi32.dllرسومات GDI
ntdll.dllواجهة نواة NT
msvcrt.dllمكتبة وقت تشغيل C من مايكروسوفت

الاستخدامات الشائعة

  • الشفرة المشتركة: وظائف قابلة لإعادة الاستخدام مُشتركة بين برامج متعددة
  • الإضافات: امتدادات المتصفح وإضافات برامج تحرير الصور والألعاب
  • واجهة برمجة ويندوز (WinAPI): جميع مكتبات النظام كـ DirectX وOpenGL تُقدَّم كـ DLL
  • مكتبات COM: كائنات COM تُوزَّع كـ DLL
  • .NET Framework: مكونات .NET مُوزَّعة كـ DLL بصيغة IL قابل للتفكيك

مشكلة DLL Hell

في حقبة ويندوز القديمة، كان التثبيت يُلوّث ملفات DLL المشتركة بنسخ غير متوافقة — ظاهرة عُرفت بـ “DLL Hell”. حلّت مايكروسوفت هذه المشكلة بـ:

  • WinSxS (Windows Side-by-Side): تثبيت نسخ متعددة من نفس DLL بالتوازي
  • التجميعات الخاصة: تضمين DLL داخل مجلد التطبيق نفسه

اعتبارات الأمان

ملفات DLL من مصادر غير موثوقة يمكن أن تحتوي على شفرة خبيثة. هجوم “DLL Hijacking” يستغل ترتيب بحث ويندوز عن DLL: إذا وُجد malicious.dll في مجلد التطبيق بنفس اسم DLL نظامي، قد يُحمَّل بدلاً منه. تحقق دائماً من التوقيع الرقمي لملفات DLL غير المألوفة.