ADBI is an Android platform (ARM 32) so inject + hook frame, open source on GitHub: ADBI project. Download the directory from GitHub as follows:
Execute the main directory under the build.sh compiled directory as follows, if you have the environment variable set ndk-build path, do not know ndk-build is what the description has not downloaded the ndk oh.
Compared to the pre-compilation directory It is easy to see the obj directory, so library, static library and executable files, why do you learn the ANDROID.MK in their respective directories?
android.mk--generated executable file under hijack hijack
Local_path: = $ (call my-dir) include $ (clear_vars) local_module := Hijack local_src_files:=. /hijack.c local_arm_mode:= armlocal_cflags:=-ginclude $ (build_executable)
The android.mk--under base generates a static library Libbase.a
Local_path: = $ (call my-dir) include $ (clear_vars) local_module :baselocal_src_files: = .. /util.c. /hook.c. /base. Clocal_arm_mode:= arminclude $ (build_static_library)
Local_path: = $ (call My-dir) include $ (clear_vars) Local_module: = base local_src_files: =. /.. /base /obj/local/armeabi/libbase.alocal_ Export_c_includes: =.. /.. /base include $ (prebuilt_static_library) Include $ (clear_vars) Local_module: = libexamplelocal_src_files: =.. /epoll.c. /epoll_arm.c.armlocal_cflags: =-glocal_ Shared_libraries: = dllocal_static_libraries: = base include $ (build_shared_library)
The above is the download to the ADBI project in the ANDROID.MK, if you do not understand can read my previous article about makefile there is a simple introduction.
OK, we've compiled it, let's see how it works.
Resources:
1 Android Hook Frame adbi Introduction, compile, run
ADBI Learning One: installation and use