Skip to content

Klavishnik/futag_for_lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ТЕОРИЯ.

Зачем?

Этот проект предназначен для АВТОМАТИЧЕСКОГО фаззинга каждой отдельной функции вашей библиотеки Конкретно этот проект предназачен для тестирования либораторных работ 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/<НАЗВАНИЕ_ФНУКЦИИ>/<НАЗВАНИЕ_ОБЕРТИК>

Reference

https://github.com/ispras/Futag

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published