Главная страница

Антонов. Функциональное сравнение исполняемых файлов


Скачать 76.5 Kb.
НазваниеФункциональное сравнение исполняемых файлов
Дата07.09.2019
Размер76.5 Kb.
Формат файлаdoc
Имя файлаАнтонов.doc
ТипОбзор
#86205
страница3 из 5
1   2   3   4   5
c1,i, с2,i - количество вызовов API функции Ai при выполнении первого и второго файла соответственно.

Формулы учитывают количество вызовов (2) и порядок количества вызовов (3).

В работе [2] в качестве меры расстояния также предложено использовать угол между векторами, каждый из которых представляет собой количество вызовов функции в пространстве API функций.

,

(4)

где с1,i, с2,i количество вызовов API функции Ai при выполнении первого и второго файла соответственно.

3) Сравнение API функций с учетом порядка вызовов [2] может быть проведено при помощи расстояния Левенштейна D5. Существенным недостатком этого способа является большая сложность алгоритма O(|F1|*|F2|).

4) Возможно также проводить сравнение n-грамм функций D6 , используя формулу (1), как предложено в работе [3].

Информативность API функций

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

В работе [3] предложено в ручную исключать из сравнения малоинформативные функции, однако такой метод трудозатратен. Для улучшения качества сравнения файлов предлагается применять систему взвешивания. Вес API-функции должен рассчитываться исходя из ее информативности.

Для расчета информативности API функций воспользуемся энтропийным критерием информативности:

,

где введена функция
1   2   3   4   5


написать администратору сайта