آموزش درون ELF: کاوش در هسته فایل‌های اجرایی - آخرین آپدیت

دانلود Inside ELF: Exploring the Core of Executable Files

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

آشنایی با فرمت ELF در لینوکس

این دوره جامع شما را گام به گام از طریق آموزش‌های ویدیویی جذاب راهنمایی می‌کند و تمام مفاهیم و موضوعات ضروری برای درک فرمت اجرایی لینوکس: ELF را به شما می‌آموزد.

ELF فرمت استاندارد فایل‌های اجرایی، کد شیء، کتابخانه‌های اشتراکی و core dump ها در سیستم‌های عامل شبه یونیکس است. در این دوره، پیچیدگی‌های ELF را کاوش می‌کنیم و ساختار، بخش‌ها، هدرها و مکانیزم‌های پیوند پویا را بررسی می‌کنیم.

در این دوره چه چیزهایی یاد خواهید گرفت

  • آشنایی با جزئیات درونی فایل ELF

  • درک مراحل مختلف فرآیند کامپایل (پیش پردازش، کامپایل، اسمبل، لینک)

  • درک کد ماشین یا کد عملیاتی (opcode)

  • نوشتن کد اسمبلی ARM و اجرای آن بر روی QEMU

  • درک سینتکس کد اسمبلی (Label، instruction، comment، assembler directives)

  • بخش‌های مختلف: .text، .data، .bss

  • مشاهده رجیسترهای ARM در رابط مانیتور QEMU

  • دستورالعمل‌های اسمبلر (.byte، .asciiz، .ascii، .align، .global، .text، .data)

  • مشاهده جدول نمادها و درک حل نماد

  • درک نقش اسمبلر و لینکر

  • عملیات جابجایی انجام شده توسط لینکر (ادغام بخش‌ها و جایگذاری بخش‌ها)

  • اسکریپت لینکر چیست و نوشتن یک فایل اسکریپت لینکر ساده و استفاده از آن در حین کامپایل

  • آدرس‌های زمان اجرا و آدرس‌های زمان بارگذاری

  • ایجاد بخش‌ها از اسکریپت لینکر

  • نوشتن کد راه‌اندازی برای کپی داده‌ها در RAM، bss و مقداردهی اولیه پشته

  • درک هدر ELF با دستور readelf

  • چه اتفاقی می‌افتد اگر بایت اول فایل ELF را تغییر دهیم؟

  • تولید core dump و تایید هدر ELF

  • درک اعضای مختلف هدر ELF

  • تغییر اعضای مختلف هدر ELF

  • درک اینکه چه کسی main() را فرا می‌خواند با استفاده از gdb و _start()

  • نوشتن هدر ELF از کد C

  • بخش‌ها در مقابل سگمنت‌ها

  • نمای لینکر و لودر از فایل ELF

  • دستورات مختلف readelf (readelf -h، readelf -WS، readelf -Wl، readelf -a..)

  • درک فیلدهای مختلف هدر بخش و هدر برنامه

  • دستور dumpelf برای تخلیه ساختارهای ELF در فرمت ساختار C

  • نوشتن کد C برای چاپ برخی فیلدهای هدر بخش ELF

  • چه اتفاقی می‌افتد وقتی یک برنامه فضای کاربری را با اطلاعات اشکال‌زدایی (-g) درون یک فایل ELF کامپایل می‌کنیم؟

  • استفاده از دستور 'size' برای دریافت اندازه بخش‌های text، data و bss

  • درک عمیق‌تر جدول نمادها و اتفاقاتی که هنگام اجرای دستور 'strip' می‌افتد

  • نوشتن یک فایل اجرایی ELF بسیار حداقلی با اندازه کمتر از 200 کیلوبایت

هیچ ریسکی هم وجود ندارد!

این دوره با ضمانت بازگشت وجه 30 روزه ارائه می‌شود. اگر از دوره راضی نبودید، پول خود را پس خواهید گرفت.

پس منتظر چه هستید، همین الان ثبت نام کنید و قدم بعدی را برای تبدیل شدن به یک متخصص در فرمت فایل ELF بردارید.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • فرمت اجرایی و قابل پیوند Executable and Linkable Format

  • چرا جزئیات ELF را یاد بگیریم Why Learn Details of ELF

  • فرآیند کامپایل Compilation Process

  • تغییر یک کاراکتر در فایل ELF Changing one character in ELF file

