AngoraFuzzer / Angora

Angora is a mutation-based fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution.
Apache License 2.0
917 stars 166 forks source link

ARM #8

Closed vanhauser-thc closed 5 years ago

vanhauser-thc commented 5 years ago

not exactly an issue, more a question:

you specify amd64 as a requirement though llvm is used for compiling. with AFL, in llvm_mode it runs on any platform llvm is available. So I wonder if that is the same case with Angora? I work for some projects on ARM environments so that would be useful to know.

spinpx commented 5 years ago

I am not sure. It depends on whether DFSAN supports it or not.

vanhauser-thc commented 5 years ago

ah damn:

https://clang.llvm.org/docs/DataFlowSanitizer.html

"DataFlowSanitizer is a work in progress, currently under development for x86_64 Linux."

spinpx commented 5 years ago

Hi @vanhauser-thc , I found you have implemented a arm version taintgrind. Is it possible to use it instead of DFSan in Angora?

vanhauser-thc commented 5 years ago

taintgrind is a valgrind module, so it works differently, not directly on the assembly level but on an upheaved meta language (similar to llvm). I think in theory it could be used, but it would be a lot of, a hell lot of work and 2nd valgrind is super slow. I think only ptrace single stepping is slower :)