آموزش دوره جامع اسمبلی ARM 64-بیتی برای هکرهای اخلاقی - آخرین آپدیت

دانلود 64-bit ARM Assembly foundation course for Ethical Hackers

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: در این دوره، تسلط بر اسمبلی 64-بیتی ARM و مهندسی معکوس را برای هک اخلاقی و تست نفوذ بیاموزید تا مهارت‌های امنیت سایبری خود را ارتقا دهید. درک معماری ARM: آشنایی با معماری ARM و اهمیت آن در محاسبات مدرن و امنیت سایبری. نصب و پیکربندی ابزارهای مورد نیاز برای برنامه‌نویسی اسمبلی ARM 64-بیتی، مانند اسمبلرها، دیباگرها و شبیه‌سازها. سینتکس پایه اسمبلی: نوشتن برنامه‌های ساده اسمبلی ARM 64-بیتی و درک ساختار و نحو زبان اسمبلی. مروری دقیق بر مجموعه دستورالعمل‌های ARM 64-بیتی، شامل دستورات پردازش داده، کنترل جریان و دسترسی به حافظه. ثبات‌ها و انواع داده‌ها: درک رجیسترهای ARM 64-بیتی، انواع داده‌ها و کاربرد آن‌ها در برنامه‌نویسی اسمبلی. درک چیدمان حافظه: یادگیری بخش‌های حافظه (Text, Data, Stack, Heap) و نقش آن‌ها در اجرای برنامه. حالت‌های آدرس‌دهی: بررسی روش‌های مختلف آدرس‌دهی در اسمبلی ARM 64-بیتی و نحوه دسترسی به حافظه. فراخوانی توابع و مدیریت استک: نوشتن و فراخوانی توابع، مدیریت استک و درک قراردادهای فراخوانی (Calling Conventions). اجرای شرطی و ساختارهای حلقه: پیاده‌سازی دستورات شرطی و حلقه‌ها در زبان اسمبلی. پیش نیازها: آشنایی مقدماتی با خط فرمان لینوکس، مبانی برنامه‌نویسی C و علاقه وافر به هک اخلاقی، امنیت سایبری یا مهندسی معکوس.

با این دوره عملی که برای هکرهای اخلاقی، تسترهای نفوذ و متخصصان امنیت سایبری طراحی شده است، مفاهیم پایه و پیشرفته اسمبلی ARM 64-بیتی و مهندسی معکوس را فرا بگیرید. با توجه به تسلط معماری ARM بر دستگاه‌های موبایل مدرن، سخت‌افزارهای IoT و سیستم‌های نهفته (Embedded)، درک internals مربوط به ARM64 برای هر کسی که به دنبال تحقیق در حوزه امنیت یا تحلیل بدافزار است، ضروری است. این دوره مسیری ساختاریافته را برای یادگیری نحوه عملکرد پردازنده‌های ARM، اجرای کدهای اسمبلی و مهندسی معکوس فایل‌های باینری واقعی ARM64 فراهم می‌کند.

شما با ضروریات معماری ARM، از جمله رجیستره‌ها، مجموعه دستورالعمل‌ها و تفاوت‌های آن با x86 شروع خواهید کرد. سپس به مبانی زبان اسمبلی، تسلط بر سینتکس، حالت‌های آدرس‌دهی، چیدمان حافظه، عملیات استک و قراردادهای فراخوانی می‌پردازید. در نهایت، این مهارت‌ها را برای درک تکنیک‌های پیشرفته برنامه‌نویسی مانند فراخوانی توابع، پرش‌ها، اجرای شرطی و تعامل با منابع سیستم به کار خواهید گرفت.

این دوره تمرکز عملی شدیدی دارد. شما فایل‌های اجرایی ARM را مهندسی معکوس کرده، جریان کنترل را تحلیل می‌کنید، منطق برنامه را بازسازی کرده، شل‌کد می‌نویسید و بررسی می‌کنید که آسیب‌پذیری‌ها در سطح اسمبلی چگونه ظاهر می‌شوند. همچنین نحوه رفتار بدافزارهای مبتنی بر ARM را خواهید آموخت تا دانش سطح پایین خود را در هک اخلاقی و تحقیقات امنیتی به کار بگیرید.

