RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2018, том 30, выпуск 6, страницы 39–68 (Mi tisp376)

Эта публикация цитируется в 5 статьях

О новом поколении промежуточных представлений, применяемых для анализа бинарного кода

М. А. Соловьевab, М. Г. Бакулинb, М. С. Горбачевb, Д. В. Манушинab, В. А. Падарянba, С. С. Панасенкоb

a Московский государственный университет им. М.В. Ломоносова
b Институт системного программирования им. В.П. Иванникова РАН

Аннотация: Многие программные инструменты анализа бинарного кода работают не напрямую с машинными командами, а с промежуточными представлениями, в которые этот код транслируется. В статье рассмотрены различные задачи анализа бинарного кода, сформулированы требования к промежуточному представлению, которое могло бы использоваться сразу для многих задач. Базовые требования дополнены требованиями, вытекающими из особенностей целевых процессорных архитектур. Проведен обзор существующих подходов к декодированию машинных команд и описанию их семантики и предложены новые подходы к решению этих задач: унифицированная схема декодирования и промежуточное представление для задания семантики команд, позволяющее учитывать особенности выборки команд и обработки исключений. Показан способ применения предложенных подходов к моделированию работы процессора при конкретной и абстрактной интерпретации и символьном выполнении.

Ключевые слова: абстрактная интерпретация, анализ бинарного кода, динамический анализ, компиляторные технологии, обратная инженерия ПО, символьное выполнение, статический анализ.

DOI: 10.15514/ISPRAS-2018-30(6)-3



Реферативные базы данных:


© МИАН, 2024