Вы можете выполнить кросс-компиляцию вашего программного обеспечения в MIPS с прямым порядком байтов на вашем хост-компьютере, а затем использовать эмуляцию пользовательского режима QEMU.В этом режиме QEMU запускает один процесс на эмулируемом процессоре, исключая все эмулируемое оборудование.Вместо этого он просто транслирует системные вызовы хосту ядру , поэтому процесс обращается ко всем файлам хоста, сетям и т. Д. - точно так же, как если бы ваш центральный процессор получил возможность выполнять инструкции MIPS - онТеперь вы можете связываться с вашими хост-файлами и т. д., вы были предупреждены.:)
Я не знаком с конкретно libfuzzer
, но такой настройки должно хватить, по крайней мере, для проверки уже найденных сбоев (предположим, что QEMU достаточно реалистично имитирует процессор MIPS),AFAIK libfuzzer
является фаззером в процессе, поэтому в отличие от AFL, фаззированный процесс не должен сталкиваться с некоторыми проблемами при подключении к отдельному процессу фаззера с использованием общей памяти и т. Д.