Skip to content

Dronity, the Trinity syscall fuzzer ported to Android

License

Notifications You must be signed in to change notification settings

ThomasKing2014/dronity

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

===========================================================================

#Dronity 0.7 experimental build (community edition) it's a trinty port to Android, wow!

Android Kernel Fuzzer based and forked from Trinity 1.4 https://github.com/kernelslacker/trinity (please read README.trinity) All the credit for the awesome trinity goes to Dave Jones davej@redhat.com

ported by Vito Rallo (vito.rallo@gmail.com)

===========================================================================

#Crosscompile Dronity for platform >21 (Android 5.0) and/or AARCH64

  1. get Android NDK from Google
  2. run make-standalone-toolchain to get a standalone compiler

./make-standalone-toolchain.sh --toolchain=aarch64-linux-android-4.9 --platform=android-21 --install-dir=/opt/toolchain --ndk-dir=/opt/android-ndk-r10c --system=linux-x86_64

  1. important: set your toolchain bin in env PATH, add it to .bashrc

echo "PATH=$PATH:/opt/toolchain/bin" >> ~/.bashrc source ~/.bashrc

  1. edit config.h and uncomment or be sure that "#define P21 1" and "#define AARCH64 1" (in case you are compiling with armv8 toolchain) are defined

  2. compile dronity, you are now ready to go!

make CROSS_COMPILE=aarch64-linux-android- CC=aarch64-linux-android-gcc

(specify here the type of compiler you want, this example is based on aarch64 compiler for android version 4.9 ndk version 10c from Google)

============================================================================

#Crosscompile Dronity for platform 19 (Android 4.4) and hopefully below (not tested)

  1. get Android NDK from Google
  2. run make-standalone-toolchain to get a standalone compiler (android_sdk_root/build/tools)

./make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --platform=android-19 --install-dir=/opt/toolchain --ndk-dir=/opt/android-ndk-r10c --system=linux-x86_64

  1. important: set your toolchain bin in env PATH, add it to .bashrc

echo "PATH=$PATH:/opt/toolchain/bin" >> ~/.bashrc source ~/.bashrc

  1. edit config.h and COMMENT or be sure that // #define P21 1 and // #define AARCH64 1 ARE COMMENTED!!!!

  2. compile dronity, you are now ready to go!

make CROSS_COMPILE=arm-linux-androideabi- CC=arm-linux-androideabi-gcc

(specify here the type of compiler you want, this example is based on aarch64 compiler for android version 4.9 ndk version 10c from Google)

=============================================================================

supported standalone toolchains as of android-ndk-r10e:

aarch64-linux-android-4.9 aarch64-linux-android-clang3.5 aarch64-linux-android-clang3.6 arm-linux-androideabi-4.8 arm-linux-androideabi-4.9 arm-linux-androideabi-clang3.5 arm-linux-androideabi-clang3.6 llvm-3.5 llvm-3.6 mips64el-linux-android-4.9 mips64el-linux-android-clang3.5 mips64el-linux-android-clang3.6 mipsel-linux-android-4.8 mipsel-linux-android-4.9 mipsel-linux-android-clang3.5 mipsel-linux-android-clang3.6 renderscript x86-4.8 x86-4.9 x86-clang3.5 x86-clang3.6 x86_64-4.9 x86_64-clang3.5 x86_64-clang3.6

=============================================================================

Troubleshooting:

  1. cannot run on 4.4 even if the file is compiled for 32bit dynamically linked? try to comment this line from the Makefile

LDFLAGS += -fPIE -pie

this is required as of Android 5.0 only!

  1. I see a warning while compiling getline.c ... that's fine... close your eyes for now!

About

Dronity, the Trinity syscall fuzzer ported to Android

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.8%
  • Shell 1.3%
  • Verilog 1.1%
  • Other 0.8%