Skip to content

ONHEXGROUP

اخبار دنیای امنیت سایبری

  • اخبار
    • آسیب پذیری امنیتی
    • آنالیز بدافزار
    • کنفرانس ،دوره ، وبینار ، لایو ، CTF
    • بازیگران تهدید
    • توسعه اکسپلویت
    • افشای اطلاعات
    • باگ بانتی
    • تیم آبی
    • تیم قرمز
    • امنیت وب
  • دوره های آموزشی
    • دوره رایگان مهندسی معکوس نرم افزار
    • دوره ی رایگان بررسی ساختار فایلهای PE (Portable Executable)
  • لیست های ویژه
    • موتورهای جستجو برای امنیت سایبری
    • کاتالوگ KEV آژانس CISA
    • آسیب پذیری های وردپرس
      • آسیب پذیری پلاگین ها
      • آسیب پذیری های هسته
      • آسیب پذیری تم ها
    • محصولات خارج از پشتیبانی مایکروسافت
      • محصولات مایکروسافتی که در سال 2022 پشتیبانی نمیشن
      • محصولات مایکروسافتی که در سال 2023 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2024 پشتیبانی نمیشن
      • لیست محصولات مایکروسافتی که در سال 2025 پشتیبانی نمیشن
    • معرفی فیلم ها و سریالهای مرتبط با هک و امنیت
  • آموزش های ویدیویی
  • انتشارات
    • مجله
    • مقالات
    • پادکست
  • پروژه ها
    • ماشین آسیب پذیر
      • وردپرس آسیب پذیر
  • حمایت مالی ( Donate)
  • تماس با ما
 
  • Home
  • اخبار
  • دوره ی رایگان بررسی ساختار فایلهای PE (Portable Executable)
  • آسیب پذیری امنیتی
  • آموزش های ویدیویی
  • آنالیز بدافزار
  • اخبار
  • انتشارات
  • بازیگران تهدید
  • باگ بانتی
  • تیم آبی
  • تیم قرمز
  • دوره های آموزشی
  • فازینگ
  • مقالات
  • مهندسی معکوس نرم افزار

دوره ی رایگان بررسی ساختار فایلهای PE (Portable Executable)

On مرداد 9, 1404آذر 15, 1404
seyyid
Share
زمان مطالعه: 5 دقیقه

در دنیای کامپیوتر، همه‌ چیز در نهایت به فایلها ختم میشه. از عکسهایی که میبینیم، تا برنامه‌ هایی که اجرا میکنیم، همه در قالب فایلهایی با ساختار مشخص ذخیره میشن.

این ساختارها که با نام فرمت فایل (File Format) شناخته میشن، تعیین میکنن که داده‌های داخل فایل چطوری تفسیر و پردازش بشن.

هر فایل، صرف‌نظر از نوعش (تصویر، متن، موسیقی یا برنامه)، از یک ساختار مشخص تبعیت میکنه. برای مثال، فایلهای تصویری ممکنه فرمتهایی مانند JPEG یا PNG داشته باشن. فایلهای صوتی ممکنه بصورت MP3 یا WAV ذخیره بشن. اما وقتی صحبت از برنامه‌های اجرایی در سیستم‌ عامل ویندوز میشه، با فرمتی بنام PE (Portable Executable) مواجه هستیم.

فرمت PE پایه و اساس تمامی فایلهای اجرایی در ویندوز هستش. از فایلهای exe و dll گرفته تا sys و حتی بسیاری از فایلهایی که در پس‌زمینه اجرا میشن.

درک ساختار این فرمت نه تنها برای توسعه‌دهندگان نرم‌افزار، بلکه برای علاقه‌مندان به امنیت سایبری، مهندسین معکوس نرم افزار، آنالیز بدافزار و تحلیلگران سیستمهای ویندوز اهمیت حیاتی داره.

در این آموزشی و عملی، بصورت قدم‌ به‌ قدم با ساختار فایلهای PE آشنا میشیم. این دوره با محوریت امنیت سایبری تهیه شده، بنابراین برای تیم های قرمز، تیم های آبی، علاقمندان به امنیت سایبری کاربردی هستش.

در کل دوره در 2 فصل ارائه میشه. در فصل اول با ساختار فایلهای PE آشنا میشیم، بعد از آشنایی اولیه، در فصل دوم میریم و از این مواردی که یاد گرفتیم، در پروژه های عملی استفاده میکنیم.

