google / AFL

american fuzzy lop - a security-oriented fuzzer
https://lcamtuf.coredump.cx/afl/
Apache License 2.0
3.56k stars 625 forks source link

Can't understand the opeartion `orig ^ (orig + j)` in arith stage #152

Open leetking opened 2 years ago

leetking commented 2 years ago

I am sorry for asking the question here.

I'm a beginner in fuzzing, thanks for the awesome AFL to guide me into fuzzing. but, when I read the source of AFL, I can't understand the operation described as the issue title (the source is https://github.com/google/AFL/blob/master/afl-fuzz.c#L5523). According to my understanding, if it is to perform arithmetic addition and subtraction, then directly reduce the price, why still do xor operation?