Программа факультатива

I Анализ бинарного кода

Утилиты пакета GNU binutils: ar, strings, strip, nm, size, readelf, objdump. Отладка ошибок, отладчик gdb, основные приемы работы. Отладочная информация в объектных файлах. Позиционно независимый код.

Задачи анализа бинарного кода: восстановление алгоритмов, форматов данных, протоколов, поиск дефектов. Формы представления результатов анализа (граф вызов, CFG). Дизассемблирование, восстановление меток. Интерактивный дизассемблер IDA Pro.

Вспомогательные данные, используемые в анализе бинарного кода. Символы системных функций и данных. Распознавание в машинном коде конструкций языка Си.

Динамический анализ: отладка и трассировка. Дополнение статического анализа результатами трассировки.

II Архитектура Intel64

Краткий обзор архитектуры Intel64, ее отличия от IA32. Соглашение о связях, используемое в 64-разрядном коде.

Регистры общего назначения. Примеры команд. Регистры XMM. Примеры скалярных команд. Примеры векторных команд.

Режимы работы процессора: 64-разрядный режим, режим совместимости, 32-разрядный режим. Различия между ними. Стек в 64-разрядном режиме.

Соглашение о связях System V AMD64. Соглашение о связях Microsoft.

III Анализ кода ОС на примере MS Windows

Использование аппаратуры процессоров семейства x86 для организации многозадачного режима в ОС Windows. Адресные пространства, процессы и потоки. Пространство имен диспетчера объектов. Взаимосвязь основных объектов ядра. Прохождение запроса в/в между user и kernel mode. Основы построения драйверов ядра.

Средства анализа кода в ОС Windows. Примеры проведения динамического анализа с использованием трассировщика.

IV Архитектура ARM

Обзор архитектуры ARM. Соглашение о связях. Регистры общего назначения. Примеры команд. Кодирование команд в виде ARM и Thumb. Векторная архитектура NEON: векторные регистры, примеры команд.

Оптимизации компилятора, полезные для архитектуры ARM. Рассмотрение практических задач: оптимизация программ на языке Си для платформы ARM, автонастройка компилятора для данной программы, оптимизация энергосбережения.

Скачать программу в виде PDF.

One Response to Программа факультатива

  1. Pingback: Программа факультатива | Архитектура ЭВМ и язык ассемблера

Leave a Reply