# linjector-rs Android port of [linux_injector](https://github.com/namazso/linux_injector). Library injection using /proc/mem, without ptrace. Only aarch64 is supported. To get an idea of how it works, you can read the [blog post](https://erfur.github.io/blog/dev/code-injection-without-ptrace). ## Usage ``` Inject code into a running process using /proc/mem Usage: linjector-cli [OPTIONS] --file Options: -p, --pid pid of the target process -a, --app-package-name target application's package name, (re)start the application and do injection -f, --file path of the library/shellcode to inject -i, --injection-type type of injection [default: raw-dlopen] Possible values: - raw-dlopen: Use dlopen to inject a library - memfd-dlopen: Use memfd_create and dlopen to inject a library - raw-shellcode: Inject raw shellcode --func-sym function to hijack for injection, in the form "lib.so!symbol_name" --var-sym variable to hijack for injection, in the form "lib.so!symbol_name" -d, --debug enable debug logs --logcat print logs to logcat -h, --help Print help (see a summary with '-h') -V, --version Print version ``` ## Modes **Currently only raw dlopen mode works**. Since SELinux doesn't allow calling dlopen on a memfd, memfd dlopen will not work. Shellcode mode is not yet implemented.