Возможности

Перечень решаемых задач

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

  • Спецификация (ГОСТ 19.202-78);
  • Описание программы (ГОСТ 19.402-78);
  • Описание применения (ГОСТ 19.502-78);
  • Пояснительная записка (ГОСТ 19.404-79);
  • Тексты программ, входящих в состав программного обеспечения (ГОСТ 19.401-78).

Комплекс «Project Viewer» обеспечивает автоматизацию выполнения следующих этапов статического анализа контролируемого программного обеспечения:

  • Контроль исходного состояния программного обеспечения;
  • Контроль полноты и отсутствия избыточности исходных текстов программного обеспечения на уровне файлов и функциональных объектов (функций, процедур);
  • Контроль соответствия исходных текстов программного обеспечения объектному (загрузочному) коду;
  • Контроль связей функциональных объектов (модулей, процедур, функций) по управлению;
  • Контроль связей функциональных объектов (модулей, процедур, функций) по информации;
  • Контроль информационных объектов различных типов;
  • Синтаксический контроль наличия заданных конструкций в исходных текстах программного обеспечения изделия из списка (базы данных) потенциально опасных программных конструкций;
  • Формирование перечня маршрутов выполнения функциональных объектов (процедур, функций, ветвей);
  • Анализ критических маршрутов выполнения функциональных объектов;
  • Построение по исходным текстам контролируемого программного обеспечения алгоритма работы функциональных объектов;
  • Проведение сравнительного анализа алгоритма работы функциональных объектов, построенного по исходным текстам контролируемого программного обеспечения, и алгоритма работы, описанного в «Пояснительной записке»;
  • Формирование заключения о расхождениях в ветвях алгоритмов.

Комплекс «Project Viewer» обеспечивает автоматизацию выполнения следующих этапов динамического анализа контролируемого программного обеспечения:

  • Контроль выполнения функциональных объектов (на уровне процедур, функций и ветвей);
  • Сопоставление фактических маршрутов выполнения функциональных объектов и маршрутов, построенных в процессе проведения статического анализа (на уровне процедур, функций и ветвей).

С целью обеспечения визуализации результатов контроля совместно с комплексом «Project Viewer» используется программное изделие «Модуль визуализации дерева вызовов функций» АМСТ.30001-01.

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

Входные данные

Входными данными комплекса «Project Viewer» при анализе программного обеспечения, разработанного на языках программирования С и С++, являются файлы исходного кода и файлы препроцессора, которые формируются на этапе контрольной компиляции файлов проекта. Формирование файлов препроцессора выполняется с участием эксперта. Роль эксперта заключается в задании для компилятора ключей, необходимых для сохранения файлов препроцессора.

Препроцессирование необходимо для приведения исходного текста контролируемого программного обеспечения в строгое соответствие с синтаксисом языка программирования. При препроцессировании выполняются следующие операции: включение текста библиотек, раскрытие определений (в том числе не соответствующих синтаксису языка, выявление подмены вызовов и прочее), включение фрагментов текста в соответствие с директивами условной компиляции. Использование при выполнении контроля недекларированных возможностей программного обеспечения, разработанного на языках программирования С и С++, препроцессированного кода является гарантией получения достоверных результатов контроля.

Входными данными комплекса «Project Viewer» при анализе программного обеспечения, разработанного на языках программирования Delphi, Java, Ассемблер, являются файлы исходного кода.

Выходные данные

