[android] Fix wrong linking with libhfuzz.a from main tool

libhfuzz is not an actual dependency of the honggfuzz standalone tool. Instead it
is simply desired to always build it with the build config matching the main tool so
that it is available to user for wrapping targets with instrumentation.

Having libhfuzz as part of LOCAL_STATIC_LIBRARIES effectively instructs NDK
automation to include it as dependency. This results into resolving some of the
external libc dependencies (strcmp, strstr, etc.) with the ones implemented from
libhfuzz. This is not desired since it breaks functionality.

Replace LOCAL_STATIC_LIBRARIES dependency with a proper APP_MODULES
list when invoking ndk-build to always build both modules.

Signed-off-by: Anestis Bechtsoudis <anestis@census-labs.com>
2 files changed
tree: 3340a19fbd703ecd8ce2ef54c7f00c05caea9cbf
  1. android/
  2. docs/
  3. examples/
  4. libhfuzz/
  5. linux/
  6. mac/
  7. posix/
  8. third_party/
  9. tools/
  10. .gitignore
  11. .gitmodules
  12. arch.h
  13. CHANGELOG
  14. cmdline.c
  15. cmdline.h
  16. common.h
  17. CONTRIBUTING
  18. COPYING
  19. display.c
  20. display.h
  21. files.c
  22. files.h
  23. fuzz.c
  24. fuzz.h
  25. honggfuzz.c
  26. log.c
  27. log.h
  28. Makefile
  29. mangle.c
  30. mangle.h
  31. README.md
  32. report.c
  33. report.h
  34. sancov.c
  35. sancov.h
  36. subproc.c
  37. subproc.h
  38. util.c
  39. util.h
README.md

honggfuzz

Description

A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer with interesting analysis options. See USAGE for details

Code

Requirements

  • Linux - The BFD library (libbfd-dev) and libunwind (libunwind-dev/libunwind8-dev)
  • FreeBSD - gmake
  • Android - Android SDK/NDK. Also see this detailed doc on how to build and run it
  • Windows - CygWin
  • Darwin/OS X - Xcode 10.8+
  • if Clang/LLVM is used - the BlocksRuntime Library (libblocksruntime-dev)

Trophies

The tool has been used to find a few interesting security problems in major software packages; Examples:

Other

This is NOT an official Google product.