الجزء 2 من الـ PE File Format...

من ضمن الـ PE File Structure حاجة اسمها Data Directory ودا بيشاور على حجات مهمة زي الـ Import & Export Table ودا عبارة عن جدول فيه الـ Functions والـ Libraries اللي الـ Malware بيستعملها في تشفير او حذف ملفات مثلا او الاتصال بمواقع خارجية أو تحميل ورفع ملفات..الخ


بما ان دي Libraries خاصة بالويندوز زي الـ dlls الموجودة فيه مثلا؛ فالكود اللي هيستخدمه الـMalware بيكون جوا الـdlls دي يعني مش جوا الـMalware نفسه بالتالي ممكن يظهرلك انه مش Malicious.


ال DLL اختصار Dynamic Link Library وهي عبارة عن مكتبة ليها اسم ثابت وجواها Functions ثابتة، امثلة من الdlls الموجودة في الويندوز:
User32.dll - WSock32.dll - Wininet.dll - Advapi32.dll - Kernel32.dll

كل واحدة منهم جواها مجموعة Functions شائعة ممكن يستخدمها الMalware فمثلاً Kernel32.dll فيها:
CreateDirectoryW - CreateFileW - ReadFile - WriteFile

و Advapi32.dll فيها:
RegCloseKey - RegDeleteValueW - RegOpenKeyEx

و User32.dll فيها:
LoadIconW - LoadMenueW - MessageBoxW - SetClipboardData

الExported Functions عكس الImported Functions فالوضع الطبيعي اننا لما نشوف dll هنلاقي فيها Functions معمولها Export عشان برنامج تاني يستخدمها، ولما نشوف Executable هنلاقي الFunctions فيه معمولها Import
(ودا ميمنعش ان الdlls بتحتوي على الاتنين مع بعض import & export tables لان الكود ممكن يحتاج Functions من اماكن تانية فبيعمل import ليها، ولان فيها Functions بيتم استخدامها من برامج تانية فلازم تعملّها export)

بعد ما عرفنا أهمية الـ PE Header هنروح لجزء تاني وهو Sections:
الـ Sections بتحتوى على الكود اللي هيتم تنفيذه والداتا بتاعت البرنامج فمثلاً:
-سكشن .text بيحتوى على الـ executable code اللي هيتنفذ
-سكشن .data بيحتوى على الـ global data اللي بيستخدمها البرنامج
-سكشن .rdata بيحتوى على الـ read-only data ودا بيفرق عن .data في إنه للقراءة بس مينفعش يتعدل عليه

-سكشن .rsrc بيحتوي على الـ Resources اللي محتاجها البرنامج زي icons, menus, dialogs, version & font information
السكشن دا ممكن يحتوى على أي داتا عشوائية وبالتالي الـ Malware ممكن يخفي جواه داتا هيستعملها في الـ Malicious Action بتاعه فهيبقى مهم اننا نشوف محتوياته، ودا نقدر نعمله باستخدام أداوات Resource Hacker و CFF Explorer عشان نشوف الـ Resources والمحتويات اللي فيه.

طبعا فيه sections تانية زي سكشن .idata و سكشن .edata و سكشن .pdata و سكشن .reloc