Skip to content
methneviebyvaet edited this page Apr 12, 2023 · 3 revisions

Welcome to the Soinjector wiki!

Introduction

The injector is a command-line tool that allows you to inject a shared library (i.e., a ".so" file) into a running process. This can be useful for a variety of purposes, including debugging, profiling, and modifying the behavior of an application at runtime.

Usage

To use the injector, you will need to provide the path to the shared library you wish to inject and the process ID of the target process. You can do this by running the following command:

sudo ./injector <lib_path> <pid>

Note that you must run the injector as root (i.e., with sudo) in order to have the necessary permissions to attach to the target process and inject the library.

Building from source

To compile the injector, navigate to src directory and run these commands:

chmod +x compiler
./compiler

After that you should be able to find your compiled binary at build directory.

Limitations

The injector has some limitations that you should be aware of:

  • The target process must be running on the same machine as the injector.
  • The injector may not work with all applications or libraries. Some libraries may not be compatible with the dynamic loading mechanism used by the injector, or may have their own mechanisms for preventing injection.
  • Injecting libraries into a running process can be a dangerous operation, and can potentially crash the target process or cause other unintended behavior. Use the injector with caution and make sure you understand the implications of what you are doing.

Conclusion

Injector is a powerful tool for injecting shared libraries into running processes. With careful use and an understanding of its limitations, it can be a valuable tool for debugging and modifying the behavior of applications at runtime.

Clone this wiki locally