چه در ابتدای راه یادگیری ARM64 باشید و چه بخواهید تخصص مهندسی معکوس خود را گسترش دهید، این دوره مهارت‌های امنیت سایبری شما را ارتقا می‌دهد. همین حالا ثبت‌نام کنید تا قدرت اسمبلی ARM 64-بیتی را آزاد کنید.


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

مقدمه Introduction

  • مقدمه Introduction

  • چرا باید زبان اسمبلی ARM را یاد بگیریم؟ Why should we learn ARM assembly language ?

ایجاد زیربنای برنامه‌نویسی اسمبلی ARM Building the foundation for ARM assembly programming

  • سیستم کامپیوتری چگونه کار می‌کند؟ How a computer system works ?

  • ساختار داخلی CPU در ARM چگونه است؟ How does an ARM CPU works internally ?

  • رجیسترهای CPU در ARM و نحوه عملکرد آن‌ها ARM CPU registers and its workings

  • عملکرد رجیستر PSTATE (رجیستر پرچم‌ها) در ARM PSTATE register ( flag register ) working in ARM CPU.

  • چیدمان حافظه در یک برنامه لینوکسی Memory layout of a Linux program

پیکربندی ماشین آزمایشگاهی Lab machine configuration

  • راه اندازی محیط آزمایشگاهی برای برنامه‌نویسی اسمبلی ARM Lab machine setup for arm assembly programming

برنامه Hello World در اسمبلی ARM Hello World in ARM assembly

  • ساختار پایه برنامه اسمبلی ARM Basic ARM assembly program structure

  • مفهوم System Calls در سیستم عامل لینوکس Concept of system calls in Linux Operating system

  • چاپ عبارت Hello World در اسمبلی ARM Printing "Hello World" in ARM assembly programming

  • دیباگ کردن برنامه Hello World در GDB Debugging "Hello World" ARM assembly program in GDB

بارگذاری داده‌ها از حافظه به رجیسترها در اسمبلی ARM Loading data into registers from memory in ARM assembly programming

  • نحوه تعریف داده‌ها در برنامه‌نویسی اسمبلی ARM How to define data in ARM assembly programming ?

  • بررسی پویا داده‌های برنامه باینری ARM در GDB How to examine our ARM binary program data dynamically in GDB

  • بارگذاری داده از حافظه به رجیسترها با دستور load How to load the data from memory into ARM CPU registers using load instruction

  • بارگذاری یک بایت داده از آرایه با آدرس‌دهی نسبی رجیستری Loading a single byte data from an array using register relative addressing

  • بارگذاری یک Word (۴ بایت) از آرایه با آدرس‌دهی نسبی رجیستری Loading a word (4 byte ) data from an array using register relative addressing

  • بارگذاری داده‌های ۸ بایتی از آرایه با آدرس‌دهی نسبی رجیستری Loading 8 byte sized data from an array using register relative addressing

  • بارگذاری داده‌ها با روش آدرس‌دهی Pre-index Loading the data using Pre-index register relative addressing method

  • بارگذاری داده‌ها با روش آدرس‌دهی Post-index Loading the data using Post-index register relative addressing method

  • بارگذاری داده‌ها با استفاده از آدرس‌دهی Base Indexed Loading the data using base indexed memory addressing

  • بارگذاری آدرس صفحه (Page Address) در رجیسترها Loading page address into registers in arm assembly programming

  • استفاده از دستور adrp برای بارگذاری آدرس صفحه در رجیستر Using adrp instruction to load the page address into register

  • بارگذاری داده‌ها به صورت جفت در رجیسترهای ARM Loading the data in pairs in registers in arm assembly programming

ذخیره داده‌ها از رجیستر به حافظه در اسمبلی ARM Storing the data from register into memory in arm assembly programming

  • ذخیره داده از رجیستر به حافظه با دستور store (str) Storing our data from register into memory using store ( str ) instruction

  • ذخیره داده از رجیستر در یک آرایه در حافظه Storing data from the register into an array in memory

  • ذخیره داده با استفاده از آدرس‌دهی نسبی Pre-indexed Storing data from register using pre-indexed register relative addressing

  • ذخیره داده با استفاده از آدرس‌دهی نسبی Post-indexed Storing data from register using post-indexed register relative addressing

  • ذخیره جفتی داده‌ها از رجیستر به حافظه Storing the data in pairs from register to memory

