我已經寫了一個類似於printf的函數,我想用它來檢查錯誤。 afl-fuzz給了我一個輸入文件,但我正在努力想辦法把它變成可變參數輸入。如何模糊stdarg.h函數?
有什麼辦法來動態構建一個va_list或以其他方式動態構造參數列表?
我已經寫了一個類似於printf的函數,我想用它來檢查錯誤。 afl-fuzz給了我一個輸入文件,但我正在努力想辦法把它變成可變參數輸入。如何模糊stdarg.h函數?
有什麼辦法來動態構建一個va_list或以其他方式動態構造參數列表?
dyncall似乎已經寫入你想要做什麼,雖然我沒有親自使用過它。
另一種方法是生成源代碼,用大量輸入調用有問題的函數。它不太優雅,但它應該是直接編程。
libffi可用於將參數組裝到可變參數函數中並調用它們。
具體來說,ffi_prep_cif_var
功能需要使用:https://github.com/libffi/libffi/blob/master/doc/libffi.texi#L152-L153
也許[libffi](https://github.com/libffi/libffi),[外部函數接口](https://en.wikipedia.org/wiki/Libffi)庫。 –
@Jonathan這聽起來像是一個想法,我會研究它 – Riking