Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add arm64-v8a support to the project #34

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,32 @@ adbi - The Android Dynamic Binary Instrumentation Toolkit

Simple binary instrumentation toolkit for Android ARM + Thumb.

Instrumentation is based on library injection and hooking function entry
Instrumentation is based on library injection and hooking function entry
points (in-line hooking).

The toolkit consists of two main components the hijack tool and the base
The toolkit consists of two main components the hijack tool and the base
library.

**hijack**

The hijack tool provides the injection functionality. It supports a number of modes for supporting older and newer Android devices. hijack provides help on the command line.

**libbase**

The base library provides the hooking and unhooking functionality. The base library is compiled as a static library so it can be directly included in the
actual instrumentation library. This is done so we can keep everything in /data/local/tmp.
actual instrumentation library. This is done so we can keep everything in /data/local/tmp.

Below we provide and easy to follow step-by-step instructions for howto build and use adbi. The example instrument hijacks epoll_wait() and logs every call
to a file.

=== External Resources ===

more information at:
more information at:
http://www.mulliner.org/android/

slide deck about this toolkit:
slide deck about this toolkit:
http://www.mulliner.org/android/feed/binaryinstrumentationandroid_mulliner_summercon12.pdf

old code (with more examples):
http://www.mulliner.org/android/feed/collin_android_dbi_v02.zip

Expand Down Expand Up @@ -92,4 +92,9 @@ epoll_wait() called
epoll_wait() called
removing hook for epoll_wait()
```

**For arm64-v8a architecture so**
1. modify the Application.mk to the target architecture (arm64-v8a)
2. modify the Android.mk to build the matched source file
3. build hijack tool and example, push them into your device just like above
4. install /instruments/example/arm64_test_apk/app-debug.apk or write your own test apk, if you write your own test apk, remember to modify the "my_init" function to hook your own function in the example
5. other steps and information just follow the original Tutorial
Loading