$ open https://ru.wikipedia.org/wiki/Регулярные_выражения
Написать программу поиска и фильтрации 💎 в файле, содержащем сетевой трафик, payload-нагрузку. Исполняемый файл программы должен иметь название scanner и поддерживать следующий формат запуска:
$ scanner not_malicious_sample.bin && echo $?
0
$ scanner malicious_sample.bin && echo $?
1
Обечпечить взаимодействие с сервисом непрерывной интеграции Travis CI. В этап тестирования добавить запуск программы для двух sample-файлов.
# .travis.yml
script:
- cmake .
- make
- ./scanner samples/not_malicious.bin
- ./scanner samples/malicious.bin
Формат payload-нагрузки зависит от номера варианта и определяется следующим образом:
// n - номер в Цифровом журнале (1, ...)
// v - номер варианта
v = n % 4 + 1
v == 1: исполняемый файл формата **PE**
v == 2: исполняемый файл формата **ELF**
v == 3: исполняемый файл формата **Match-O**
v == 4: **JavaScript** код
- Для поиска необходимо использовать регулярные выражения из стандартной библиотеки или из библиотеки Boost.Regex.
- Для сохранения сетевого трафика в бинарный файл необходимо использовать программу Wireshark.
- Код программы необходимо разместить в репозитории на сервисе совместной разработки GitHub.
- Необходимо обеспечить прохождение этапа тестирования на сервисе Travis CI.