動作中の printf に似た関数を作成しましたが、バグをチェックするためにファジングしたいと考えています。afl-fuzz は入力ファイルを提供してくれますが、これを varargs 入力に変換する方法を考えるのに苦労しています。
va_list を動的に構築する方法や、引数リストを動的に構築する方法はありますか?
動作中の printf に似た関数を作成しましたが、バグをチェックするためにファジングしたいと考えています。afl-fuzz は入力ファイルを提供してくれますが、これを varargs 入力に変換する方法を考えるのに苦労しています。
va_list を動的に構築する方法や、引数リストを動的に構築する方法はありますか?
libffi を使用して、引数を可変個引数関数にアセンブルし、それらを呼び出すことができます。
具体的には、ffi_prep_cif_var
関数を使用する必要があります: https://github.com/libffi/libffi/blob/master/doc/libffi.texi#L152-L153