Android Ptrace Inject
中文可以参考我的注释内容进行理解
我写的注释相对来说比较全面了
How to build
-
Make sure you have
CMake
andNinja
in your PATH -
Edit CMakeLists.txt. Set
ANDROID_NDK
andCMAKE_TOOLCHAIN_FILE
for yourself. -
If your OS is Windows, read
build.sh
and make it to be abuild.bat
.Also, don't forget to change
CMAKE_RUNTIME_OUTPUT_DIRECTORY
andCMAKE_LIBRARY_OUTPUT_DIRECTORY
in Windows styles. -
If you want to build all ABIs, u can annotation ANDROID_ABI on CMakeLists.txt, and run build.sh
git clone https://github.com/SsageParuders/AndroidPtraceInject.git cd AndroidPtraceInject mkdir build chmod +x build.sh ./build.sh
-
Or you can don't run build.sh and don't annotation ANDROID_ABI on CMakeLists.txt.
git clone https://github.com/SsageParuders/AndroidPtraceInject.git cd AndroidPtraceInject mkdir build cd build cmake .. -G Ninja cmake --build .
How to use
# Here are the parameters of the Inject command line tool:
# Some parameters are optional.
# -p process 's pid <-- optional
# -n process 's package name <-- optional
# -f whether to start App <-- optional
# ---- // /data/local/tmp/Inject -f -n XXX <-- error
# ---- // cd /data/local/tmp && ./Inject -f -n XXX <-- right
# -so so path for injection <-- mandatory
# -symbols specify a symbol in so <-- optional
# For examples:
cd /data/local/tmp && ./Inject -f -n bin.mt.plus -so /data/local/tmp/libHook.so -symbols hello
TODO LIST
Finished
-
First Inject Succeeded
-
Handle Parameter
-
Handle SELinux
-
Handle Libs
-
Succeed Inject for arm64-v8a
-
Succeed Inject for Android 9 and Android 11
-
Adapt to all Android versions
-
Succeed Inject for x86
Future
-
Fix bugs for armeabi-v7a
-
Adapt to the ABIs of each device, such as armeabi-v7a and x86_64
Credits
Adrill By mustime
SharkInject By bigGreenPeople
androidinject By mergerly
TinyInjector By shunix