برنامه‌نویسی Bare Metal برای ARM Bare Metal Arm Programming

  • راه‌اندازی آزمایشگاه ARM Setting Up ARM Lab

  • کد ماشین Machine Code

  • اجرای دستورالعمل‌های ماشین Executing Machine Instructions

  • مجموعه دستورالعمل Instruction Set

  • مقدمه‌ای بر اسمبلی Introduction to Assembly

  • برنامه‌ اسمبلی برای نوشتن در رجیسترها Assembly Program to write to registers

  • تولید فایل‌های باینری Generating Binary Files

  • رابط مانیتور QEMU QEMU Monitor Interface

  • برنامه‌های اسمبلی برای جمع آرایه Assembly Programs for sum of an array

  • برنامه اسمبلی برای طول یک رشته Assembly Program for Length of a string

  • حل نماد Symbol Resolution

  • ادغام بخش‌ها Section Merging

  • قرارگیری بخش‌ها Section Placement

  • اسکریپت لینکر Linker Script

  • نمونه اسکریپت لینکر Example of Linker Script

  • نمونه داده در RAM Example of Data in RAM

  • مشخص کردن آدرس‌های بارگذاری Specifying Load Addresses

  • کد راه‌اندازی برای کپی کردن داده در RAM Startup code for copying data into RAM

  • مدیریت استثناها Handling Exceptions

  • پیاده‌سازی راه‌اندازی C C startup implementation

  • به‌روزرسانی کد راه‌اندازی برای استفاده از کد C Updating startup code for using C Code

سربرگ ELF ELF Header

  • ساختار فایل ELF Structure of an ELF file

  • دستورالعمل‌های ماشین در فایل ELF Machine Instructions in ELF File

  • سربرگ ELF ELF Header

  • شناسایی ELF ELF Identification

  • سایر اعضای سربرگ ELF Other members in ELF Header

  • تولید فایل‌های Coredump Generating Coredump files

  • چه اتفاقی می‌افتد وقتی نسخه ELF را تغییر دهیم What happens when we change ELF Version

  • چه اتفاقی می‌افتد وقتی نسخه معماری را تغییر دهیم What happens when we change Architecture Version

  • چه اتفاقی می‌افتد وقتی فیلد e_entry را تغییر دهیم What happens when we change e_entry field

  • نقطه توقف در _start Breakpoint at _start

  • چه کسی _start را فراخوانی می‌کند Who calls _start

  • برنامه C بدون main C program Without main

  • نوشتن سربرگ ELF از فایل C Writing ELF Header from C File

  • ARM ELF ARM ELF

بخش‌های ELF ELF Section

  • مقدمه‌ای بر بخش‌ها و سگمنت‌ها Introduction to Sections and Segments

  • بخش‌های ELF ELF Sections

  • جدول سربرگ بخش Section Header Table

  • دستور dumpelf dumpelf command

  • بخش‌های متداول در فایل ELF Common Sections in an ELF File

  • اشکال‌زدایی بخش‌ها Debugging Sections

  • اندازه‌های بخش Section Sizes

  • دستور strings Strings command

  • بخش‌های نماد Symbol Sections

  • دستور strip Strip Command

  • بخش‌های strip شده Strip Sections

  • نحوه اضافه کردن بخش در فایل ELF How to add sections in an ELF File

سربرگ‌های برنامه ELF ELF Program Headers

  • مقدمه‌ای بر سربرگ‌های برنامه Introduction to Program Headers

  • ساختار سربرگ برنامه Structure of Program Header

  • اختلاف اندازه BSS در فایل و حافظه BSS Size differences on file and memory

  • نحوه بارگذاری پردازش توسط کرنل How Kernel loads a process

  • چه اتفاقی می‌افتد اگر یک بیت را در سربرگ برنامه تغییر دهم What happens if I modify a bit in Program Header

فایل حداقل ELF Minimal ELF File

  • مقدمه‌ای بر حداقل ELF Introduction to Minimal ELF

  • نمایش ASLR ASLR Demonstration

  • سگمنت‌ها و بخش‌ها در باینری ایستا Segments and Sections in static binary

  • کاهش اندازه با نوشتن اسمبلی Reducing size by writing assembly

  • فایل حداقل ELF در C MInimal ELF file in C

یادداشت‌ها Notes

  • یادداشت‌ها Notes

نمایش نظرات

آموزش درون ELF: کاوش در هسته فایل‌های اجرایی
جزییات دوره
4.5 hours
63
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
442
4.3 از 5
دارد
دارد
دارد
Linux Trainer
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Linux Trainer Linux Trainer

مربی در آموزش آخر هفته لینوکس