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


العاب / برامج / تصميمات / فديوات / فلاشات
 
الرئيسيةمرحبا بكم في منأحدث الصورالتسجيلدخول

 

 يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
الزعيم
عضو مميز
عضو مميز
الزعيم


عدد المساهمات : 121
تاريخ التسجيل : 27/07/2009
العمر : 32
الموقع : www.google.com

يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Empty
مُساهمةموضوع: يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك   يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Icon_minitime1السبت أغسطس 21, 2010 1:39 pm

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


اذا ما نظرنا الى جميع المنتديات العربية و حتى الاجنبية

و اطلعنا على صفحاتها الاولى نجد :

تشفير بفروست خام فقط بالهيكس

تشفير بوزون من الافيرا و الباندا بتغيير قيمة ثنائية وثلاثية و حتى سباعية.

و هكذا من العناوين البراقة لكن

هل تعرف مكونات هذا الملف exe و ما هي البنية الاساسية له؟ ام فقط تغيير قيم وكفى؟

اذن هيا بنا نكشتف سويا اسرار هذه النوعية من الملفات

الملف exe من الملفات التنفيذية كما يعلم الجميع وتندرج اضافة الى ملفات dll و ocx و..

في ما يعرف بملفات pe

لكن ما معنى هذا الاختصار؟

هو اختصار لكلمة portable executable

و كما قلنا اضافة الى exe توجد dll و ocx

لكننا هنا سنحاول شرح مكونات exe وطبعا ما ينطبق عليه ينطبق على الباقي

اذن ماهي البنية الاساسية لملفات pe

يتكون ملف pe من خمسةاقسام


اقتباس:

1 قائمة تعريف الدوس = Dos MZ Header
2 قسم الدوس = Dos stub
3قائمة تعريف بي = Pe Header
4 قائمة اقسام البرنامج = Section table
5 اقسام البرنامج = Section

على الاقل لابد من وجود قسمين في اقسام البرنامج و قد تصل حتى ثمانية اقسام

كل ملفات pe تبدأ Dos Header و التالي تشغل مساحة 64 بايت من الملف في هذه الحالة يتم تشغيل الملف من

الدوس

فإن كان الملف ملائم يتم نداء مقاطعات الدوس وهي 21hأما اذا كان البرنامج يعمل تحت بيئة win32 انذاك سيتم نداء

المقاطعة

21h ثم الخدمة رقم 9 وهي الخاصة بطبع النصوص مثل L.!This program cannot be run in DOS mode

اذن دعنا نتعمق قليلا في مكونات هذا الملف و التجربة ستكون على سرفر بفروست مدمنين بفروست خخخخخ

لنفتح السرفر باي محرر الهيكس و ليكن hex workshop


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 775927814

اول ما يثير الانتباه عند فتح اي ملف pe الحرفان MZ


الحرفان اختصار لmark zbikowsky و هو واحد من افضل مصممين MS-DOS


كما قلنا في السابق ان dos header يشغل 64 بايت من مساحة الملف و اذا ما حسبنا عدد البايتات الملونة (باللون

الاسود) في الصورة السابقة

سنجد 64 بايت تليها 21 خاصة بنداء مقاطعة الدوس (اللون الاصفر) ان كان البرنامج سيشتغل في بيئة الدوس ان لم

يشتغل يتم طباعة الجملة الشهيرة

خاصة بقسم الدوس (اللون الاخضر)ومعناه ان البرنامج سيشتغل على win32

هل رأيت الأربع بايتات التي باللون الاحمر D8000000 هذه البايتات خاصة بالدالة e_ifanew

و هذه هي البنية الخاصةDos MZ header



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 674548514

19 عنصر كما موضح في صورة كل عنصر من نوع word اي 2بايت عادا الدالة e_ifanew التي تاتي في اخر الصورة

فطولها dword اي 4 بايت

كما تعلمنا في السابق ان الذاكرة تقرأ القيم عكسيا

بمعنى ان القيمة D8000000 ستقرأها الذاكرة هكذا 000000D8

اي ان البايت الايمن يصبح الاول يليه الثاني يليه الى اخر

و هو الاوفست بداية القسم PE header



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 295521011

و بذلك نكون قد انتهينا من شرحDos MZ header و dos stub

PE header

ال Pe header يمثل الجزء الاساسي من بينية الملف و يشمل 248 بايت كما في الصورة



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 735378079

و هذا القسم له بنية خاصة به و هي IMAGE_Nt_HEADERS و يتكون من ثلاث عناصر وهي معرفة كما يلي


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 426734715


signature يمثل 4 بايت اي 00 00 45 50 و هذه هي القيم الخاصة ببداية PE Header

اما file Header يمثل 20 بايت بعد signature و يشمل معلومات حول خصائص الملف مثل عدد الاقسام .تاريخ انشاء

الملف نوع الجهاز

و العنصر File Header له بنية خاصة به



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 437556269

هذه الدالة تدل على نوعية الجهاز المستخدم

بالنسبة لمستخدمي intel 386 القيمة هي 014c

اما ان كان cpu من نوع intel 486 فالقيمة هي 014d



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 385133631

