مهندسی معکوس یعنی رسیدن از کل به جزء یا بطور جامع تر ، درک و شناخت سیستم هاست. این سیستم میتونه یک بیماری ، مدار الکترونیکی ، یک محصول شیمیایی و … باشه . مهندسی معکوس هر کدوم میتونه با اهداف مختلف انجام بگیره، مثلا اگه یک بیماری باشه هدف اون تهیه یک دارو میتونه باشه.
مهندسی معکوس در حوزه ی نرم افزار هم کاربرد داره و با اهداف مختلفی مانند آنالیز بدافزار، کشف آسیب پذیری و توسعه ی اکسپلویت، کرک و باز تولید برنامه ها مورد استفاده قرار میگیره.
برای اینکه وارد هر کدوم از این فیلدهای کاربردی مهندسی معکوس در حوزه ی نرم افزار بشید، شما نیاز دارید یکسری موارد عمومی و موارد تخصصی رو یاد بگیرید. موارد عمومی مواردی هستن که بین این فیلدها مشترکه و موارد تخصصی ، نیازمندی های تحصصی اون فیلد رو شامل میشه.
برای مثال کار با ابزارهای دیس اسمبلر و دیباگر و همچنین درک کدهای اسمبلی ، جزء موارد عمومی هستن که شما اگه بخوایین وارد هر کدوم از این فیلدها بشید ، باید یاد بگیرید. اما مثلا در حوزه ی آنالیز بدافزار، شما علاوه بر موارد عمومی، نیاز دارید مثلا پروتکل های شبکه یا الگوریتم های رمزنگاری رو هم یاد بگیرید.
با توجه به این مطالب، دوره ای رو تدارک دیدیم با عنوان “دوره ی رایگان مهندسی معکوس نرم افزار” با تمرکز بر موارد عمومی، تا این موارد مشترک رو یاد بگیرید و بتونید راحتتر وارد فیلدهای مورد علاقه اتون بشید.
مواردی که باید در خصوص این دوره بدونید :
- تمرکز اصلی دوره ، روی یادگیری و درک کدهای اسمبلی و کار با ابزارهای X64dbg و WINDBG و IDAFree هستش.
- دوره هم شامل نسخه ی 32 بیتی و هم 64 بیتی میشه.
- پلتفرم مورد نظر ویندوز 10 هستش.
- دوره در 3 فصل تهیه میشه :
- فصل اول : پیش نیازها و ابزارها
- فصل دوم: دستورات زبان اسمبلی
- فصل سوم: درک مجموعه دستورات زبان اسمبلی
- وضعیت دوره : در حال انتشار
- زمان انتشار: بصورت هفتگی (جمعه ها)
- آخرین بروزرسانی : 07-02-1403
قسمت صفرام : معرفی دوره
برای آشنایی بیشتر با دوره، میتونید این ویدیو معرفی رو مشاهده کنید.[مشاهده در یوتیوب | مشاهده در آپارات | | اسلایدها]
فصل اول : پیش نیازها و ابزارها
در فصل اول ابزارهامون رو نصب میکنیم و یسری پیش نیاز برای یادگیری مهندسی معکوس رو با هم یاد میگیریم.
قسمت اول : نصب IDAFree 8.3 در ویندوز 10 :
در این قسمت، IDAFree 8.3 رو از سایتش دانلود میکنیم و هش اون رو با پاورشل بررسی و در نهایت روی ویندوز 10 نصبش میکنیم. [مشاهده در یوتیوب | مشاهده در آپارات | | دانلود همه ی فایلهای نصبی]
قسمت دوم : نصب x64dbg در ویندوز 10:
در این قسمت، x64dbg رو از سایتش دانلود میکنیم و در ویندوز 10 نصبش میکنیم. [مشاهده در یوتیوب | مشاهده در آپارات | | دانلود همه ی فایلهای نصبی]
قسمت سوم : نصب Windbg در ویندوز 10 :
در این قسمت، Windbg Classic رو از طریق SDK در ویندوز 10 نصب میکنیم. تفاوت بین نسخه ی Classic و Preview رو بررسی و در نهایت Windbg Preview رو از طریق مارکت نصب میکنیم. [مشاهده در یوتیوب | مشاهده در آپارات | | دانلود همه ی فایلهای نصبی]
قسمت چهارم: نصب Visual Studio 2019 Community در ویندوز 10 :
در این قسمت، Visual Studio 2019 Community رو در ویندوز 10 نصب میکنیم. [مشاهده در یوتیوب | مشاهده در آپارات | | دانلود همه ی فایلهای نصبی]
قسمت پنجم : نصب HxD روی ویندوز 10 :
در این قسمت برنامه هگزادیتور HxD رو در ویندوز 10 نصب میکنیم . [مشاهده در یوتیوب | مشاهده در آپارات | | دانلود همه ی فایلهای نصبی]
قسمت ششم: سیستم اعداد :
در این قسمت نگاهی به سیستم اعداد انداختیم، سیستم اعداد دسیمال، باینری و هگز رو معرفی و سه روش برای تبدیل این مبناها به هم رو بررسی کردیم. [مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت هفتم : معماری های پردازنده:
در این قسمت به بررسی کوتاه معماری های x86 و x64 پرداختیم. [مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت هشتم : انواع زبان های برنامه نویسی و روند کامپایل یک برنامه C:
در این قسمت به بررسی انواع زبان های برنامه نویسی پرداختیم ، همچنین مراحلی که یک کد C طی میکنه تا تبدیل به فایل اجرایی بشه رو با هم بررسی کردیم، همچنین روش تشخیص کامپایلر و زبانی که فایل اجرایی باهاش توسعه داده شده رو هم بررسی کردیم. [مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت نهم : روند اجرای یک فایل اجرایی در ویندوز 10
بروزرسانی جمعه 10 فروردین 1403
در این قسمت بصورت کلی، روند اجرای یک فایل PE در ویندوز رو بررسی کردیم.
مفاهیمی مانند PE، پروسس ها ، Virtual Memory ، آدرس های مجازی و … رو معرفی کردیم و با ابزارهایی مانند PE Bear ، Resource Hacker، Windbg و x64dbg کار کردیم. [مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت دهم : حافظه (تئوری)
بروزرسانی: جمعه 17 فروردین 1403
در این ویدیو نگاهی به سلسله مراتب حافظه انداختیم، واحدهای اندازه گیری Bit ، Byte ، Word ، Dword و Qword رو بررسی کردیم . همچنین نگاهی به بحث Big Endian و Little Endian انداختیم. [مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت یازدهم: حافظه (عملی)
بروزرسانی : جمعه 24 فروردین 1403
در این ویدیو مباحثی که هفته پیش بصورت تئوری در موردشون صحبت کردیم رو در دیباگرهامون یعنی Windbg و X64dbg بررسی میکنیم.
دستوراتی که در Windbg پوشش دادیم : db,dw,dd,dq,dc,da,s,eb,ew,ed,eq,da,ea
[مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت دوازدهم : رجیسترهای پردازنده (تئوری)
بروزرسانی : جمعه 31 فروردین 1403
در این جلسه به بررسی رجیسترهای پردازنده (رجیسترهای پایه) پرداختیم.
- رجیسترهای همه منظوره (RAX/EAX-RBX/EBX-RCX/ECX-RDX/EDX-RSP/ESP-RBP/EBP-RSI/ESI-RDI/EDI-R8-R15)
- رجیستر سگمنت
- رجیستر RFLAGS/EFLAGS
- رجیستر RIP/EIP
[مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
قسمت سیزدهم : رجیسترهای پردازنده (عملی)
بروزرسانی: جمعه 7 اردیبهشت 1403
در این قسمت به بررسی موارد عملی ، جلسه قبلی پرداختیم. بطور کلی رجیسترها رو در IDAfree و Windbg و X64dbg بررسی کردیم.
دستوراتی که در windbg بررسی کردیم :
r,rm,.formats,!teb
[مشاهده در یوتیوب | مشاهده در آپارات | | اسلاید]
سلام من سایت شمارو اتفاقی داخل یه کانال تلگرام دیدم وارد سایت گه شدم به این دوره اتفاقی یه نگاه انداختم بسیار خوب و جالب چون اکثرا برای دوره های مهندسی معکوس یا هزینه دریافت میکنن یا اینکه خیلی پیچیده بیانش کردن که کسی که تازه میخاد وارد این حوزه بشه و شروع به یادگیری کنه براش سخته و نمیتونه خیلی راحت ارتباط بگیره ممنون از اینکه وقت گذاشتین برای تهیه این دوره من هر هفته قسمت های جدید این دوره رو دنبال میکنم و بهش علاقه مند هستم❤️
❤️