يحتوي تنسيق Windows Portable Executable على فروق دقيقة خاصة به ، لذا إليك دليل سريع حول كيفية عملها.

ملف Windows Portable Executable (PE) هو تنسيق ملف Windows الأصلي للملفات التنفيذية وأنواع الملفات الثنائية الأخرى. تم تصميم تنسيق ملف PE ليكون مستقلاً عن النظام الأساسي ، بحيث يمكن استخدامه على أي جهاز يعمل بنظام Windows تشغيل نفس إصدار نظام التشغيل وبنية المعالج التي كان الملف من أجلها تجميع وانتاج.

لذلك ، دعونا نحلل تنسيق ملف Windows PE ، ونتعرف على هيكله والمكونات المكونة له.

ما هو ملف Windows Portable القابل للتنفيذ؟

قبل استكشاف تنسيق Windows Portable Executable ، من المهم توضيح الأساسيات. لنعد خطوة إلى الوراء ونتعرف على المفهوم الأساسي لـ Windows PE - COFF.

عندما تقوم بترجمة التعليمات البرمجية المصدر إلى برنامج ، يقوم المحول البرمجي بإنشاء ملف كائن (.obj). يحتوي ملف الكائن هذا على إرشادات للكمبيوتر بتنسيق ثنائي.

COFF أو Common Object File Format عبارة عن مجموعة موحدة من الاصطلاحات لتمثيل التعليمات الثنائية. يساعد COFF في الحفاظ على التوافق عبر الأنظمة الأساسية حيث تتبع جميع تنسيقات ملفات COFF نفس مجموعة القواعد والاتفاقيات لتنظيم التعليمات البرمجية والبيانات. على الرغم من أن COFF تم تطويره في الأصل للاستخدام على أنظمة * NIX ، إلا أنه موجود الآن في كل مكان عبر جميع الأنظمة الأساسية.

instagram viewer

تنسيق ملف Windows Portable Executable (PE) هو تعديل لـ COFF وقد تم تطويره لاستخدامه حصريًا في أنظمة Windows 32 بت و 64 بت. بخلاف COFF ، الذي يوفر تنسيقًا موحدًا لملفات الكائنات ، يوفر Windows PE تنسيقًا قياسيًا للملفات التنفيذية وملفات المكتبة.

يحتوي على أقسام ورؤوس توفر معلومات حول الملف القابل للتنفيذ المعني وتساعد أداة تحميل النظام على إدارة البيانات المتعلقة بالملف التنفيذي. تساعد الرؤوس الموجودة في ملف PE أداة تحميل النظام على تعيين الملف على الذاكرة وحل التبعيات مثل صادرات / استيراد واجهة برمجة التطبيقات وإدارة الموارد وإعداد الملف للتنفيذ.

يحتوي Linux أيضًا على تكرار خاص به لـ COFF ؛ إنه يسمى ملف الارتباط القابل للتنفيذ أو باختصار ثنائي ELF. يمكنك التحقق مما إذا كان الملف ELF أم لا عن طريق تشغيل ملف أمر الملف على Linux باستخدام اسم الملف كوسيطة أولى.

هيكل قابل للتنفيذ ويندوز محمول

يتكون تنسيق الملف القابل للتنفيذ المحمول من عدة مكونات ، لكل منها غرض محدد. تشمل هذه المكونات:

  • رؤوس الأقسام ، التي تصف تخطيط وخصائص كل قسم من أقسام الملف. الأقسام نفسها ، والتي تحتوي على تعليمات برمجية وبيانات وموارد قابلة للتنفيذ.
  • رأس PE ، الذي يوفر معلومات حول البنية العامة للملف ومتطلباته.
  • رأس DOS ، والذي يتضمن برنامجًا صغيرًا يتم تشغيله عند تنفيذ الملف على نظام DOS.
  • وأخيرًا ، رؤوس قسم PE ، والتي تصف موقع كل قسم والسمات داخل الملف.

بشكل عام ، تعمل هذه المكونات معًا لإنشاء تنسيق منظم يسمح لنظام التشغيل بتحميل التعليمات البرمجية القابلة للتنفيذ الموجودة في الملف وتنفيذها وإدارتها بشكل صحيح. دعنا نتعلم بالضبط ما يفعله كل مكون.

رأس DOS

الجزء الأول من ملف PE يسمى DOS Header. يتم تخزين كمية صغيرة من التعليمات البرمجية القابلة للتنفيذ في رأس DOS والتي يمكن تشغيلها أيضًا على جهاز DOS.

يسمى هذا الرمز أيضًا كعب MS-DOS ويستخدم لرمي رسالة خطأ على الأنظمة التي لا تدعم ملف PE.

رأس PE

يوفر رأس Portable Executable معلومات حول الملف القابل للتنفيذ ، مثل حجم الملف ، ومكان وجود الأجزاء المختلفة ، والموارد التي يحتاجها الملف القابل للتنفيذ. يحتوي رأس PE أيضًا على معلومات حول نوع الملف القابل للتنفيذ ، سواء كان ملف ملف Windows .DLL أو ملف .EXE.

رؤوس الأقسام

يتم تنفيذ الأقسام لتنظيم العديد من مكونات الملف القابل للتنفيذ مثل التعليمات البرمجية والبيانات والموارد مثل السلاسل النصية والصور وما إلى ذلك. تتضمن رؤوس الأقسام معلومات تتعلق بحجم وموقع كل قسم ، بالإضافة إلى أي إشارات مرتبطة به.

يمكن أن تشير العلامات المرتبطة بكل رأس قسم إلى سمات متنوعة للقسم ، مثل ما إذا كان قابلاً للتنفيذ أو قابلًا للكتابة أو قابلاً للقراءة. تساعد هذه العلامات نظام التشغيل على تحميل وإدارة محتويات كل قسم بشكل صحيح أثناء تنفيذ البرنامج.

الأقسام

تشتمل الأقسام نفسها على الكود الحقيقي ، والبيانات ، والموارد الخاصة بالملف التنفيذي. تتم محاذاة كل مقطع إلى حد ذاكرة معين وله مجموعة السمات الخاصة به التي تؤثر على كيفية تعامل نظام التشغيل معه.

أنت الآن تعرف كل شيء عن تنسيق ملف Windows Portable القابل للتنفيذ

Windows Portable Executable هو تنسيق ملف قوي ومتعدد الاستخدامات يستخدم لإنتاج مجموعة متنوعة من تطبيقات Windows ومكونات النظام. من خلال فهم بنية تنسيق ملف PE ، يمكن للمطورين إنشاء تطبيقات فعالة تستفيد من الخصائص المميزة لـ Windows.

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