작동 중에 printf와 비슷한 기능을 작성 했으므로 버그를 확인하기 위해이 기능을 사용하고 싶습니다. afl-fuzz는 필자에게 입력 파일을 주지만, 이것을 varargs 입력으로 바꾸는 방법을 고민하고 있습니다.stdarg.h 함수를 어떻게 fuzz 처리합니까?
동적으로 va_list를 구성하거나 동적으로 인수 목록을 구성하는 방법이 있습니까?
작동 중에 printf와 비슷한 기능을 작성 했으므로 버그를 확인하기 위해이 기능을 사용하고 싶습니다. afl-fuzz는 필자에게 입력 파일을 주지만, 이것을 varargs 입력으로 바꾸는 방법을 고민하고 있습니다.stdarg.h 함수를 어떻게 fuzz 처리합니까?
동적으로 va_list를 구성하거나 동적으로 인수 목록을 구성하는 방법이 있습니까?
dyncall 내가 개인적으로 사용하지 않지만, 당신이 원하는 일에 기록 된 것으로 나타납니다.
다른 접근법은 많은 입력으로 문제의 기능을 호출하는 소스 코드를 생성하는 것입니다. 훨씬 덜 우아하지만 프로그램하는 것이 쉽습니다.
libffi는 가변 인수에 인수를 조합하여 호출하는 데 사용할 수 있습니다.
특히, ffi_prep_cif_var
기능을 사용할 필요 : https://github.com/libffi/libffi/blob/master/doc/libffi.texi#L152-L153
[외국 함수 인터페이스] (https://en.wikipedia.org/wiki/Libffi) 라이브러리 인 [libffi] (https://github.com/libffi/libffi) 일 수도 있습니다. –
@Jonathan 그건 생각처럼 들리지만, 나는 그것을 들여다 볼 것입니다. – Riking