پرش‌ها (Branching) در برنامه‌نویسی اسمبلی ARM Branching in arm assembly programming

  • بارگذاری آدرس حافظه یک لیبل (Label) در رجیستر Loading a label memory address into register

  • نحوه استفاده از دستور Branch در اسمبلی ARM How to use branch instruction in arm assembly programming

  • پرش به مکان حافظه با استفاده از رجیستر در دستور Branch Jumping to memory location using a register in branch instruction in assembly

  • استفاده از دستور Branch and Link برای فراخوانی تابع Using branch and link instruction to call a function in arm assembly programming

  • استفاده از شرط‌ها در دستورات Branch Using a condition in branch instruction in arm assembly programming

عملیات شیفت بیت‌ها در اسمبلی ARM Bit shifting operations in arm assembly programming

  • شیفت دادن بیت‌ها به چپ و راست در اسمبلی ARM Shifting bits in left and right direction in arm assembly programming

  • نحوه تبدیل اعداد منفی به باینری How negative numbers are converted in binary

  • جابجایی بیت‌ها با دستورات mov و lsl Moving bits using mov and lsl instruction in arm assembly programming

  • استفاده از دستور asr برای شیفت به راست Using asr instruction to shift right in arm assembly programming

  • چرخاندن (Rotate) بیت‌ها به راست در اسمبلی ARM Rotating the bits in the right direction in arm assembly programming

  • دستور BitField move برای جابجایی بیت‌ها در رجیستر BitField move instruction to move bits into register in arm assembly programming

عملیات ریاضی در اسمبلی ARM Arithmetic Operations in arm assembly programming

  • جمع اعداد در اسمبلی ARM Adding numbers in arm assembly programming

  • تفریق اعداد در اسمبلی ARM Subtraction of numbers in arm assembly programming

  • جمع با بررسی وضعیت (Status) در اسمبلی ARM Addition with status in arm assembly programming

  • تفریق در حالت باینری چگونه عمل می‌کند؟ How subtraction works in binary ?

  • تفریق با بررسی وضعیت در اسمبلی ARM Subtraction with status in arm assembly programming

  • ضرب اعداد در اسمبلی ARM Multiplication in arm assembly programming

  • ضرب به همراه جمع و تفریق در ARM Multiply with add and subtract in arm assembly

  • عملیات ضرب و نفی (Multiply and Negate) Multiply and negate operation

  • تقسیم اعداد در اسمبلی ARM Dividing numbers in arm assembly programming

عملیات منطقی در اسمبلی ARM Logical operations in arm assembly programming

  • عملیات منطقی AND در اسمبلی ARM AND logical operation in arm assembly programming

  • عملیات منطقی OR در اسمبلی ARM OR logical operation in arm assembly programming

  • عملیات منطقی XOR در اسمبلی ARM XOR logical operation in arm assembly programming

  • عملیات منطقی NOT در اسمبلی ARM NOT operation in arm assembly programming

  • مقایسه دو مقدار در اسمبلی ARM Comparing two values in arm assembly programming

توابع در اسمبلی ARM Functions in arm assembly

  • نحوه استفاده از توابع در اسمبلی ARM How to use functions in arm assembly programming

  • برنامه چگونه محل بازگشت پس از فراخوانی تابع را می‌شناسد؟ How a program knows where to return after function call

  • نحوه عملکرد توابع با حافظه استک How functions works with the stack memory

  • چگونه Stack Frame برای توابع در اسمبلی ARM ایجاد می‌شود؟ How stack frame is created on stack for functions in arm assembly ?

  • ایجاد Stack Frame برای یک تابع در اسمبلی ARM Creating a stack frame for a function in arm assembly programming

  • مثالی از ایجاد Stack Frame در اسمبلی ARM An example of stack frame creation in arm assembly

  • تاثیر آدرس‌دهی معمولی (Normal Indexed) بر حافظه استک Effect of normal indexed addressing on stack memory

  • تاثیر آدرس‌دهی Pre-indexed بر حافظه استک Effect of pre-indexed addressing on stack memory

  • تاثیر آدرس‌دهی معمولی دستور ldp بر حافظه استک Effect of normal- indexed addressing of ldp instruction on stack memory

  • تاثیر آدرس‌دهی Post-indexed دستور ldp بر حافظه استک Effect of post-indexed addressing of ldp instruction on stack memory

