about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoey Jiao <joeyjiaojg@163.com>2021-01-16 13:31:11 +0800
committerJoey Jiao <joeyjiaojg@163.com>2021-01-20 15:46:41 +0800
commit1e2da1dfb9ca44e70416601ed5ab94ad79ce2994 (patch)
tree20caeb345eb52521b9bc64f8720e823fd541106d
parent6dc20fc298c28658ea988a74eb7d400115a3f78a (diff)
downloadafl++-1e2da1dfb9ca44e70416601ed5ab94ad79ce2994.tar.gz
android: port libfuzzer-mutator
-rw-r--r--Android.bp14
-rw-r--r--custom_mutators/Android.bp44
2 files changed, 58 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 1ac9e565..bd23d1d1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -190,6 +190,16 @@ cc_library_static {
   ],
 }
 
+cc_library_headers {
+  name: "libafl_headers",
+  vendor_available: true,
+  host_supported: true,
+
+  export_include_dirs: [
+    "include",
+  ],
+}
+
 cc_prebuilt_library_static {
   name: "libfrida-gum",
   compile_multilib: "64",
@@ -255,3 +265,7 @@ cc_binary {
     "utils/afl_frida/android",
   ],
 }
+
+subdirs = [
+  "custom_mutators",
+]
diff --git a/custom_mutators/Android.bp b/custom_mutators/Android.bp
new file mode 100644
index 00000000..f2ac14b5
--- /dev/null
+++ b/custom_mutators/Android.bp
@@ -0,0 +1,44 @@
+cc_library_shared {
+  name: "libfuzzer-mutator",
+  vendor_available: true,
+  host_supported: true,
+
+  cflags: [
+    "-g",
+    "-O0",
+    "-funroll-loops",
+    "-fPIC",
+    "-fpermissive",
+    "-std=c++11",
+  ],
+
+  srcs: [
+    "libfuzzer/FuzzerCrossOver.cpp",
+    "libfuzzer/FuzzerDataFlowTrace.cpp",
+    "libfuzzer/FuzzerDriver.cpp",
+    "libfuzzer/FuzzerExtFunctionsDlsym.cpp",
+    "libfuzzer/FuzzerExtFunctionsWeak.cpp",
+    "libfuzzer/FuzzerExtFunctionsWindows.cpp",
+    "libfuzzer/FuzzerExtraCounters.cpp",
+    "libfuzzer/FuzzerFork.cpp",
+    "libfuzzer/FuzzerIO.cpp",
+    "libfuzzer/FuzzerIOPosix.cpp",
+    "libfuzzer/FuzzerIOWindows.cpp",
+    "libfuzzer/FuzzerLoop.cpp",
+    "libfuzzer/FuzzerMerge.cpp",
+    "libfuzzer/FuzzerMutate.cpp",
+    "libfuzzer/FuzzerSHA1.cpp",
+    "libfuzzer/FuzzerTracePC.cpp",
+    "libfuzzer/FuzzerUtil.cpp",
+    "libfuzzer/FuzzerUtilDarwin.cpp",
+    "libfuzzer/FuzzerUtilFuchsia.cpp",
+    "libfuzzer/FuzzerUtilLinux.cpp",
+    "libfuzzer/FuzzerUtilPosix.cpp",
+    "libfuzzer/FuzzerUtilWindows.cpp",
+    "libfuzzer/libfuzzer.cpp",
+  ],
+
+  header_libs: [
+    "libafl_headers",
+  ],
+}