Пожалуйста, обратите внимание, что пользователь заблокирован
И так...
1) Устанавливаем Visual Studio 2019 - https://visualstudio.microsoft.com/ru/vs/
2) Устанавливаем Git - https://gitscm.com/
3) Устанавливаем Cmake - https://cmake.org/download/
4) Качаем DynamoRIO - https://github.com/DynamoRIO/dynamo...release_8.0.0-1/DynamoRIO-Windows-8.0.0-1.zip
Создаем папку «
5) Запускаем Git, переходим в только, что созданную папку «my_winafl_fuzz» и клонируем рекурсивно git winafl
Почему именно так? Потому что, если папка «
6) Теперь запускаем командную строку Cross Tools x86_x64 for VS 2017
7) Переходим в папку склонированного гита winafl
8) Создаем папку для билда и переходим в неё
9) Выполняем сборку в два шага
В итоге сбилденный WinAFL с новым DynamoRIO v8.0.0.1 будет находиться в папке Release
Вот путь
Теперь сделаем билд для x86, в целом проделываем тоже самое
Путь для x86
Со сборкой у нас всё покончено... Мы имеем на данный момент как 32 битный билд так и 64 битный билд.
Кстати для сборки я использовал Windows SDK version 10.0.18362.0 на Windows 10.0.19041.
Чтобы запустить WinAFL на тест вводим следующие команды
Прежде, чем запускать вторую команду, надо создать папку "in" в C:\my_winafl_fuzz\winafl\build64\bin\Release и скопировать в папку "in" bmp файл из папки C:\my_winafl_fuzz\winafl\testcases\images\bmp, переименовав его в 1.bmp
1) Устанавливаем Visual Studio 2019 - https://visualstudio.microsoft.com/ru/vs/
2) Устанавливаем Git - https://gitscm.com/
3) Устанавливаем Cmake - https://cmake.org/download/
4) Качаем DynamoRIO - https://github.com/DynamoRIO/dynamo...release_8.0.0-1/DynamoRIO-Windows-8.0.0-1.zip
Создаем папку «
my_winafl_fuzz» на диске С:\ и распаковываем туда DynamoRIO v8.0.0.1.5) Запускаем Git, переходим в только, что созданную папку «my_winafl_fuzz» и клонируем рекурсивно git winafl
git clone --recursive https://github.com/googleprojectzero/winafl.gitПочему именно так? Потому что, если папка «
third_party» будет пуста, то WinAFL не соберется...6) Теперь запускаем командную строку Cross Tools x86_x64 for VS 2017
7) Переходим в папку склонированного гита winafl
cd C:\my_winafl_fuzz\winafl8) Создаем папку для билда и переходим в неё
mkdir build64 && cd build649) Выполняем сборку в два шага
cmake -G"Visual Studio 15 2017" -A x64 .. -DDynamoRIO_DIR=C:\my_winafl_fuzz\DynamoRIO-Windows-8.0.0-1\cmake -DINTELPT=1cmake --build . --config ReleaseВ итоге сбилденный WinAFL с новым DynamoRIO v8.0.0.1 будет находиться в папке Release
Вот путь
C:\my_winafl_fuzz\winafl\build64\bin\ReleaseТеперь сделаем билд для x86, в целом проделываем тоже самое
mkdir build32 && cd build32cmake -G"Visual Studio 15 2017" -A Win32 .. -DDynamoRIO_DIR=C:\my_winafl_fuzz\DynamoRIO-Windows-8.0.0-1\cmake -DINTELPT=1cmake --build . --config ReleaseПуть для x86
C:\my_winafl_fuzz\winafl\build32\bin\ReleaseСо сборкой у нас всё покончено... Мы имеем на данный момент как 32 битный билд так и 64 битный билд.
C:\my_winafl_fuzz\winafl\build64\bin\ReleaseC:\my_winafl_fuzz\winafl\build32\bin\ReleaseКстати для сборки я использовал Windows SDK version 10.0.18362.0 на Windows 10.0.19041.
Чтобы запустить WinAFL на тест вводим следующие команды
C:\my_winafl_fuzz\DynamoRIO-Windows-8.0.0-1\bin64\drrun.exe -c winafl.dll -debug -target_module test_gdiplus.exe -target_offset 0x10e0 -fuzz_iterations 5 -nargs 2 -- test_gdiplus.exe 1.bmpПрежде, чем запускать вторую команду, надо создать папку "in" в C:\my_winafl_fuzz\winafl\build64\bin\Release и скопировать в папку "in" bmp файл из папки C:\my_winafl_fuzz\winafl\testcases\images\bmp, переименовав его в 1.bmp
afl-fuzz.exe -i in -o out -D C:\my_winafl_fuzz\DynamoRIO-Windows-8.0.0-1\bin64\ -t 20000+ -- -coverage_module gdiplus.dll -target_module test_gdiplus.exe -target_offset 0x10e0 -fuzz_iterations 20 -nargs 2 -- test_gdiplus.exe @@