Разработка программ на c++
В свете современного мира интерес представляет разработка программ следующих направлений:
Вирусные и антивирусные программы.
Вирусные - для того, чтобы смоделировать возможные уязвимости современных систем, а антивирусные - естественно
для защиты от современных вирусов, как смоделированных, так и реально существующих.
Программы ИИ (искусственный интеллект), самообучение и накопление знаний по различным отраслям знаний.
Итак, я ставлю ЗАДАЧУ:
Написать антивирус.
Что для этого нужно ?
Сначала решим какой минимальный функционал необходим.
Написать сразу же Dr Web или Kasperky как Вы сами понимаете невозможно. Эти программы создавались профессионалами и не один десяток лет.
А у нас в распоряжении пока ни опыта, ни знаний.
Наш антивирус - VARVE - будет иметь следующий минимальный функционал -
1) Окно, обрадающее обычным поведением окна windows-приложения.
2) Рабочее пространство, в котором например могут быть такие элементы -
Т. е. что-то похожее на Dr Web CureIt, в котором можно будет выполнить проверку указанных файлов или папок по требованию.
Теперь подумаем какой минимальный функционал нам потребуется для решения поставленной задачи.
Для начала можно сделать прототип антивируса с проверкой файлов на наличие вирусов - антивирусный сканер.
Он должен выполнять проверку файлов на указанных дисках или в папках.
Таким образом должно быть реализовано:
1) открытие любого файла на предмет исследования его содержимого;
1.1) Кнопки выполнения проверки, паузы, остановки;
1.2) Кнопки реакции на зараженный файл - лечение, изоляция (перемещение в папку карантина с переименованием в неисполнимый), пропуск (игнорирование)
1.3) Окно для выбора проверяемого диска, папки или файла (файлов)
2) механизм определения вирусов по сигнатурам;
3) база известных вирусов;
4) механизм анализа содержимого исследуемого файла на определение наличия в нём заражения по сигнатуре;
5) написание небольших тестовых и реальных (но не приносящих вреда) вирусов.
6) проверка срабатывания на обнаружение тестовых вирусов и меры принимаемые программой: оповещение, изоляция зараженного или вирусного файла, предложение пользователю выполнить какие-то действия в программе или в системе.
Как видим поставленные задачи вполне реализуемы.
Тогда приступим к их решению.
Первым делом нужно создать приложение Windows-MFC. О том как это сделать, я уже упоминал в статье -
Программируем на C++ с использованием MFC.