Reverse Engineering: Читайте программное обеспечение, исходный код которого у вас никогда не было
Reverse engineering — это дисциплина анализа скомпилированного ПО для понимания того, как оно работает, без доступа к исходному коду. Специалисты по безопасности используют его для поиска уязвимостей, аналитики вредоноса разбирают враждебный код, а инженеры встроенных систем разбираются во встроенном ПО. Этот трек охватывает весь стек: от форматов бинарных файлов и Assembly до статического и динамического анализа, вплоть до разработки эксплойтов и продвинутых техник защиты от RE.
Чему вы научитесь
Вы начнёте с основ бинарных файлов — форматов исполняемых файлов, размещения в памяти и того, как код высокого уровня преобразуется в машинные инструкции. Затем вы научитесь читать и анализировать x86/x64 Assembly так, как он появляется в реальных результатах дизассемблирования. Вы будете использовать инструменты статического анализа для изучения бинарных файлов без их запуска, затем перейдёте к динамическому анализу и отладке для наблюдения за живым выполнением кода. Последующие курсы охватывают анализ вредоноса, оптимизации компилятора и то, как они скрывают намерение, автоматизированный статический анализ с помощью скриптов и трюки защиты от reverse engineering, используемые на практике. Трек завершается RE встроенных систем, исследованием уязвимостей, разработкой эксплойтов и обзором направлений развития этой области.
Траектория обучения
Двенадцать курсов охватывают уровни от A1 до C2. Первый курс знакомит с основными концепциями на уровне A1 с бесплатным первым взглядом; следующие два курса (A2–B2) развивают навыки работы с бинарными файлами и чтения Assembly. Четыре курса B2/C1 охватывают основные workflows анализа: статические инструменты, динамическая отладка, основы анализа вредоноса и скриптинг. Последние четыре курса работают на уровнях C1–C2 и решают самые сложные задачи: оптимизации компилятора и их влияние на дизассемблирование, встроенные системы и встроенные мишени, исследование уязвимостей и разработка эксплойтов, а также продвинутые темы, включая текущие тренды в этой области.
Как это работает
Каждый курс разбит на короткие, сосредоточенные уроки с практическими упражнениями во встроенном редакторе — вы читаете Assembly, аннотируете бинарные файлы и работаете над реальными задачами анализа с обратной связью в реальном времени. AI-тьютор всегда готов помочь, когда вы застрянете на последовательности инструкций, флаге инструмента или незнакомой структуре бинарного файла.