اگه به دنیای امنیت سایبری، بخصوص دنیای باینری علاقمند هستید، میتونید دوره رایگان مهندسی معکوس نرم افزار رو که شامل 32 ویدیو و بیش از 21 ساعت فیلم آموزشی هستش رو هم مشاهده کنید.

وضعیت دوره: در حال پخش فصل اول (شروع از 10 مرداد 1404)

زمان انتشار: بصورت هفتگی ( سعی میکنم هر هفته، جمعه منتشر کنیم)

آخرین بروزرسانی: 25-7-1404

 

 

قسمت صفر: معرفی دوره

در این ویدیو به معرفی دوره ی رایگان بررسی ساختار فایلهای PE و ابزارهای مورد نیاز این دوره پرداختیم و در ادامه نگاه کلی به ساختار فایلهای PE، تفاوت بین PE و COFF، اهمیت یادگیری ساختار فایلهای PE، تفاوت PE روی مموری و دیسک، تفاوت بین Module و Process انداختیم و با مفاهیمی مانند آفست (Offset)، آدرس مجازی (Virtual Address) و آدرس مجازی نسبی (Relative Virtual Address) آشنا شدیم. [مشاهده در یوتیوب – اسلایدها]

 

قسمت اول: بررسی DOS Header

در این قسمت رفتیم سراغ DOS HEADER و دو تا فیلد مهم این هدر یعنی، e_magic و e_lfanew رو بررسی کردیم. در ادامه e_magic رو بعنوان شناساگر در نظر گرفتیم و ازش در رولهای یارا (YARA) استفاده کردیم. این قضیه رو در YaraX بررسی کردیم، یک برنامه در پایتون با کتابخونه ی Yara python نوشتیم و همچنین بخش YARA رو در Detect It Easy بررسی کردیم. کدهای PE Parser رو برای بخش DOS Header تکمیل کردیم. در این قسمت PE Parser رو در پایتون و سی پلاس توسعه دادیم. در نهایت روش بررسی ساختار PE در ابزارهای x64dbg و IDA Pro و Windbg رو معرفی کردیم. [مشاهده در یوتیوب – اسلایدها و کدها ]

 

قسمت دوم: بررسی DOS STUB

در این قسمت، DOS STUB رو بررسی کردیم. بطور کلی DOS STUB رو معرفی و ساختارش رو استخراج کردیم و در CMD، DOS BOX، PE Bear و IDA Pro بررسیش کردیم. در ادامه به کمک OPENWATCOM یه برنامه ی DOS توسعه دادیم و بجای DOS STUB معمول، داخل فایل PE قرار دادیم. در نهایت این بخش رو هم به PE Parser اضافه کردیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

قسمت سوم: RICH HEADER

در ادامه بررسی فایلهای PE، این جلسه ساختار Rich Header رو معرفی و در PE Bear بررسیش کردیم و در ادامه این بخش رو هم به PE Parser اضافه کردیم. در نهایت نگاهی به نحوه سوء استفاده از این هدر در OlympicDestroyer انداختیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

قسمت چهارم: NT Headers بخش Signature

در این قسمت NT Headers رو بررسی کردیم که از سه بخش Signature و File Header و Optional Header تشکیل شده و بصورت ویژه ساختار Signature رو آنالیز کردیم. این بخش چون ویژگی امضاء رو داره، بنابراین ابزار معروف Suricata رو نصب و پیکربندی کردیم و با نوشتن رول در این ابزار، به شناسایی Signature در ترافیک دانلودی پرداختیم. در نهایت این بخش رو به PE Parser اضافه کردیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

قسمت پنجم: NT Headers بخش File Header

در ادامه بررسی NT Headers، در این قسمت رفتیم سراغ File Header. این هدر از فیلدهای Machine و NumberOfSections و TimeDateStamp و PointerToSymbolTable و NumberOfSymbols و SizeOfOptionalHeader و Characteristics تشکیل شده، همه ی این موارد رو بررسی کردیم و در نهایت این هدر رو هم به PE Parser اضافه کردیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

قسمت ششم: NT Headers بخش اول Optional Header