مبانی مهندسی معکوس باینری‌های ARM Basics of Reverse Engineering in arm binary

  • مبانی مهندسی معکوس Reverse Engineering Basics

  • تحلیل استاتیک باینری Hello World در ARM Performing static analysis of Hello World ARM binary

  • درک ساختار کد برنامه Hello World Understanding code construct of Hello World program

  • تحلیل دینامیک باینری Hello World در ARM Performing dynamic analysis of Hello World arm binary

  • ردیابی آرگومان‌های تابع main در باینری ARM با تحلیل دینامیک Tracing the main function arguments in arm binary using dynamic analysis

  • درک نحوه استفاده از متغیرهای تابع با رجیسترها و حافظه Understanding how the function variables are used with registers & memory

  • درک ساختار کد if-else در دیس‌اسمبل باینری ARM Understanding code construct of if else in our disassembly of arm binary

  • نمایش عملی ساختار if-else در دیباگر GDB Practical demonstration of code construct of if-else in GDB debugger

  • درک ساختار حلقه for در دیس‌اسمبل برنامه ARM Understanding for loop code construct of our arm program disassembly

  • نمایش عملی ساختار حلقه for در GDB Practical demonstration of for loop code construct in GDB of arm disassembly

  • درک ساختار حلقه while در کد دیس‌اسمبل شده Understanding code construct of while loop in disassembly code

  • نمایش عملی ساختار حلقه while در GDB Practical demonstration of while loop code construct in gdb of arm disassembly

ساختارهای کد باینری ARM و چالش‌های مهندسی معکوس Code Constructs of arm binary and reversing challenges

  • ساختار کد تابع main خالی با یا بدون آرگومان Code construct of empty main function with or without function args

  • الگوی ساختار کد متغیرهای Integer در تابع main Code construct pattern of integer variables in main function

  • چالش مهندسی معکوس: یافتن متغیرهای Integer در تابع main Reversing challenge of finding integer variables in main function

  • پاسخ چالش اول Solution of the challenge 1

  • الگوی ساختار کد رشته‌ها (Strings) در برنامه Code construct pattern of strings in the program

  • چالش ساختار کد رشته‌ها Strings code construct challenge

  • پاسخ چالش رشته‌ها Solution of strings_challenge

  • ساختار کد فراخوانی توابع و آرگومان‌های آن‌ها در اسمبلی ARM Code construct of function calls and their arguments in arm assembly

  • پاسخ چالش ساختار کد توابع Challenge solution of function code construct

چالش‌های پیشرفته مهندسی معکوس باینری ARM ARM binary reversing challenges

  • چالش مهندسی معکوس باینری ARM - ۱ ARM binary reversing challenge 1

  • چالش مهندسی معکوس باینری ARM - ۲ ARM binary reversing challenge 2

  • چالش مهندسی معکوس باینری ARM - ۳ ARM binary reversing challenge 3

  • چالش مهندسی معکوس باینری ARM - ۴ ARM binary reversing challenge 4

  • چالش مهندسی معکوس باینری ARM - ۵ (حل با استفاده از مهارت‌های ساختار کد اسمبلی) ARM binary reversing challenge 5 - Solving using code construct assembly skills

نمایش نظرات

آموزش دوره جامع اسمبلی ARM 64-بیتی برای هکرهای اخلاقی
جزییات دوره
30.5 hours
90
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
228
4.6 از 5
دارد
دارد
دارد
Swapnil Singh
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Swapnil Singh Swapnil Singh

برنامه نویس و محقق امنیت سایبری