Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 610370)
Контекстум
Прикладная информатика / Journal of Applied Informatics  / №6 2009

Восстановление типов данных в задаче декомпилирования в язык C (150,00 руб.)

0   0
Первый авторТрошина
АвторыЧернов А.В.
Страниц19
ID450800
АннотацияДекомпиляция — одна из сложнейших задач обратной инженерии. Одной из подзадач декомпиляции является задача восстановления типов данных. В работе подробно рассматриваются методы восстановления типов данных языка C, как базовых, так и производных
Трошина, Е.Н. Восстановление типов данных в задаче декомпилирования в язык C / Е.Н. Трошина, А.В. Чернов // Прикладная информатика / Journal of Applied Informatics .— 2009 .— №6 .— С. 100-118 .— URL: https://rucont.ru/efd/450800 (дата обращения: 21.04.2025)

Предпросмотр (выдержки из произведения)

ПРИКЛАДНАЯ ИНФОРМАТИКА ¹ 6(24) 2009 Е. Н. Трошина, А. В. Чернов Восстановление типов данных в задаче декомпилирования в язык C Декомпиляция—одна из сложнейших задач обратной инженерии. <...> Программные компоненты, представленные в виде исполняемых файлов или на языке ассемблера, сложны для анализа специалистами в области информационной безопасности. <...> Для более качественного и продуктивного анализа их лучше предоставлять специалистам на более высоком уровне представления, например, на языке высокого уровня, в частности на языке программирования C. <...> Ассемблерный код и, тем более, исполняемые файлы не позволяют с приемлемыми трудозатратами оценить взаимосвязь элементов проЛаборатория‚Испытаниетехнологий граммы, а также идентифицировать в программе различные алгоритмические конструкции, в то время как наличие восстановленной программы на языке высокого уровня дает возможность преодолеть указанные выше трудности. <...> В качестве одного из средств для повышения уровня абстракции представления программы может использоваться декомпиляция. <...> Декомпиляция — это процесс автоматического восстановления программы на языке высокого уровня из программы на языке низкого уровня. <...> Под декомпилятором мы будем понимать инструментальное средство, получающее на вход программу на языке ассемблера или другое аналогичное низкоуровневое представление и выдающее на выход эквивалентную ей программу на некотором языке высокого уровня. <...> Поэтому декомпиляторы с этих языков имеют наиболь99 ПРИКЛАДНАЯ ИНФОРМАТИКА ¹ 6(24) 2009 шую практическую значимость. <...> Поскольку при обратной инженерии в целом и при декомпиляции в частности уровень абстракции представления программы повышается, можно считать, что программы на языке C являются промежуточным уровнем при переходе от программы на языке ассемблера к программе на языке C++ . <...> Дальше повысить уровень абстракции представления программы можно посредством широко известных методов <...>