در این قسمت Optional Header رو معرفی و فیلدهای Magic و MajorLinkerVersion و MinorLinkerVersion و SizeOfCode و SizeOfInitializedData و SizeOfUninitializedData و AddressOfEntryPoint و BaseOfCode و BaseOfData و ImageBase رو معرفی و در PE Bear بررسیشون کردیم. بقیه فیلدهارو در جلسات بعدی بررسی میکنیم. در ادامه در ویژوال استدیو 2022 بخشی با عنوان BSS ایجاد و در x64dbg بررسی کردیم. پکر UPX رو معرفی کردیم. فیلدهای AddressOfEntryPoint و ImageBase رو در x64dbg و windbg و IDA Pro بررسی کردیم. ابزار Editbin رو معرفی و ازش برای تغییر ImageBase استفاده کردیم و در نهایت به کمک این فیلد IDA Pro و x64dbg رو با هم سینک کردیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

قسمت هفتم: NT Headers بخش دوم Optional Header

در ادامه بررسی NT Headers، این جلسه هم بررسی Optional Header رو ادامه میدیم و فیلدهای SectionAlignment و FileAlignment و Major/Minor OperatingSystemVersion و Major/Minor ImageVersion و Major/Minor SubsystemVersion و Win32VersionValue و SizeOfImage و SizeOfHeaders و Checksum و Subsystem رو معرفی و تک تک در PE Bear بررسی میکنیم. همچنین بررسی میکنیم چطوری میتونیم فیلدهای Major/Minor OperatingSystemVersion و Major/Minor ImageVersion و Major/Minor SubsystemVersion و Subsystem رو در ویژوال استدیو 2022 تغییر بدیم، مقدار SizeOfHeaders رو محاسبه و Checksum رو با Editbin و MapFileAndCheckSumA بررسی کنیم. [مشاهده در یوتیوب – اسلایدها]

 

قسمت هشتم: NT Headers بخش سوم Optional Header

در ادامه بررسی Optional Header، این جلسه رفتیم سراغ فیلد DLL Characteristics. این فیلد از چندین فلگ تشکیل شده که این جلسه و جلسه بعدی در موردشون صحبت میکنیم.

این جلسه فلگ های HIGH_ENTROPY_VA و DYNAMIC_BASE و FORCE_INTEGRITY و NX_COMPAT رو معرفی و در ادامه در PE Bear و ویژوال استدیو 2022 بررسیشون میکنیم. [مشاهده در یوتیوب – اسلایدها]

 

قسمت نهم: NT Headers بخش چهارم Optional Header

در ادامه بررسی فلگهای DLL Characteristics این جلسه فلگ های زیر رو معرفی و در Pe Bear و ویژوال استدیو 2022 بررسی کردیم:

  • IMAGE_DLLCHARACTERISTICS_NO_SEH
  • IMAGE_DLLCHARACTERISTICS_APPCONTAINER
  • IMAGE_DLLCHARACTERISTICS_GUARD_CF
  • IMAGE_DLLCHARACTERISTICS_WDM_DRIVER
  • IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE

[مشاهده در یوتیوب – اسلایدها]

 

قسمت دهم: NT Headers بخش پنجم (آخر) Optional Header

این جلسه آخرین قسمت از بررسی Optional Header هستش و بالاخره این هدر رو تموم میکنیم. در این قسمت فیلدهای SizeOfStackReserve/Commit و SizeOfHeapReserve/Commit و LoaderFlags و NumberOfRvaAndSizes و DataDirectory رو معرفی و در PE Bear و VS2022 بررسیشون کردیم. همچنین با مفاهیم Reserve و Commit و Main Thread یا ترد اصلی و Stack و Heap و Default Process Heap آشنا شدیم و با CreateThread و VMMAP و GetProcessHeap و HeapCreate کار کردیم. از x64dbg و دستورات teb! و peb! و heap! و Address! و ~ در windbg استفاده کردیم. در نهایت PE Parser، که با کتابخونه ی Lief در پایتون توسعه میدادیم رو برای قسمت Optional Header هم تکمیل میکنیم. [مشاهده در یوتیوب – اسلاید و کدها]

 

قسمت یازدهم: Section Headers

در این قسمت Section Table و Section Headers رو معرفی کردیم و فیلدهای Section Header که شامل NAME و PhysicalAddress و VirtualSize و VirtualAddress و SizeOfRawData و PointerToRawData و PointerToRelocations و NumberOfRelocations و PointerToLineNumbers و NumberOfLineNumbers و Characteristics میشه رو معرفی و در PE Bear بررسی کردیم. همچنین در ویژوال استدیو 2022، یک section دلخواه اضافه کردیم و اسم یک Section رو تغییر دادیم. یسری از فیلدهارو در x64dbg هم بررسی کردیم. در نهایت Section Headers رو هم به پروژه ی PE Parser، که در پایتون و با کتابخونه ی LIEF توسعه میدیم، اضافه کردیم. [مشاهده در یوتیوب – اسلایدها و کدها]

 

 

 

 

