Мини-курсЭксперт278 мин3 модуля · 15 карт

Reverse Engineering основы

Доступ открывается сразу после подтверждения оплаты и не сгорает. Услуга оказывается дистанционно, на платформе. Указана итоговая стоимость, НДС не облагается. Условия — в публичной оферте и правилах возврата.

О курсе

Научись читать код, который не хотел быть прочитанным! IDA, Ghidra, x86 ассемблер, антиотладка и распаковка — 15 уроков, после которых crackme и malware станут открытой книгой. Реверс — это суперсила, которая открывает двери в форензику, malware analysis и bug hunting.

Чему ты научишься

  • анализировать форматы исполняемых файлов PE, ELF и Mach-O
  • читать и понимать ассемблерный код x86/x64
  • использовать IDA Free и Ghidra для статического анализа бинарников
  • проводить динамический анализ с x64dbg и точками останова
  • обходить антиотладочные техники и распаковывать бинарники
  • распознавать стандартные конструкции в ассемблере (циклы, условия, функции)
  • решать crackme-задачи на CTF

Что нужно знать

  • базовое понимание архитектуры x86/x64
  • знание основ программирования (C/C++ — преимущество)
  • опыт работы с Linux и Windows
  • готовность установить IDA Free и Ghidra

Программа

  1. M1

    Введение в реверс

    5 карт

    Входим в мир реверс-инжиниринга — форматы исполняемых файлов, основы ассемблера x86 и полный арсенал инструментов, который превратит бинарный хаос в читаемый код

    • 1.
      Зачем нужен реверс-инжинирингReverse engineering — навык разбора чужого кода без исходников, критичный для анализа малвари, поиска уязвимостей и понимания закрытых протоколов.
    • 2.
      Форматы исполняемых файлов PE ELF Mach-OPE (Windows), ELF (Linux) и Mach-O (macOS) — три основных формата исполняемых файлов, каждый со своей структурой заголовков, секций и таблиц импорта.
    • 3.
      Основы ассемблера x86 x64Регистры, основные инструкции (mov, push, call, jmp, cmp) и calling conventions — минимум ассемблера для чтения дизассемблированного кода.
    • 4.
      Инструментарий реверс-инженераIDA Free, Ghidra, x64dbg, radare2, objdump и вспомогательные утилиты — полный набор инструментов для статического и динамического анализа.
    • 5.
      Правовые аспекты реверс-инжинирингаRE легален для security research, interoperability и education в большинстве юрисдикций, но DMCA, CFAA и EULA могут создать ограничения — знание границ критично.
  2. M2

    Статический анализ

    5 карт

    Два главных оружия реверсера — IDA и Ghidra. Навигация, декомпилятор, графы вызовов и аннотирование кода. После этого модуля бинарники перестанут быть чёрным ящиком

    • 1.
      Знакомство с IDA Free и навигацияIDA Free — индустриальный дизассемблер: загрузка бинарника, навигация по функциям, cross-references, строки и graph view — базовые навыки для статического анализа.
    • 2.
      Знакомство с Ghidra и декомпиляторGhidra — бесплатный RE-фреймворк с мощным декомпилятором: установка, создание проекта, auto-analysis, навигация и чтение декомпилированного C-кода.
    • 3.
      Анализ функций и графов вызововОпределение границ функций, анализ аргументов и возвращаемых значений, построение call graph и выявление ключевых функций для фокусировки анализа.
    • 4.
      Переименование и аннотирование кодаПереименование функций, переменных и добавление комментариев превращает нечитаемый дизассемблированный код в понятный — это основа эффективного RE.
    • 5.
      Распознавание стандартных конструкцийПаттерны if/else, for, while, switch-case, доступ к структурам и вызовы виртуальных функций в assembly — распознавание ускоряет RE в разы.
  3. M3

    Динамический анализ

    5 карт

    Запускаем бинарник под микроскопом — x64dbg, breakpoints, системные вызовы, антиотладка и распаковка. Финальный crackme challenge ждёт тебя

    • 1.
      Отладка в x64dbg точки останова и пошаговое выполнениеx64dbg — отладчик для Windows: интерфейс, breakpoints (software, hardware, conditional), пошаговое выполнение и анализ состояния регистров и памяти в runtime.
    • 2.
      Отслеживание системных вызовов и APIAPI tracing — перехват вызовов WinAPI, системных вызовов и библиотечных функций для понимания поведения программы без глубокого анализа кода.
    • 3.
      Обход антиотладочных техникМалварь и защищённый софт используют anti-debug: IsDebuggerPresent, timing checks, TLS callbacks, NtQueryInformationProcess — и все они обходятся через патчинг или плагины.
    • 4.
      Распаковка упакованных бинарных файловPackers (UPX, Themida, custom) сжимают и шифруют код — распаковка через нахождение OEP (Original Entry Point) и dump восстанавливает оригинальный бинарник.
    • 5.
      Финальный challenge реверс crackmeКомплексный crackme с многоэтапной проверкой: длина, XOR, хеш, anti-debug — применяем все навыки курса для написания keygen.