Выходными данными комплекса является набор отчетных материалов (41 отчёт в соответствии с наименованиями таблиц, перечисленными ниже) по анализу наличия недекларированных возможностей контролируемого программного обеспечения:

  • Таблица «Файлы препроцессора» (1);
  • Таблица «Исходные файлы» (2);
  • Таблица «Библиотечные файлы» (3);
  • Таблица «Использования файлов» (4);
  • Таблица «Определения типов, файлы препроцессора» (5);
  • Таблица «Использования типов, файлы препроцессора» (6);
  • Таблица «Объявления функций, файлы препроцессора» (7);
  • Таблица «Определения функций, файлы препроцессора» (8);
  • Таблица «Вызовы функций, файлы препроцессора» (9);
  • Таблица «Определения переменных, файлы препроцессора» (10);
  • Таблица «Использования переменных, файлы препроцессора» (11);
  • Таблица «Выражения, файлы препроцессора» (12);
  • Таблица «Определения типов» (13);
  • Таблица «Использования типов» (14);
  • Таблица «Объявления функций» (15);
  • Таблица «Определения функций» (16);
  • Таблица «Вызовы функций» (17);
  • Таблица «Определения переменных» (18);
  • Таблица «Использования переменных» (19);
  • Таблица «Выражения» (20);
  • Таблица «Ветви» (21);
  • Таблица «Перечень маршрутов выполнения функциональных объектов (процедур, функций)» (22);
  • Таблица «Перечень маршрутов выполнения функциональных объектов (ветвей)» (23);
  • Таблица «Файлы, подозреваемые на избыточность» (24);
  • Таблица «Функции, подозреваемые на избыточность» (25);
  • Таблица «Типы, подозреваемые на избыточность» (26);
  • Таблица «Переменные, подозреваемые на избыточность» (27);
  • Таблица «Связи функциональных объектов по управлению» (28);
  • Таблица «Связи функциональных объектов по информации» (29);
  • Таблица «База данных потенциально опасных конструкций» (30);
  • Таблица «Выявленные потенциально опасные конструкции» (31);
  • Таблица «Критические маршруты выполнения функциональных объектов» (32);
  • Таблица «Результаты контроля выполнения функциональных объектов (процедур, функций)» (33);
  • Таблица «Перечень фактических маршрутов выполнения функциональных объектов (процедур, функций)» (34);
  • Таблица «Несоответствия маршрутов выполнения функциональных объектов (процедур, функций)» (35);
  • Таблица «Результаты контроля выполнения функциональных объектов (ветвей)» (36);
  • Таблица «Перечень фактических маршрутов выполнения функциональных объектов (ветвей)» (37);
  • Таблица «Несоответствия маршрутов выполнения функциональных объектов (ветвей)» (38);
  • Блок-схемы алгоритмов работы функциональных объектов, входящих в контролируемое программное обеспечение (39);
  • Блок-схемы «Перечень маршрутов выполнения функциональных объектов (процедур, функций)» (40);
  • Блок-схемы «Перечень маршрутов выполнения функциональных объектов (ветвей)» (41).

Данный перечень таблиц соответствует отчетным материалам, оформляемым при осуществлении контроля отсутствия недекларированных возможностей программного обеспечения, разработанного на языках программирования С и С++. Перечень таблиц, соответствующий отчетным материалам, оформляемым при осуществлении контроля отсутствия недекларированных возможностей программного обеспечения, написанного на языках программирования Delphi, Java, Ассемблер, определяется спецификой языка программирования и является меньшим.

Поскольку при экспертизе отчетных материалов сертификационных испытаний в органе по сертификации должна быть обеспечена возможность ознакомления с материалами при применении экспертами общедоступных прикладных программных средств, комплекс «Project Viewer» предоставляет возможность конвертирования перечисленных таблиц в форматы файлов MS EXCEL и MS VISIO.

Промежуточные данные

Описание приводится для случая контроля отсутствия недекларированных возможностей программного обеспечения, разработанного на языках программирования С и С++, как наиболее часто используемых разработчиками.

Построение таблиц результатов разбора исходных текстов программного обеспечения как первого этапа контроля предусматривает осуществление лексического и синтаксического анализа, в процессе которых происходит определение типов языковых конструкций, выявление определений типов, информационных и функциональных объектов, их использований. Сформированные на данном этапе таблицы как промежуточные данные используются в качестве исходных данных для последующих этапов контроля отсутствия недекларированных возможностей программного обеспечения. Промежуточные данные сохраняются в XML- формате «Комплекса «Project Viewer».

