Skip to content

Instantly share code, notes, and snippets.

@rusdevops
Last active December 9, 2017 01:12
Show Gist options
  • Save rusdevops/10b175129f7004398d3719b58d67c512 to your computer and use it in GitHub Desktop.
Save rusdevops/10b175129f7004398d3719b58d67c512 to your computer and use it in GitHub Desktop.

Laboratory work XVI

$ 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** код

Требования

  1. Для поиска необходимо использовать регулярные выражения из стандартной библиотеки или из библиотеки Boost.Regex.
  2. Для сохранения сетевого трафика в бинарный файл необходимо использовать программу Wireshark.
  3. Код программы необходимо разместить в репозитории на сервисе совместной разработки GitHub.
  4. Необходимо обеспечить прохождение этапа тестирования на сервисе Travis CI.

Ссылки

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment