-3

我已经写了一个类似于 printf 的函数在运行中,我想对其进行模糊测试以检查错误。afl-fuzz 给了我一个输入文件,但我正在努力想办法把它变成可变参数输入。

有什么方法可以动态构造 va_list 或以其他方式动态构造参数列表?

4

2 回答 2

1

dyncall似乎是为了做你想做的事而写的,尽管我没有亲自使用它。

另一种方法是生成源代码,使用大量输入调用相关函数。它不那么优雅,但它应该很容易编程。

于 2016-10-22T04:19:31.583 回答
0

libffi 可用于将参数组装到可变参数函数并调用它们。

具体ffi_prep_cif_var需要用到的函数:https ://github.com/libffi/libffi/blob/master/doc/libffi.texi#L152-L153

于 2016-10-22T04:07:25.247 回答