В процессе построения таблиц результатов разбора исходных текстов программного обеспечения комплекс осуществляет:

  • Создание базы данных результатов анализа, структура которой соответствует требованиям к отчетным материалам, установленным РД НДВ;
  • Сканирование (анализ) каталога файлов исходных текстов программного обеспечения и файлов препроцессора с целью получения перечня исходных файлов (расширения - *.c, *.h, *.cpp, *.hpp) и файлов препроцессора (расширения - *.i, *.ii), формирование таблиц «Исходные данные», «Файлы препроцессора»;
  • Последовательный анализ всех файлов препроцессора, определенных при формировании таблицы «Файлы препроцессора», формирование таблиц «Библиотечные файлы», «Использования файлов», «Определения типов, файлы препроцессора», «Использования типов, файлы препроцессора», «Объявления функций, файлы препроцессора», «Определения функций, файлы препроцессора», «Вызовы функций, файлы препроцессора», «Определения информационных объектов, файлы препроцессора», «Использования информационных объектов, файлы препроцессора», «Выражения, файлы препроцессора»;
  • Последовательный анализ всех файлов исходных текстов программного обеспечения, определенных при формировании таблицы файлов исходных текстов исследуемого программного обеспечения, формирование таблиц «Определения типов», «Использования типов», «Объявления функций», «Определения функций», «Вызовы функций», «Определения информационных объектов», «Использования информационных объектов», «Выражения»;
  • Формирование таблицы «Ветви», таблиц маршрутов выполнения функциональных объектов «Перечень маршрутов выполнения функциональных объектов (процедур, функций)», «Перечень маршрутов выполнения функциональных объектов (ветвей)».

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

Контроль исходного состояния программного обеспечения

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

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

Алгоритм расчета контрольных сумм определяется в соответствии с документацией на контролируемое программное обеспечение и устанавливается соответствующей опцией в программном модуле контроля исходного состояния программного обеспечения, вызываемом на выполнение из главного окна комплекса «Project Viewer».

Контроль полноты и отсутствия избыточности исходных текстов программного обеспечения на уровне файлов

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

Средствами комплекса «Project Viewer» в таблице «Исходные файлы» фиксируется перечень файлов исходных текстов проекта.

Поскольку комплекс «Project Viewer» не накладывает ограничения на перечень поддерживаемых компиляторов, используемых при разработке контролируемого программного обеспечения, а также не содержит в своем составе набор компиляторов, данный этап контроля недекларированных возможностей в части осуществления контрольной компиляции сертифицируемого программного обеспечения выполняется экспертом вручную. При этом предполагается, что в испытательную лабораторию совместно с контролируемым программным обеспечением для выполнения испытаний предоставляется среда разработки (операционная система, компилятор, библиотечные модули). Условием выполнения контрольной компиляции является запись в отдельный файл результатов компиляции в виде перечня файлов, которые использовались при компиляции проекта. В соответствии с представляемой в испытательную лабораторию документацией по осуществлению компиляции контролируемого программного обеспечения эксперт в среде разработки осуществляет контрольную компиляцию проекта. Путем сравнения перечня файлов исходных текстов контролируемого программного обеспечения, представленных в составе проекта, с перечнем файлов, реально используемых при компиляции, формируется отчетная таблица «Перечень файлов, подозреваемых на избыточность». Результат контроля является положительным, если таблица «Перечень файлов, подозреваемых на избыточность» является пустой. В противном случае таблица передается разработчику программного обеспечения с целью удаления избыточных файлов исходных текстов из проекта.

Контроль соответствия исходных текстов программного обеспечения объектному (загрузочному) коду

