Skip to content
/ luject Public

🍹A static injector of dynamic library for application (android, iphoneos, macOS, windows, linux)

License

Notifications You must be signed in to change notification settings

hack0z/luject

Repository files navigation

luject

A static injector of dynamic library for application

Introduction (中文)

luject is a static injector of dynamic library for application. It support the following applications:

  • Android APK
  • iPhoneOS IPA
  • Windows Program (does not supported yet)
  • Linux Program
  • MacOS Program

If you want to know more, please refer to:

Prerequisites

XMake installed on the system. Available here.

Build

$ xmake

Installation

$ xmake install

Usage

$ luject -i app.apk lib1.so lib2.so
$ luject -i app.ipa lib1.dylib lib2.dylib
$ luject -i liba.so lib1.so lib2.so
$ luject -i app.exe lib1.dll lib2.dll
$ luject -i a.dll lib1.dll lib2.dll
$ luject -i liba.dylib lib1.dylib lib2.dyib
$ luject -i bin lib1.so lib2.so

Example

Inject libfrida-gadget.so to apk

Use frida tools to dynamically analyze the application. For details, see: frida

$ luject -i app.apk -p libtest /tmp/libfrida-gadget.so

libtest is a so library that requires matching injection in the apk, and supports pattern matching to achieve batch injection, for example: libtest_*.so, if you do not specify the -p parameter, all so are defaulted for batch full injection.

refs: How to use frida on a non-rooted device

Development

Build and run

$ xmake
$ xmake run luject -i [input] liba.so libb.so

Build and run tests

$ xmake build test
$ xmake run test

Contacts

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]