2016-10-22 2 views
-3

J'ai écrit une fonction similaire à printf en fonctionnement, et je veux la fuzz pour vérifier les bogues. afl-fuzz me donne un fichier d'entrée, mais j'ai du mal à trouver un moyen de le transformer en entrée varargs.Comment fuzz une fonction stdarg.h?

Existe-t-il un moyen de construire dynamiquement une liste va_ ou de construire de manière dynamique la liste d'arguments?

+1

Peut-être [libffi] (https://github.com/libffi/libffi), la bibliothèque [Foreign Function Interface] (https://en.wikipedia.org/wiki/Libffi). –

+0

@Jonathan Cela ressemble à une idée, je vais regarder dans – Riking

Répondre

1

dyncall semble avoir été écrit pour faire ce que vous voulez, même si je ne l'ai pas personnellement utilisé.

Une approche alternative serait de générer du code source qui appelle la fonction en question avec beaucoup d'entrées. C'est beaucoup moins élégant, mais il devrait être facile à programmer.