Средства комплекса «Project Viewer» предоставляют возможность побайтного сравнения исполняемого кода, представленного в испытательную лабораторию в качестве эталонного, и исполняемого кода, полученного в результате выполнения контрольной компиляции программного обеспечения. При побайтном совпадении кода делается вывод о соответствии исходных текстов программного обеспечения объектному (загрузочному) коду. При наличии несовпадений эксперту предстоит иными методами выяснять причины их возникновения. Например, методами использования дополнительных функциональных возможностей комплекса «Project Viewer».

Контроль полноты и отсутствия избыточности исходных текстов программного обеспечения на уровне функциональных объектов (функций, процедур)

Средства комплекса «Project Viewer» для каждого объявленного в исходных текстах функционального объекта (функции, процедуры) анализируют факты реального обращения к ним. Функциональные объекты, являющиеся объявленными, но не вызываемые по тексту исходного кода, идентифицируются как избыточные и заносятся в таблицу «Функциональные объекты, подозреваемые на избыточность». Таблица «Функциональные объекты, подозреваемые на избыточность» передается разработчикам программного обеспечения с целью получения разъяснений, либо внесения исправлений в исходные тексты.

Дополнительно, комплекс «Project Viewer» осуществляет контроль избыточности переменных и типов информационных объектов в программном обеспечении, разработанном на языках программирования С и С++. При выполнении контроля средства комплекса формируют таблицы «Типы информационных объектов, подозреваемые на избыточность» и «Информационные объекты, подозреваемые на избыточность».

Контроль связей функциональных объектов (модулей, процедур, функций) по управлению

Данный вид контроля заключается в сравнении восстановленных алгоритмов контролируемого программного обеспечения и алгоритмов, описанных в программной документации. Средства комплекса «Project Viewer» формируют таблицу «Связи функциональных объектов по управлению», в которую заносятся отношения по передачам управления между функциями. Таблица «Связи функциональных объектов по управлению» может быть отображена в виде дерева вызова функций средствами программного изделия «Модуль визуализации дерева вызовов функций» АМСТ.30001-01. Визуализация деревьев вызова функций позволяет на этапе статического анализа осуществлять сопоставление последовательности вызова функций, полученной по результатам анализа исходных текстов, с последовательностью вызова функций, описанной в программной документации на контролируемое программное обеспечение. Результат контроля считается положительным, если данные, представленные в таблице «Связи функциональных объектов по управлению», соответствуют данным, представленным в разделах программной документации, описывающих спецификации управляющих процессов и таблицы активации процессов.

Контроль связей функциональных объектов (модулей, процедур, функций) по информации

Средства комплекса «Project Viewer» формируют таблицу «Связи функциональных объектов по информации», в которую заносятся данные о совместном использовании одних и тех же информационных объектов различными функциональными объектами. Сопоставление данных таблицы «Связи функциональных объектов по информации» с соответствующим данными программной документации на контролируемое программное обеспечение позволяет сделать эксперту вывод о наличии/отсутствии в исходном коде программного обеспечения недекларированных связей функциональных объектов (модулей, процедур, функций) по информации.

Контроль информационных объектов различных типов

Контроль информационных объектов различных типов

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

Перечень контролируемых информационных объектов формируется экспертом, исходя из следующих соображений:

  • Наибольший интерес представляют те информационные объекты, которые участвуют в обработке данных аутентификации;
  • Также важны информационные объекты, участвующие в хранении меток доступа и в принятии решения о предоставлении или не предоставлении доступа.

Эксперт может внести в перечень также и другие информационные объекты, субъективно показавшиеся ему существенными. В результате выполнения контроля формируется список информационных объектов и ссылки на участки исходного текста, в которых эти информационные объекты используются. Результат контроля считается положительным, если список информационных объектов и ссылки на участки исходного текста, в которых эти информационные объекты используются, соответствуют данным, представленным в документах «Описание программы», «Описание применения» и «Пояснительная записка».

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

Синтаксический контроль наличия заданных конструкций в исходных текстах программного обеспечения изделия из списка (базы данных) потенциально опасных программных конструкций

