PShocker / AndroidPtraceInject

Android Ptrace Inject for all ABIs and all APIs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

这个项目fork Android Ptrace Inject 只是改成了ndk编译的版本. 命令行直接输入

ndk-build

就行.

2022/6/16更新

Android Ptrace Inject

中文可以参考我的注释内容进行理解
我写的注释相对来说比较全面了

How to build

  • Make sure you have CMake and Ninja in your PATH

  • Edit CMakeLists.txt. Set ANDROID_NDK and CMAKE_TOOLCHAIN_FILE for yourself.

  • If your OS is Windows, read build.sh and make it to be a build.bat.

    Also, don't forget to change CMAKE_RUNTIME_OUTPUT_DIRECTORY and CMAKE_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

About

Android Ptrace Inject for all ABIs and all APIs

License:MIT License


Languages

Language:C 93.2%Language:C++ 4.8%Language:Makefile 1.9%