Декомпиляция – одна из сложнейших задач обратной инженерии. В задаче декомпиляции можно выделить подзадачу – восстановление структурных конструкций. Данная статья посвящена методам восстановления структурных конструкций программы. Также в статье подробно описан метод восстановления управляющих конструкций, реализованный в декомпиляторе TyDec, который разрабатывается авторами. Помимо этого, рассматривается метод, позволяющий восстанавливать работу с исключительными ситуациями на примере языка С++.
Декомпиляция – средство, используемое в обратной инженерии для повышения уровня представления анализируемой программной системы. При этом одной из целей является получение понятной восстановленной программы, удобной для восприятия человека. Её достижению способствует наиболее полное восстановление управляющих структурных конструкций языка высокого уровня. В статье рассматриваются некоторые методы декомпиляции программ на языке Си++ – методы восстановления структурных конструкций обработки исключений языка Си++ try-catch и оператора генерации исключений throw.