الوسوم:
حالة الموضوع:
مغلق
  1. .:: RSS ::.

    .:: RSS ::. عضوية آلية

    الأنتساب:
    ‏9 سبتمبر 2011
    المشاركات:
    14,005
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    36
    الإقامة:
    IQ-T34M




    السلام عليكم ورحمة الله وبركاته



    إن شاء الله تكونوا في تمام الصحة والعافية إخواني

    في هذا الشرح إخواني بإذن الله حنشوف أول قسمين لملف PE
    حنقوم بتحليل ملف النوتباد مع برنامج PEview موجود في المرفقات .

    [​IMG]

    *)كل ملفات PE تبدأ بما يسمى DOS Header الذي يحجز أول 64 بايت من الملف PE
    يخضع هذا القسم لهيكلة معينة تسمى
    IMAGE_DOS_HEADER .


    DOS Stub : هذا الجزء للدوس يُنَفَذ في حالة أن الوندوس لم يتعرف على الملف على أنه على بنية ملف محمول قابل للتنفيذ أو في حالة أردنا تشغيل الملف بالدوس
    ويُظهر بصفة عامة هذه الرسالة :

    "This program must be run under Win32"
    "يعني أن هذا البرنامج يجب تشغيله على وندوس 32 بت"

    أو يظهر رسالة تفيد بأن البرنامج لا يمكن تشغيله من الدوس مثلما هو الحال مع النوت باد
    " This Program cannot be run in DOS mode"


    أهم جزء لل DOS header في ملف PE يحتوي على القيم 4Dh و 5Ah
    نظيف حرف h للقيم للإشارة على أن هذه القيم مكتوبة بالهيكس .
    وتعني العبارة MZ
    5A لل Z
    4D لل M
    وتعود هذه العبارة ل Mark Zbikowsky وهو من أول المصممين الأصليين ل MS-DOS
    والتي تفيد بصلوحية DOS header .

    MZ

    هي (e_magic) أول 2 بايت تراهم في أي ملف PE تفتحه في hex editor .

    lfanew هي عبارة عن 4 بايت (DWORD) أي 32 بت
    word = 2 bytes = 16 bits
    وأحيانا نشاهد :
    db أي byte
    dd أي DWORD
    dw أي WORD

    و lfanewتوجد في نهاية DOS_HEADERومباشرة قبل بداية مقطع الدوس (DOS stub)

    ينظر محمل الوندوس (windows loader) في هذه offset ليترك مقطع الدوس ويقفز مباشرة إلى مقطعPE header

    مثلما قلنا أن DOS header يحجز أول 64 بايت من الملف PE وهم أول 4 صفوف في الصورة السابقة .
    آخر 4 بايتات مباشرة قبل بداية مقطع الدوس يحتوي على E0h 00h 00h 00h والتي تمثل (بعد قلبها) offset بداية PE header .

    تبدأ PE Header ب signature تبعها 50h, 45h, 00h, 00h (العبارة "PE" ومعها أصفار إنهاء السلاسل ).
    إن وجدت في جزء signature تبع PE Header العبارة NE عوضا عن العبارة PE فأعلم أنك تتعامل مع ملف NE وندوس 16 بت .


    لاتنسوني من صالح دعاؤكم

    في أمان الله




    الملفات المرفقة [​IMG] PEview.rar‏ (28.7 كيلوبايت)
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة