Skip to content

Latest commit

 

History

History

java

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Общее описание

Этот пример показывает фаззинг JAVA приложения

Инструментация проекта

В системе должна быть установлена JAVA 8 версии. Если Ваш проект не принимает на вход файл, то необходимо написать driver, на вход которому передается файл с данными, а он в свою очередь запускает JAVA приложение, которое Вы хотите фаззить.

В данном примере исходный код driver и jar файл с проектом находятся в директории target.

Находясь в данной директории, запустите скрипт ./instrumentation.sh для компиляции driver-а и инструментации приложения(driver-а) и используемых библиотек, он принимает 2 аргумента - путь до директории kelinci и до компилятора javac.

Фаззинг

Находясь в данной директории, запустите скрипт ./fuzz.sh; он принимает один аргумент - путь до fuzz_manager.

Запустите в другом терминале UI фаззера (укажите актуальные пути):

/path/to/crusher/bin_x86-64/ui --outdir /path/to/out

Как только будут найдены аварийные завершения, значение поля unique_crashes (в окне UI - наверху справа) станет ненулевым.

Прервать фаззинг (в первом терминале, Ctrl + С)