Libfuzzer 提供了两个 API 来开发自定义 mutator。
size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size, size_t MaxSize, unsigned int Seed)
size_t LLVMFuzzerCustomCrossOver(const uint8_t *Data1, size_t Size1, const uint8_t *Data2, size_t Size2, uint8_t *Out, size_t MaxOutSize, unsigned int Seed)
这些 API 应该如何使用?模糊器必须是确定性的。如何使用自定义突变器确保这一点?