دوره مهندسی معکوس نرم‌افزار

  • آنلاین
    دوره مهندسی معکوس نرم‌افزار
    قیمت 5,000,000 تومان
    مدت زمان(ساعت) 50
    برنامه پنج‌شنبه، جمعه 15 الی 17:30
    تاریخ شروع پنجشنبه، 20 دی 1403

    اساتید

    مهندس حاجیانی

مهندسی معکوس نرم افزار: سفری به اعماق برنامه‌ها

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

مهندسی معکوس نرم‌افزار کاربردهای متعددی دارد، از جمله:

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

با توجه به این موضوع؛ آکادمی لیان اقدام به برگزاری دوره اختصاصی با عنوان "مهندسی معکوس نرم‌افزار" با تدریس مهندس حاجیانی کرده است.

مزایای آکادمی لیان

سرفصل‌های دوره مهندس معکوس نرم‌افزار

همان‌طور که بالاتر اشاره شد، این دوره بصورت اختصاصی توسط آکادمی لیان، تهیه و تدوین شده است. در بخش اول و دوم این دوره، ابتدا با مقدمات و مفاهیم پایه‌ای حوزه مهندسی معکوس آشنا خواهید شد و سپس در فصل سه و چهار با زبان‌های برنامه‌نویسی C و Assembly آشنا خواهید شد. در نهایت در فصل‌های پنج، شش، هفت و هشت نیز بصورت تخصصی وارد بحث مهندسی معکوس خواهید شد. شایان ذکر است که امکان تغییرات جزئی در سرفصل‌ها، بنا به نظر استاد دوره، وجود دارد.

content-photos/80/3754/yTbQiQqPMTCnjscc_2000-2000.jpg

سرفصل‌های دوره مهندس معکوس نرم‌افزار

همان‌طور که بالاتر اشاره شد، این دوره بصورت اختصاصی توسط آکادمی لیان، تهیه و تدوین شده است. در بخش اول و دوم این دوره، ابتدا با مقدمات و مفاهیم پایه‌ای حوزه مهندسی معکوس آشنا خواهید شد و سپس در فصل سه و چهار با زبان‌های برنامه‌نویسی C و Assembly آشنا خواهید شد. در نهایت در فصل‌های پنج، شش، هفت و هشت نیز بصورت تخصصی وارد بحث مهندسی معکوس خواهید شد. شایان ذکر است که امکان تغییرات جزئی در سرفصل‌ها، بنا به نظر استاد دوره، وجود دارد.

content-photos/80/3754/yTbQiQqPMTCnjscc_2000-2000.jpg

• What is reverse engineering ?
• Why reverse engineering is critical in software development, security, and analysis
• Examples of reverse engineering in industry
• Types of Reverse Engineering
• Use cases of reverse engineering
• Review of jobs and working conditions of reverse engineering

• Data unit
• Data type
• Ascii and Unicode
• Lsb and msb
• Signed and unsigned
• Number Systems
• Convert the number system (bases) to Each other
• CPU Architectures
• Loader
• Low level and high level programming
• Interpreted and Compiled programming language
• X86 vs X64
• Release and debug mode
• Introduction to Portable Executable (PE) Format

• Introduction to Assembly Language
• Install and configuration RadAsm , WinAsm
• Basic Structure of an Assembly Program
• CPU Architecture and Instruction Set
• Data Movement Instructions
• Arithmetic and Logic
• Control Flow
• Stack Operations
• Function Calls and Parameter Passing
• Interrupts and System Calls
• Memory Access and Addressing Modes
• Floating Point
• Inline Assembly

• Installing and Setting Up the C Environment
• Basic Structure of a C Program
• Data Types and Variables
• Input and Output Operations
• Operators and Expressions in C
• Control Flow Statements in C
• Functions and Modular Programming
• Arrays and Strings in C
• Pointers

• Introduction to Static Analysis
• Definition and benefits
• Differences between static and dynamic analysis
• Disassemblers (IDA Pro, Ghidra)
• Binary analysis tools (Binary Ninja, Radare2)
• Basic Static Analysis Techniques
• Introduction to Dynamic Analysis
• Debuggers (OllyDbg, x64dbg, WinDbg , dnspy)
• Monitoring tools (Process Monitor, API Monitor)
• Basic Debugging Techniques
• Advanced Dynamic Analysis Techniques
• Scripts and plugins

• Entry Point Protection (OEP Protection)
• Code Obfuscation
• Code Virtualization
• Anti-Debugging Techniques
• Advanced Anti-Debugging Techniques
• Packing and Unpacking
• Integrity Checks

• Introduction to Software Patching
• Patching Techniques
• +30 software examples

• Real-world case studies
• DRM bypassing protection
• CTF challenges
• Developing custom tools for reverse engineering
• Additional Resources

این دوره نیاز به پیش‌نیازی ندارد و تمام هر آنچه نیاز است، در دوره پوشش داده خواهد شد.

شما بعد از گذراندن این دوره توانایی‌های زیر را کسب خواهید کرد:

  • تحلیل و حل چالش‌های بالقوه نرم‌افزار
  • درک ساختار و چگونگی عملکرد نرم‌افزار
  • آنالیز و پیدا کردن آسیب‌پذیری‌های نرم‌افزار
  • تحلیل استاتیک و داینامیک نرم افزار 
  • توسعه‌دهندگان اکسپلویت 
  • تحلیل‌گران بدافزار
  • محققان آسیب‌پذیری 
  • مهندسین نرم‌افزار
  • تحلیل‌گران امنیت سایبری