#Note #PE #MalwareAnalysis
گاهی وقتها برای تحلیل یک باینری، اولین قدم پیدا کردن رشتههاست چه با Static Analysis، چه با Dynamic Analysis.
اگر با ساختار PE آشنا باشیم، این رشتهها معمولا کجا پیدا میشوند ؟ در سکشن ها و دایرکتوری ها.
سکشن rdata.
شامل رشتههای ثابت و Read-Only مثل پیامهای خطا، متنهای ثابت، اسم توابع و… .
سکشن data.
محل ذخیرهی رشتههایی که برنامه میتواند در طول اجرا تغییرشان بدهد. (Writable)
دایرکتوری Import Table
اسامی DLLها و توابعی که باینری به آنها وابسته است همینجا ذخیره میشود.
دایرکتوری Export Table
در مورد DLLها، نام توابع یا نمادهایی که Export شدهاند از این قسمت قابل استخراج است.
سکشن Resource (.rsrc)
شامل متادیتا، دیالوگها، اطلاعات نسخه، آیکونها و سایر منابعی که معمولا رشتههای قابل مشاهده در آنها قرار دارد.
سکشن Debug.
اگر Strip نشده باشند، ممکن است مسیر فایلهای سورس، کامنتها یا اطلاعات Build را در خود داشته باشند. برای همین هست که پروتکتوری مثل VMProtect یک گزینه جدا برای این مورد دارد.
و اما سکشن BSS., شامل متغیرهای مقداردهینشده (Uninitialized Data) است یعنی متغیرهایی که فقط تعریف شدهاند ولی هنگام کامپایل مقدار اولیه ندارند. فقط به اندازهی طول متغیر حافظه رزرو میکند و محتوایش در فایل PE وجود ندارد.
حالا خودتون در مورد idata. و edata. جستجو کنید چون این بخش های غیر مستقیم به موضوع رشته ها مربوط هستند.
🦅 کانال بایت امن | گروه بایت امن
_
Post #2047
2.63K

- ❤ 17
- 🔥 6
- 👎 3
- 👍 1