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

Труды ИСП РАН, 2018, том 30, выпуск 5, страницы 75–88 (Mi tisp361)

Approach to analyzing executable code based on the software architecture recovery

[Подход к анализу исполняемого кода на основе восстановления программной архитектуры]

D. S. Kononov

Federal State Unitary Enterprise «18 CSRI», Ministry of Defence of RF

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

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

Язык публикации: английский

DOI: 10.15514/ISPRAS-2018-30(5)-4



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


© МИАН, 2024