Аппаратно-программные средства и методы защиты информации. Варлатая С.К - 194 стр.

UptoLike

194
перевод в форму, удобную для следующего этапа (в том числе и
перевод на язык высокого уровня);
синтаксический анализ.
После снятия защиты осуществляется поиск сигнатур (лексем) РПС.
Примеры сигнатур РПС приведены в работе. Окончание этапа
дизассемблирования предшествует синтаксическому анализу, то есть процессу
отождествлению лексем, найденных во входной цепочке, одной из языковых
конструкций, задаваемых грамматикой языка, то есть синтаксический анализ
исполняемого кода программ состоит в отождествлении сигнатур, найденных
на
этапе лексического анализа, одному из видов РПС.
При синтаксическом анализе могут встретиться следующие трудности:
могут быть не распознаны некоторые лексемы. Это следует из того, что
макроассемблерные конструкции могут быть представлены
бесконечным числом регулярных ассемблерных выражений;
порядок следования лексем может быть известен с некоторой
вероятностью или вообще не известен;
грамматика языка может пополняться, так как могут возникать новые
типы РПС или механизмы их работы.
Таким образом, окончательное заключение об отсутствии или наличии
РПС можно дать только на этапе семантического анализа, а задачу этого этапа
можно конкретизировать как свертку терминальных символов в нетерминалы
как можно более высокого уровня там, где входная
цепочка задана строго.
Так как семантический анализ удобнее вести на языке высокого уровня
далее проводится этап перевода ассемблерного текста в текст на языке более
высокого уровня, например, на специализированном языке макроассемблера,
который нацелен на выделение макроконструкций, используемых в РПС.
На этапе семантического анализа дается окончательный ответ на вопрос о
том,
содержит ли входной исполняемый код РПС, и если да, то какого типа.
При этом используется вся информация, полученная на всех предыдущих
этапах. Кроме того, необходимо учитывать, что эта информация может
    •    перевод в форму, удобную для следующего этапа (в том числе и
         перевод на язык высокого уровня);
    •    синтаксический анализ.
        После снятия защиты осуществляется поиск сигнатур (лексем) РПС.
Примеры       сигнатур   РПС      приведены     в    работе.     Окончание   этапа
дизассемблирования предшествует синтаксическому анализу, то есть процессу
отождествлению лексем, найденных во входной цепочке, одной из языковых
конструкций, задаваемых грамматикой языка, то есть синтаксический анализ
исполняемого кода программ состоит в отождествлении сигнатур, найденных
на этапе лексического анализа, одному из видов РПС.
        При синтаксическом анализе могут встретиться следующие трудности:
    •    могут быть не распознаны некоторые лексемы. Это следует из того, что
         макроассемблерные        конструкции       могут      быть   представлены
         бесконечным числом регулярных ассемблерных выражений;
    •    порядок следования лексем может быть известен с некоторой
         вероятностью или вообще не известен;
    •    грамматика языка может пополняться, так как могут возникать новые
         типы РПС или механизмы их работы.
        Таким образом, окончательное заключение об отсутствии или наличии
РПС можно дать только на этапе семантического анализа, а задачу этого этапа
можно конкретизировать как свертку терминальных символов в нетерминалы
как можно более высокого уровня там, где входная цепочка задана строго.
        Так как семантический анализ удобнее вести на языке высокого уровня
далее проводится этап перевода ассемблерного текста в текст на языке более
высокого уровня, например, на специализированном языке макроассемблера,
который нацелен на выделение макроконструкций, используемых в РПС.
        На этапе семантического анализа дается окончательный ответ на вопрос о
том, содержит ли входной исполняемый код РПС, и если да, то какого типа.
При этом используется вся информация, полученная на всех предыдущих
этапах. Кроме того, необходимо учитывать, что эта информация может

                                        194