اشتراک در شبکه های اجتماعی :

Facebook
Twitter
Pinterest
LinkedIn
In آسیب پذیری امنیتی آموزش های ویدیویی آنالیز بدافزار اخبار انتشارات بازیگران تهدید باگ بانتی تیم آبی تیم قرمز دوره های آموزشی فازینگ مقالات مهندسی معکوس نرم افزارIn DOS BOX , DOS HEADER , DOS STUB , Editbin , File Header , IDA PRO , lief , NT Headers , openwatcom , Optional Header , PE , PE-Bear , Portable Executable , Rich Header , section headers , Signature , Suricata , windbg , x64dbg , yarax

راهبری نوشته

بررسی Patch Tuesday مایکروسافت برای جولای 2025 (تیر 1404)
بررسی Patch Tuesday مایکروسافت برای آگوست 2025 (مرداد 1404)

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌ها

  • Osint
  • آسیب پذیری امنیتی
  • آموزش های ویدیویی
  • آنالیز بدافزار
  • اخبار
  • افشای اطلاعات
  • امنیت وب
  • انتشارات
  • اینترنت اشیاء
  • بازیگران تهدید
  • باگ بانتی
  • پادکست
  • پروژه ها
  • توسعه اکسپلویت
  • تیم آبی
  • تیم قرمز
  • دوره های آموزشی
  • فازینگ
  • کنفرانس ،دوره ، وبینار ، لایو ، CTF
  • لیست های ویژه
  • ماشین آسیب پذیر
  • مجله
  • مصاحبه، داستان هکرها
  • مقالات
  • مهندسی معکوس نرم افزار
  • هوش مصنوعی

پست های مرتبط

  • اخبار
  • بازیگران تهدید
  • مصاحبه، داستان هکرها
  • مقالات
seyyid
On آبان 11, 1404آبان 11, 1404

عشق، باج افزار، زندان

  • اخبار
  • تیم آبی
  • تیم قرمز
  • مقالات
seyyid
On اسفند 10, 1402

کالی نسخه ی 2024.1 منتشر شد

  • آسیب پذیری امنیتی
  • اخبار
seyyid
On فروردین 5, 1402فروردین 28, 1402

آسیب پذیری بحرانی در پلاگین WooCommerce Payments

  • Osint
  • آسیب پذیری امنیتی
  • آنالیز بدافزار
  • اخبار
  • افشای اطلاعات
  • بازیگران تهدید
  • توسعه اکسپلویت
  • مقالات
seyyid
On آذر 18, 1404

بررسی Intellexa Leaks: عملیات داخلی جاسوس‌افزار Predator

درباره ما

بعد از چندین سال فعالیت تو حوزه امنیت سایبری و تولید محتوا در شبکه های اجتماعی ، بالاخره تصمیم گرفتیم تا یه سایت راه اندازی کنیم و مطالب رو ساده تر ، در یک محیط منسجم و طبقه بندی شده به دست مخاطب برسونیم. امیدوارم که قدمی در راستای رشد امنیت سایبری کشورمون برداشته باشیم.

تگ ها

0day APT command injection Deserialization of Untrusted Data Directory Traversal FBI Fortinet Heap buffer overflow kali LockBit Memory Corruption nuclei out-of-bounds write Out of bounds read Patch Tuesday PWN2OWN Stack Buffer overflow type confusion use after free vulnerable wordpress XSS ZDI vulnerability آموزش اکسپلویت نویسی ارز دیجیتال اندروید اپل اکسپلویت باج افزار تلگرام زیرودی سیسکو فارنزیک فورتی نت فیشینگ لاک بیت لینوکس مایکروسافت هوش مصنوعی وردپرس وردپرس آسیب پذیر ویندوز پلاگین کالی کروم گوگل

شبکه های اجتماعی

    • اینستاگرم
    • تلگرام
    • توییتر
    • گیت‌هاب
    • یوتیوب
    • لینکداین
      کپی مطالب با ذکر منبع بلامانع است | 1401-1404