Контроль наличия в исходном тексте программного обеспечения потенциально опасных конструкций осуществляется средствами комплекса «Project Viewer», формирующего отчетную таблицу «Выявленные потенциально опасные конструкции». В основе данного вида контроля лежит выполняемый средствами комплекса «Project Viewer» эвристический анализ, использующий базу данных потенциально опасных конструкций, которой соответствует следующая классификация потенциально опасных программных конструкций:

  1. Потенциально опасные программные конструкции, позволяющие обойти, отключить, модифицировать стандартные средства операционной системы для разграничения доступа и интерфейс для подключения дополнительных средств защиты информации.
  2. Потенциально опасные программные конструкции, перехватывающие информацию по любому из прерываний и портам и складирующие ее в скрытые или неиспользуемые зоны жесткого диска (отформатированный стандартными средствами диск вполне может иметь такие зоны). В дальнейшем эта информация может предоставляться для анализа злоумышленнику или отправляться по сети другими закладками. С помощью такой потенциально опасной конструкции можно перехватывать не только обычную информацию, но и пароли, вводимые с клавиатуры, или поступающие по другим стандартным интерфейсам.
  3. Потенциально опасные программные конструкции, обеспечивающие доступ в оперативную память любого приложения. Анализ перехваченной из оперативной памяти информации совместно с кодом приложения может использоваться, например, для перехвата ключей шифрования и ЭЦП в оперативной памяти.
  4. Потенциально опасные программные конструкции, обеспечивающие прямой выход в сеть, для отправки перехваченной информации в обход описанных в документации средств. Они могут работать навстречу друг другу и совсем не по описанным в документации протоколам.
  5. Потенциально опасные программные конструкции, реализующие деструктивные функции.
  6. Потенциально опасные программные конструкции, осуществляющие сбор информации об информационных процессах, протекающих в компьютерной системе.
  7. Потенциально опасные программные конструкции, осуществляющие блокировку работы средств вычислительной техники.

Сформированная таблица «Выявленные потенциально опасные конструкции» анализируется экспертом с целью идентификации отраженных в ней функциональных объектов (программных конструкций) именно как «программная закладка» либо формирования заключения о наличии в исходных текстах программного изделия опасных программных конструкций, степени их опасности (риска) и механизма их проявления. Пояснения по результатам анализа каждого функционального объекта из таблицы «Выявленные потенциально опасные конструкции» приводятся в соответствующем поле указанной таблицы.

Формирование перечня маршрутов выполнения функциональных объектов (процедур, функций, ветвей)

Формирование перечня маршрутов выполнения функциональных объектов осуществляется на этапе построения таблиц для последующего статического анализа программного обеспечения.

Анализ критических маршрутов выполнения функциональных объектов

Контроль информационных объектов различных типов

Анализ критических маршрутов выполнения функциональных объектов основывается на положении о том, что критический маршрут выполнения функциональных объектов – это такой маршрут, при выполнении которого существует возможность неконтролируемого нарушения установленных правил обработки информационных объектов.

Данный вид контроля на этапе статического анализа предусматривает построение с применением комплекса «Project Viewer» таблицы «Критические маршруты выполнения функциональных объектов» на основании данных таблиц «Выявленные потенциально опасные конструкции» и «Определения информационных объектов» (в частности, в отношении сведений об информационных объектах, используемых совокупностью внутренних механизмов защиты информации). Экспертом выполняется сопоставление данных таблицы «Критические маршруты выполнения функциональных объектов» и данных документации, описывающей спецификации управляющих процессов и таблицы активации процессов. Результат контроля считается положительным, если данные, представленные в таблице «Критические маршруты выполнения функциональных объектов», соответствуют данным, представленным в документации.

Формирование критических маршрутов выполнения функциональных объектов осуществляется с целью определения исходных данных для проведения дальнейших исследований контролируемого программного обеспечения на этапе динамического анализа (в частности, при осуществлении контроля выполнения программного обеспечения).

