Futag
Futag copied to clipboard
Предположительно ошибочная работа futag с С++-библиотекой pugixml
На основе сообщения https://t.me/sdl_dynamic/3172
Futag корректно не отрабатывает на "модельной" С++-библиотеке pugixml (https://github.com/zeux/pugixml), модельная она поскольку порождает ровно один бинарник после сборки, использовалась нами в курсах по фаззингу и ряде документации.
Порядок сборки pugixml - как и у json-c из примера:
- подготовил futag;
- загитклонил pugixm;
- попробовал сделать make - все собирается корректно - сделал make clean (также пробовал сразу после гитклона);
- указал вместо json0_13 = Builder("/futag/futag-llvm-package", "/futag/json-c") строку json0_13 = Builder("/futag/futag-llvm-package", "/futag/pugixml"), запустил futag-скрипт сборки и анализа (пути к проектам точно корректные).
Futag говорит, что ноль объектов определено. При этом аналогичные действия для json-c приводят к успешному порождению. В препринте статьи C++ упоминается в качестве поддерживаемого ЯП - вроде тут проблем быть не должно. Протестируйте, пожалуйста.
В данный момент Futag поддерживает только библиотеки языка Си. В будущем будем добавить для Си++.
Обновление до 23.09.2022: Futag частично поддерживает генерировать фаззинг-обертки для Си++ - именно для глобальных функций. Можете попробовать библиотеку FreeImage например.