Этот проект предназначен для АВТОМАТИЧЕСКОГО фаззинга каждой отдельной функции вашей библиотеки Конкретно этот проект предназачен для тестирования либораторных работ 3+.
Этот проект предназначен для автоматической генерации фаззинг оберток для функций библиотек и ЗАПУСКА их фаззинга. Для этого используется проект Futag от ИСП РАН.
Для студентов и преподавателей.
В папку project
положить main.c
, в папаку lib
- файлы бибилиотек (.h
и .c
)
Здесь собирается сам Futag и все необходимое для его работы.
!!!! Займет около часа !!!
Если у Вас уже есть базовый образ, тот этот пункт можно пропустить
cd docker/
./Docker-build.sh
При работе с контенером папка project будет примонтирована к контенейру (т.е. все изменения в ней останутся и на хостовой машине).
Есть два пути анализа приложения:
(Это может понадобится для отладки и проверки крашей в самом контейнере)
cd docker/
./Docker-attach.sh
После этого вы окажитесь в контенейре.
cd /home/user/
./start.sh
(Это может понадобится для быстро запуска и получения результатов без проверки крашей)
cd docker/
./Docker-run.sh
После этого вы увидите вывод работы программы.
Результаты анализа, скомпилированные обертки и краши будут лежать по адресу:
project/futag-fuzz-drivers/<НАЗВАНИЕ_ФНУКЦИИ>/<НАЗВАНИЕ_ОБЕРТИК>