Построение по исходным текстам контролируемого программного обеспечения алгоритма работы функциональных объектов

Контроль информационных объектов различных типов

Построение блок-схем алгоритмов работы функциональных объектов осуществляется средствами комплекса «Project Viewer» в соответствии с таблицей «Выражения». Целью данного вида контроля является восстановление алгоритмов функционирования контролируемого программного обеспечения по его исходным текстам для последующего сравнения восстановленных алгоритмов и алгоритмов, описанных в программной документации.

Контроль выполнения функциональных объектов (на уровне процедур, функций и ветвей). Сопоставление фактических маршрутов выполнения функциональных объектов и маршрутов, построенных в процессе проведения статического анализа (на уровне процедур, функций и ветвей)

Комплекс «Project Viewer» поддерживает динамический метод восстановления алгоритмов контролируемого программного обеспечения и динамический анализ.

Динамический метод восстановления алгоритмов программного обеспечения основан на использовании программных отладочных средств (отладчиков). Отладчик - это программа, которая загружает в память другую программу и предоставляет пользователю возможность наблюдать за ходом выполнения этой программы. Поскольку данный метод является трудоемким, он применяется для анализа критических маршрутов выполнения функциональных объектов, определяемых в соответствии с таблицей статического анализа «Критические маршруты выполнения функциональных объектов».

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

На этапе динамического анализа при помощи мониторов активности отслеживается общая направленность работы контролируемого программного обеспечения, а также факты обращения к файлам, портам и системным сервисам, в том числе параметры этих обращений: данные, записываемые/считываемые из скрытых и системных файлов, параметры вызова системных сервисов, протоколы обмена с портами ввода/вывода и др. В случае применения мониторов активности не имеет значения, реализованы ли в рамках системы защиты программы блоки противодействия отладке приложения или нет.

Комплекс «Project Viewer» осуществляет:

  • Добавление в начало каждого функционального объекта, входящего в исходные тексты исследуемого программного обеспечения, кода, выводящего номер данного функционального объекта в лог-файл (монитора активности). При этом, для осуществления последующего контроля выполнения функциональных объектов на уровне ветвей программного обеспечения, добавление кода осуществляется комплексом автоматически в начало каждой ветви программного обеспечения, для осуществления последующего контроля выполнения функциональных объектов на уровне функций (процедур), добавление кода осуществляется комплексом автоматически в начало каждой функции. Код является уникальным как для каждой ветви, так и для каждой функции;
  • Формирование в процессе выполнения программного обеспечения, предварительно скомпилированного с внесенным кодом, лог-файлов результатов динамического анализа, при этом обеспечивается отдельное формирование лог-файлов результатов динамического анализа программного обеспечения на уровне ветвей и лог-файло результатов динамического анализа программного обеспечения на уровне функций (процедур);
  • Сопоставление результатов статического анализа и результатов динамического анализа, отображение и фиксацию (протоколирование) выявленных различий.

Программное изделие «Модуль визуализации дерева вызовов функций» АМСТ.30001-01

Программное изделие «Модуль визуализации дерева вызовов функций» АМСТ.30001-01 предназначено для совместного использования с программным изделием «Инструментальное средство автоматизации контроля недекларированных возможностей программного обеспечения «Комплекс «Project Viewer» (варианты исполнения АМСТ.78001-01, АМСТ.78001-02, АМСТ.78001-03, АМСТ.78001-04).

Программное изделие «Модуль визуализации дерева вызовов функций» АМСТ.30001-01 обеспечивает визуализацию вызовов функций анализируемого программного обеспечения на основании таблиц результатов статического и динамического анализа, сформированных комплексом «Project Viewer».

Программное изделие АМСТ.30001-01 осуществляет:

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

Дополнительные функциональные возможности комплекса «Project Viewer»

  • Дизассемблирование программного обеспечения;
  • Декомпиляция программного обеспечения.