О проблеме логико-термальной эквивалентности последовательных программ с динамической памятью.

Некоторые методы обфускации программ предусматривают использование аппарата указателей. Это обусловлено тем, что задача анализа программ, в которых используются указатели, относится к числу алгоритмически трудных задач. Для разработки методов анализа программ, использующих динамическую память, целес...

Full description

Bibliographic Details
Published in:Труды Института системного программирования РАН
Main Authors: В.А. Захаров, К.С. Иванов
Format: Article
Language:English
Published: Russian Academy of Sciences, Ivannikov Institute for System Programming 2006-01-01
Online Access:https://www.ispras.ru/en/proceedings/isp_11_2006/isp_11_2006_61/
Description
Summary:Некоторые методы обфускации программ предусматривают использование аппарата указателей. Это обусловлено тем, что задача анализа программ, в которых используются указатели, относится к числу алгоритмически трудных задач. Для разработки методов анализа программ, использующих динамическую память, целесообразно ввести и исследовать строгую математическую модель, которая могла бы позволить проводить доказательство корректности полученных алгоритмов, оценивать их сложность и описывать с ее помощью обфускирующие и деобфускирующие преобразования. В предложенной работе предпринята попытка создать такую модель на основе известной модели стандартных схем программ. В статье рассматривается расширенный вариант стандартных схем программ, обогащенных средствами работы с указателями и динамической памятью. Для предложенной модели рассмотрена задача проверки логико-термальной эквиавлентности, которая ранее была исследована для обычных стандартных схем программ. Показано, что проблема логико-термальной эквивалентности для схем программ с динамической памятью разрешима за полиномиальное время.
ISSN:2079-8156
2220-6426