A tool/library allowing dynamic library injection into running processes
Project description
Pyinjector
A cross-platform tool/library allowing dynamic library injection into running processes. If you are looking for a way to inject python code into a running process, try the hypno library.
Pyinjector has no external python dependencies. It is implemented as a python wrapper for kubo/injector.
Installation
pip install pyinjector
Both source distributions, manylinux2010
wheels and windows wheels are uploaded to Pypi for every release.
Usage
CLI
inject <pid> <path/to/shared/library>
API
from pyinjector import inject
inject(pid, path_to_so_file)
How it works
We build kubo/injector as a C-extension and use its interface using ctypes
.
kubo/injector is an awesome repo allowing to inject shared libraries into running
processes both on windows (CreateRemoteThread
+LoadLibrary
) and on linux (ptrace
).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pyinjector-1.0.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d22b345b316245fc06a0a14fe4208746687ffdf5dbdf8a34704606edc39d29b |
|
MD5 | 63e00ae8c2992954b0216682cd7b5485 |
|
BLAKE2b-256 | bb4ffa637d9f16c7cfc6149b4a5df4f5e94a8aee5d6a9bf4882f0416476001e5 |
Hashes for pyinjector-1.0.2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cad5d4d9567f4509aef544e8dca221040daafbf54ad090c02fbe370c60f3e97 |
|
MD5 | 42dc22a0d2d717e78c6064b1f87bc0fb |
|
BLAKE2b-256 | 4d8fa55a8acc8c534fa593a01032c49d25dd0c7f9168784f5f8010413fe49b52 |
Hashes for pyinjector-1.0.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5dc8a481783e8188d1f65b2f4992f4af5659958aee72d43fb1555b2c592ae62 |
|
MD5 | 1e3180aced4f77432f20bf0fd9aa3ec6 |
|
BLAKE2b-256 | 6c4628988a42b6891e90df01689c9433004929e81af95b947a16680151f7698d |
Hashes for pyinjector-1.0.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cb7619a58592995a0366b18181099b4a5624489c1c802cc35cd22c9e6e370aa |
|
MD5 | 9f26e3f85b205643b3abad0310ec9d4d |
|
BLAKE2b-256 | 2c000016fd09828dcfbfc2a49b6d9a13fba924da2cefeb91507f7c1eee8af0a3 |
Hashes for pyinjector-1.0.2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cfef55cbe661a5d218c34ddbf4c0b4b295ad35b4efdee257395231ec2e1c900 |
|
MD5 | ea72f6893f98146abe32695c1b94f829 |
|
BLAKE2b-256 | af4e3b3cf6add2d08fc1ff22cf4d3ea9e1fb8b5d7b3af1d912fd83790b40adb2 |
Hashes for pyinjector-1.0.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3e786fd5b4206e93fdc22a2eefb58975bddd101c4bb6cda98a907a5cd25906c |
|
MD5 | 44358c25ceadfab97fbe0eddef11c8f5 |
|
BLAKE2b-256 | d592910c63cf2688a9a70d1267e3b5cbddfa6c853d1cf9d6ef70790e85d29085 |
Hashes for pyinjector-1.0.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9189706641e35b9f09189639cab4101970447e6cff27a11504fca4d3ab01d7a |
|
MD5 | 2acd2a5c3a48e1d6bc880ebeaa67d633 |
|
BLAKE2b-256 | 23ec5974366b64dd7ebf33b9f2786bc2bf16a2c49e3fcb0eda2dcc468db9d906 |
Hashes for pyinjector-1.0.2-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10d432e3b4363493b69bf988f428d89f359140fd6c84737d23cd509582ac953a |
|
MD5 | 5f00d88bbf6e0d7976941e7cdf21a9b5 |
|
BLAKE2b-256 | e5f65bc108d10bd89a9e31a716fe8190203ecf416eae4be73392ecc30a2bc665 |
Hashes for pyinjector-1.0.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db742ff77f3d19079602e9bd7e52ce5234f5b5f893e30f541022b0c51648e45e |
|
MD5 | 5e0a169669c379af539af7ed6b4f28fa |
|
BLAKE2b-256 | 7093e2834ba8374aa05f97b114d19a9bfe8b04716bb6cbaffd3a676c2b0d6d8e |
Hashes for pyinjector-1.0.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9fa597e9e1e84a80e188b32b131f623db2b9cd7516e0880bef82fac3875d3db |
|
MD5 | 13b2de8431cab9cf9cfe6ca2fa70de0a |
|
BLAKE2b-256 | 09b57a27645a9e57332bd5876297ee02dca50155f74dc8a7edcf85545ca5c53d |
Hashes for pyinjector-1.0.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64d51eba43a6d4c02d2124a241e20a65ee5745e4740559f0c9e669fdd337445e |
|
MD5 | 293d55e8398137f87ae09332e9141131 |
|
BLAKE2b-256 | 41f039fed0af01c4846d3b3b4faa0be86540a1a32f5d7f729d2d3dddf5a0f5a1 |
Hashes for pyinjector-1.0.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf9e9cc4823cc4921c23ed21728e50f586118c8dbd6b3bb61c0043551b3c0cc0 |
|
MD5 | ed52582abeb2595ddb2bfd87fad4c7c0 |
|
BLAKE2b-256 | 53e3a29f47e320c15161364fd8449711e631837fd7029ed1b530d38ba7d34dbb |