Содержание курса
1. Введение и основы архитектуры
4 урока
9
8
0м
0
Открытый
1.1
Что такое Assembler ARM
↗
3
2
-
0
Открытый
1.2
Регистровая модель
↗
2
2
-
0
Закрытый
1.3
Состояния процессора: Уровни исключений
↗
2
2
-
0
Закрытый
1.4
Настройка окружения
↗
2
2
-
0
2. Первая программа и структура кода
4 урока
8
8
0м
0
Открытый
2.1
Секции программы: .text, .data, .bss, .rodata
↗
2
2
-
0
Закрытый
2.2
Синтаксис GNU Assembler (GAS)
↗
2
2
-
0
Закрытый
2.3
Системные вызовы (syscalls)
↗
2
2
-
0
Закрытый
2.4
Процесс сборки
↗
2
2
-
0
3. Работа с данными и арифметика
4 урока
8
8
0м
0
Закрытый
3.1
Загрузка и хранение (Load/Store)
↗
2
2
-
0
Закрытый
3.2
Арифметические операции
↗
2
2
-
0
Закрытый
3.3
Логические операции
↗
2
2
-
0
Закрытый
3.4
Работа с битами
↗
2
2
-
0
4. Управление потоком выполнения
4 урока
8
8
0м
0
Закрытый
4.1
Флаги состояния (NZCV)
↗
2
2
-
0
Закрытый
4.2
Условные переходы
↗
2
2
-
0
Закрытый
4.3
Циклы: Реализация for, while, do-while
↗
2
2
-
0
Закрытый
4.4
Сравнение без ветвления: Инструкции CSEL, CSINC
↗
2
2
-
0
5. Стек и функции
4 урока
8
8
0м
0
Закрытый
5.1
Работа со стеком
↗
2
2
-
0
Закрытый
5.2
Calling Convention (ABI)
↗
2
2
-
0
Закрытый
5.3
Регистр связи (Link Register)
↗
2
2
-
0
Закрытый
5.4
Сохранение контекста
↗
2
2
-
0
6. Расширенные возможности
4 урока
8
8
0м
0
Закрытый
6.1
SIMD и NEON
↗
2
2
-
0
Закрытый
6.2
Floating Point
↗
2
2
-
0
Закрытый
6.3
Атомарные инструкции
↗
2
2
-
0
Закрытый
6.4
Inline Assembly
↗
2
2
-
0
7. Практика и реверс-инжиниринг
3 урока
6
6
0м
0
Закрытый
7.1
Оптимизация алгоритмов
↗
2
2
-
0
Закрытый
7.2
Анализ кода: Чтение дизассемблированного вывода
↗
2
2
-
0
Закрытый
7.3
Exploit Development (основы)
↗
2
2
-
0
8. Заключение
1 урок
2
2
0м
0
Закрытый
8.1
Заключение
↗
2
2
-
0