الدالة NumberofSections خاصة بعدد اقسام البرنامج بحيث اذا ما اردنا ان نضيف قسم او نحذف قسم لازم نعدل

على هذه القيمة على حسب ما نريد



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 888132990

و بإمكاننا التأكد بواسطة البرنامج LordPE


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 375038528


TimeDateStamp هذه الدالة تدل على تاريخ ووقت انشاء الملف


PointerToSymbolTable و NumberOfSymbols هذين العنصرين يستخدموا لdebuginformation


SizeOfOptionalHeader هو حجم


OptionalHeader


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 330729146


اذا عكسنا هذه القيمة و اخدت وضعها الطبيعي فإنها تصبح هكذا 00e0 وهي تساوي 224 بالعشري وهو فعلا حجم

الOptionalHeader

characteristics هذه الدالة تشير الى خصائص الملف كونه exe ام DLL و الصورة التالية توضح



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 456809066

كما ترى في الصورة القيمة 0F01 لوعكسنها ستصبح 010F


واذا استعملنا برنامج LordPe



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 989884324

ذا ضغطنا على التبويب الملون بالأخضر ستحصل على هذا الشكل


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 313557153


0001+0002+0004+0008+0100=010F



كيف تم حساب تلك القيمة؟ انطلاقا من هذا الجدول



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 322258084

optionalHeader تمثل 224 بايت بعد fileHeader ويشمل معلومات خاصة بملف Pe مثل حجم الكود و حجم البيانات و

نقطة الادخال الاصلية للبرنامج


وهذا العنصر له بنية خاصة به وهي


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 476654112

سوف نتطرق لأهم الدوال

AddressOfEntryPoint هذه الدالة تحدد نقطة انطلاقة البرنامج وهو اول امر سوف يتم تنفيذه وهذه النقطة هي عبارة

عن عنوان في الذاكرة و يتم الاشارة إليها بRVA

Relative virtual address


imagebase تشير هذه الدالة الى عنوان بداية البرنامج في الذاكرة و هذا هو العنوان 400000 وهو ثابت بنسبة 99%


SectionAlignment هذه الدالة تشير الى تنسيق محتويات اقسام البرامج في الذاكرة و في الاغلب تكون القيمة


1000h وعلى سبيل المثال اذا كانت قيمة هذه الدالة 1000h


عندئد كل قسم يجب ان يبدأ في مضاعفات العدد 1000h فإذا كان القسم الاول يبدأ عند 401000h القسم الثاني

سيكون 402000


fileAlignment تشير الى تنسيق محتويات البرنامج على القرص الصلب و غالبا ما تكون قيمة هذا القسم 200h


على سبيل المثال اذا كانت قيمة هذه الدالة 200h عندئد كل قسم يجب ان يبدأ في مضاعفات هذا العدد ان كان


offset للقسم الأول يساوي 200h فإن القسم الثاني يجب ان يحدد عند offset
400h


sizeOfImage حجم البرنامج ككل في الذاكرة


sizeOfheaders حجم كل header اضافة الى قائمة اقسام البرنامج وهذه القيمة مساوية لحجم الملف ناقص حجم


اقسام البرنامج


dataDirectory عبارة عن مصفوفة تتكون من 16 عنصر ولها بينية خاصة بها وهي Image_data_Directory


وهي تمثل 128 بايت من ال Optionalheader و الDataDirectory وهي معرفة كما في الشكل التالي



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 124419275

virtual address ينسب اليه فهو ImageBase + RVA


isize يشمل حجم بيانات كل عنصر من العناصر 16 ولكن بالبايتات و كما قلنا من قبل ان هذه المصفوفة تتكون من 16


عنصر كما في الشكل التالي


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 854340432


ولكي تتضح لنا الصورة جيدا نحمل سرفرنا الى برنامج lordPe ثم نضغط على directoies لنرى مثل هذه الصورة


يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 480152988

كما ترى في الصورة 16 عنصر لكن في برنامجنا توجد اربع عناصر لهم قيم اما الباقي قيمهم صفر


و يتم توضيح الاربع عناصر في برنامج محرر hex على الشكل التالي



يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Wol_errorنقره على هذا الشريط لعرض الصورة بالمقاس الحقيقي
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك 791663847

ملاحظة الRVA هو عبارة عن virtualAddress-Imagebase


و بذلك نكون قد انتهينا من شرح Pe header و الجزء الاول

و ان شاء الله لنا عودة في الجزء الثاني و المتعلق بشرح Section Table و ٍsection



السلام عليكم ورحمة الله
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://chababdz.ahlamontada.com
robito47
عضو جديد
عضو جديد
robito47


عدد المساهمات : 11
تاريخ التسجيل : 05/05/2012

يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Empty
مُساهمةموضوع: رد: يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك   يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك Icon_minitime1الثلاثاء مايو 08, 2012 1:57 am

شكرا ليك اخي والله استفدت طبعا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
يأيها المشفر. توقف قليلا!!!!! هل تعرف حقيقة ماذا يوجد بين يديك
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» Saa: ~* هل تعرفون ماذا يحدث في اول ليله في رمضان Saa: ~*

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات شباب ديزاد  :: قسم الاختراق العام :: منتدى التشفير-
انتقل الى: