Outils pour utilisateurs

Outils du site


prog:clang-fuzzer

Super Awesome Fuzzing, Part One Archive du 22/06/2017 le 13/02/2020

fuzz_me.c Archive

Il faut créer un fichier source qui ne contient qu'une seule fonction. La fonction main est dans l'archive statique libFuzzer.a.

extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);

L'option de compilation -fsanitize=fuzzer est obligatoire mais il peut être utile de rajouter -fno-omit-frame-pointer -g -fsanitize=address,undefined.

clang++ -fno-omit-frame-pointer -g -fsanitize=address,undefined,fuzzer fuzz_me.cc

Messages d'erreur

  • error adding symbols: DSO missing from command line

Il faut rajouter -lgcc_s.

Pour aller plus loin, même si ça possède de nombreuses fonctionnalités, je préfère afl mais une étude comparative va finir par s'imposer. Archive du 27/09/2020 le 13/02/2020

prog/clang-fuzzer.txt · Dernière modification : 2023/05/10 10:16 de root