Инструкция
1
Создайте базовые структуры для создания собственного антивируса. Они будут использоваться как программой для создания антивирусной базы, так и сканером. Во-первых, объявите нужные структуры. Первая это структура сигнатуры. Следующая – это структура записи, которая объединяет сигнатуру и имя. Включите в нее функцию выделения памяти для имени вируса. Поместите обе структуры в заголовочный файл.
2
Напишите класс, предназначенный для работы с файлами антивирусной базы. Вам понадобится сделать несколько классов: базовый класс файла, класс чтения файла и класс добавления записи. Объявите данные классы в файле CAVBFile.h. Поместите реализацию классов в файл AVBFile.cpp. Подключите заголовочный файл. Также необходимо добавить проверку существования файла. Затем реализуйте функции класса, предназначенные для записи в файл.
3
Реализуйте следующий алгоритм: если файл открывается и он не найден, то будет создан новый файл, в него будет записан заголовок. Если же файл существует, то будет выполнена проверка сигнатуры, а также чтение количества записей. Добавьте сюда функцию addRecord, которая примет ссылку на структуру записи в качестве параметра. Переместите запись в конец файла. После этого необходимо сделать увеличение счетчика записей.
4
Реализуйте программу для создания базы антивирусной программы. Используйте в качестве ее параметров путь к файлу вируса, базы, а также изменение последовательности в файле вируса и его имя. Используйте передачу аргументов в формате A[Value], где А представляет собой соответствующий ключ, Value – это значение. Пропишите следующий алгоритм действия программы: открыть файл зловреда, выполнить переход по смещению, рассчитать хэш и добавить запись в базу. Поместите код программы в файл avrec.cpp.
5
Пропишите код сканера, который будет выполнять проверку файла на вредоносность. Поместите файл с базой в одну папку с базой и назовите его avbase.avb. Используйте следующий алгоритм работы для создания антивирусного сканера: загрузить файл базы, получить список файлов, проверка файла.