No permite afeitar un yak . Parece que quieres entender y meterte en la confusión.
Sulley y Peach son fuzzers que tienen amplias capacidades que deberían ayudarte. Además, escribir su propio fuzzer debería ayudar a comprender el proceso real de fuzzing.
Aquí es un recurso para un grupo de diferentes fuzzers.
En última instancia, el sentido común ayuda en el proceso de fuzzing. Si el binario acepta archivos (y está difuminando los formatos de archivo) en linux, es de gran ayuda que sus casos de prueba se generen sobre la marcha en un ramdisk. En Windows necesita un disco RAM especializado software , del cual SoftPerfect Ramdisk parece ser el más eficiente eficiente . Los discos ramificados minimizan la E / S del disco, por lo que acelera el engrosamiento y disminuye el desgaste y la rotura de su disco duro.
Además, debes tener en cuenta lo que dice la especificación, luego descartarlo con el mayor abandono. 010Editor ayuda ya que es un hexeditor que puede analizar formatos de archivo conocidos.
Por ejemplo, debe tener en cuenta los límites de enteros de su plataforma, ya sean windows o linux . Además, la mayoría del código fuente tiene sus propios límites de enteros definidos, entonces, ¿dónde difiere de los límites de la plataforma (u) int? Además, algunos programas analizan cadenas. ¿Acepta bytes nulos? ¿En qué situaciones? Si está confundido (no hay fuente disponible), ¿qué sucede si pasa un (u) int que es igual a los límites de plataforma definidos?
Si empiezas a confundirte desde cero (como lo hice yo) estarás mucho más cerca de encontrar errores de manera más efectiva que tus compañeros.
Buena suerte