موارد عملی زبان اسمبلی x64 و مهندسی معکوس
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- زبان اسمبلی x64 (64 بیتی)
- مهندسی معکوس
- اشکالزدایی با x64dbg
- اصلاح برنامهها
- تزریق کد به فایلهای exe (64 بیتی)
- خالی کردن فایلهای exe (64 بیتی)
- رجیسترهای 64 بیتی
- دسترسی به حافظه 64 بیتی برای خواندن و نوشتن
- کنوانسیونهای فراخوانی x64
- ایجاد توابع x64
- فیشینگ رمز عبور بدون رشتهها
- ایجاد keygenها
- معکوسسازی منطق کد برنامه
- هایلایت کردن ردیابی و انیمیشن
- دستکاری استک
- تکنیک اشکالزدایی ردیابی کامنت
- تکنیک اشکالزدایی هوک کردن WinAPI
- پچ کردن فایل
- فعال کردن دکمههای غیرفعال
- حذف صفحههای مزاحم
- ردیابی عمیق برای فیشینگ رمز عبور
- تکنیکهای ردیابی حلقه
- شکستن حفاظت ضددیباگر
- مهندسی معکوس باینری بدون رشتهها
- استفاده از پایتون برای نوشتن لودرها و پچرهای حافظه
- مهندسی معکوس باینری محافظتشده نرمافزار بدون unpack کردن
- و غیره
پیشنیازهای دوره
- ترجیحا در دوره اول این مجموعه، برنامهنویسی زبان اسمبلی برای مهندسی معکوس، شرکت کرده باشید.
- سیستم عامل ویندوز با معماری Intel x86_86
- اجرای Oracle VirtualBox با ماشین مجازی ویندوز 10 یا 11
توضیحات دوره
اگر از دیباگرها برای مهندسی معکوس برنامهها استفاده کردهاید و میخواهید درک بهتری از زبان اسمبلی بدست آورید یا اگر فقط به دنبال یادگیری زبان اسمبلی به یک روش سرگرمکننده و هیجانانگیز هستید، این دوره برای شما مناسب است. سفر خود را برای تسلط به پیچیدگیهای زبان اسمبلی x64 با این دوره تخصصی آغاز کنید که برای کسانی طراحی شده که هدفشان ارتقاء مهارتهای مهندسی معکوس است. این آموزش دوره دوم در یک مجموعه، پس از دوره اول "برنامهنویسی زبان اسمبلی برای مهندسی معکوس" است. در آن دوره قبلی، تمرکز بر مبانی x86 بود که در آن اسمبلی 32 بیتی را پوشش دادیم. در این دوره، سفر را ادامه میدهیم و یادگیری اسمبلی x64 (64 بیتی) را آغاز میکنیم. در نیمه دوم این دوره، همه دانش حاصل از دوره اول و همچنین بینشهای جدید از این دوره را در تمرینهای عملی مهندسی معکوس با باینریهای executable به کار خواهیم برد. گذراندن دوره اول توصیه میشود، اما الزامی نیست. شما میتوانید به طور مستقیم وارد این دوره x64 شده و تفاوتها را در طول دوره یاد بگیرید.
در حالی که دورههای کلاسیک زبان اسمبلی بر نوشتن کد از ابتدا با اسمبلرهایی مانند NASM یا FASM تمرکز دارند، اغلب دارای شکافی هستند که آن به کار بردن این تخصص در مهندسی معکوس واقعی است. این دوره طراحی شده است تا این شکاف را پر کند، به شما دانش لازم برای اصلاح و گسترش عملکرد اپلیکیشنهای موجود 32 بیتی و 64 بیتی را ارائه میدهد.
از طریق استفاده از یک دیباگر قوی x64dbg، ما اسمبلرهای سنتی را دور میزنیم تا به شما زبان اسمبلی را در همان زمینهای که در عمل بیشترین کاربرد را دارد، یعنی به طور مستقیم در محیط اشکالزدایی، آموزش دهیم. این کار به عنوان دیدگاه هکر به زبان اسمبلی نیز شناخته میشود. این رویکرد عملی اطمینان میدهد که شما از طریق عمل یاد میگیرید که برای مهندسی معکوس و دستکاری نرمافزار به طرز مؤثری حیاتی است.
این هنر سیاه بهطور وسیع آموزش داده نمیشود و هیچ دورهای در جای دیگری وجود ندارد که تمام دانش زبان اسمبلی و مهندسی معکوس را بهطور منسجم در یک جا گردآوری کند. اغلب، دورههای زبان اسمبلی و مهندسی معکوس بهصورت جداگانه ارائه میشوند. بسیاری از دورههای مهندسی معکوس به زمینه زبان اسمبلی از دیدگاه یک هکر نرمافزاری نمیپردازند. همچنین تقریباً تمامی دورههای زبان اسمبلی بر نوشتن برنامهها از ابتدا تمرکز دارند و به تغییر برنامههای موجود برای افزودن عملکرد جدید با کد خود از طریق دیباگری مانند x64dbg نمیپردازند.
اهداف یادگیری:
در پایان این دوره، شما درک کاملی از زبان اسمبلی x64 از دیدگاه یک مهندس معکوس خواهید داشت که یک مهارت نادر و پرتقاضا در زمینههایی مانند امنیت سایبری، تحلیل بدافزار و توسعه نرمافزار است.
چه پژوهشگر امنیت، تحلیلگر بدافزار، دانشجوی امنیت نرمافزار یا برنامهنویس باشید و بخواهید درک خود را از جزئیات داخلی نرمافزار عمیقتر کنید، این دوره نقطه شروع عالی شما برای تسلط به "هنر سیاه" زبان اسمبلی و مهندسی معکوس خواهد بود.
امروز در این دوره شرکت کنید تا این مزیت رقابتی را بدست آورید و مهارتهای خود را به سطح بعدی ببرید. بیایید پیچیدگیهای x64 را با هم کشف کنیم.
این دوره برای چه کسانی مناسب است؟
- دانشجویانی که دوره اول این مجموعه، برنامهنویسی زبان اسمبلی برای مهندسی معکوس، را گذراندهاند.
- هر کسی که از قبل با زبان اسمبلی x86 (32 بیتی) آشناست و میخواهد زبان اسمبلی x64 (64 بیتی) را از دیدگاه یک هکر یاد بگیرد
- پژوهشگران امنیت
موارد عملی زبان اسمبلی x64 و مهندسی معکوس
-
مقدمه 06:40
-
نصب ماشین مجازی و x64dbg 03:50
-
چرا از یک دیباگر برای یادگیری زبان اسمبلی استفاده کنیم؟ 05:10
-
دستورات x64 06:00
-
اولین دستور خود را بنویسید 07:13
-
ذخیره کردن ثابتهای عددی در حافظه 13:36
-
ذخیره کردن ثابتهای رشتهای در حافظه 07:03
-
ایجاد متغیرها 04:59
-
چگونه یک رجیستر را با XOR صفر کنیم؟ 02:26
-
دستورات ADD 04:02
-
ایجاد یک قالب جدید 01:44
-
دستورات MOV جزئی 03:13
-
مبانی PUSH و POP 06:16
-
تمرین روی PUSH و POP 02:37
-
آشنایی با دستورات MOV 00:50
-
کار عملی در مورد دستورات MOV 03:43
-
دستور XCHG 03:57
-
حافظه XCHG 06:30
-
INC و DEC 04:18
-
NEG 03:16
-
ADD و SUB 07:26
-
آشنایی با پرچمهای رجیستر 02:45
-
پرچم CF 03:15
-
پرچم OF 04:42
-
پرچم SF 02:07
-
پرچم ZF 01:43
-
آشنایی با عملیاتهای منطقی بیتی 03:40
-
عملیاتهای AND 05:40
-
عملیاتهای OR 07:08
-
عملیاتهای XOR 05:09
-
رجیستر پرچمها 04:58
-
عملیات NOT 01:51
-
آشنایی با پرشها 01:19
-
دستورات JMP 11:13
-
دستورات TEST 08:13
-
دستورات CMP 03:36
-
پرشهای شرطی 11:46
-
پرشهای شرطی امضا شده 08:27
-
پیادهسازی دستورات If 07:36
-
پیادهسازی دستورات If-Else 09:26
-
تستهای IF چندگانه 09:05
-
حلقههای WHILE 09:30
-
حلقههای DO-WHILE 07:55
-
آشنایی با آرایهها در x64dbg 06:09
-
حلقهزنی در یک آرایه 08:18
-
دستورات LEA 09:08
-
دستورات MUL 05:37
-
دستورات DIV 04:48
-
دستورات IMUL 07:30
-
پشته 12:40
-
ایجاد استکفریمها، دستورات CALL و RET 05:35
-
کنوانسیونهای فراخوانی 07:24
-
فراخوانی تابع ساده با 4 آرگومان و بدون متغیرهای محلی 07:27
-
فراخوانی تابع با 4 آرگومان و 4 متغیر محلی 10:36
-
فراخوانی تابع با 5 آرگومان 07:45
-
فراخوانی تابع با 6 آرگومان 10:29
-
فراخوانی تابع با 7 آرگومان 13:53
-
آشنایی با موارد عملی 03:35
-
چگونه نوع exe را بررسی کنیم؟ 08:02
-
فیشینگ برای رمز عبور 03:34
-
چگونه یک پرش را معکوس کنیم و فایل را پچ کنیم؟ 04:25
-
متد ردیابی کامنت 17:36
-
چگونه به طور مستقیم به حافظه دسترسی پیدا کنیم تا رمز عبور را اصلاح کنیم و فایل exe را پچ کنیم؟ 06:21
-
فعال کردن دکمه خاکستری شده 06:04
-
چگونه یک باکس پیام مزاحم را حذف کنیم؟ 05:16
-
پچ کردن برای پذیرش هر کلید سریال و همچنین اصلاح باکس پیام 08:46
-
ردیابی نام کاربری 26:09
-
ردیابی رمز عبور 07:44
-
ردیابی مقادیر EAX 11:22
-
پچ کردن برای نمایش پیام درست 04:02
-
ردیابی مقادیر EAX برای دریافت رمز عبور 12:34
-
پچ کردن برای نمایش پیام تبریک 05:17
-
ردیابی حلقه - قسمت 1 15:16
-
ردیابی حلقه - قسمت 2 12:39
-
ردیابی حلقه - قسمت 3 08:59
-
شناسایی چند گزینه پچ کردن برای نمایش همیشگی پیام خوب 03:27
-
ردیابی حلقه شماره رجیستریشن - قسمت 1 10:55
-
ردیابی حلقه شماره رجیستریشن - قسمت 2 05:58
-
روش مناسب برای پچ کردن MessageBox 08:54
-
تکنیک ردیابی کامنت - قسمت 1 10:45
-
تکنیک ردیابی کامنت - قسمت 2 06:41
-
پچ کردن برای نمایش پیام خوب 03:23
-
ایجاد یک Self-Keygen 10:01
-
اصلاح کپشن MessageBox با CodeCaves 08:19
-
فیشینگ برای سریال 11:50
-
ایجاد یک MessageBox جایگزین برای نمایش کلید سریال 11:45
-
ردیابی سریع با تاگل کردن پرچم ZF 09:21
-
پچ کردن چندین پرش با بلوکهای NOP 03:39
-
نصب Process Hacker 02:34
-
تحلیل رفتار 07:00
-
شکستن حفاظت ضددیباگر و کشتن اولین پیام مزاحم 06:31
-
کشتن دومین پیام مزاحم و اجتناب از پچ کردن حافظه جابجایی 03:57
-
کشتن سومین پیام مزاحم و استفاده از Intermodular Exit API برای خروج 05:08
-
ردیابی الگوریتم برای تولید کلید 12:07
-
تابع printf خود را در یک exe برای چاپ کلید سریال تزریق کنید 12:24
-
تحلیل رفتار 04:16
-
ردیابی طول کد مخفی 10:24
-
تحلیل پارامترهای x64 Fastcall 07:23
-
تحلیل رفتار 19:00
-
دور زدن رمزگذاری با تحلیل دستورات CMP 15:43
-
دور زدن رمزگذاری با پچ کردن 03:53
-
اشکالزدایی یک باینری بستهبندی شده با UPX 09:53
-
فیشینگ برای رمز عبور بدون جستجوی رشته 13:36
-
پچ کردن حافظه با پایتون 11:45
-
در کجا دورههای بیشتری درباره مهندسی معکوس پیدا کنیم؟ 02:39
مشخصات آموزش
موارد عملی زبان اسمبلی x64 و مهندسی معکوس
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:مقدماتی
- تعداد درس:105
- مدت زمان :13:08:50
- حجم :9.96GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy