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.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f982dbc3d31d43f651aef7969d4063b7a408e9e84e5596ddb23a773db9bc9832 |
|
MD5 | 927fc573130d2d5c199d07cccaf54f35 |
|
BLAKE2b-256 | 9a7ab846c4b3af799263c2286efdd9f3d1ff26aeacb0fb711bf7ee87a4de0e45 |
Hashes for pyinjector-1.0.4-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1829c358b88f1012c4cc23981c816c8f3dee01f5578b254d2767922f1d13a63b |
|
MD5 | dfb49ac206e6a7846b9882094927a2c3 |
|
BLAKE2b-256 | da8488ce3f58aa13dd7200b187137b29e308dbc25601c6564c6f52d6e68bb739 |
Hashes for pyinjector-1.0.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad6a17c93430d4cf45adefa30febd2bd7775dba86ca14a74840af64a844b1cff |
|
MD5 | ae2dd628857f15ccf7f00febfaafb083 |
|
BLAKE2b-256 | 06f72aaeaca5e892819ba9d4b52943bea0e1611bcc526d461f289d5f8a4db34d |
Hashes for pyinjector-1.0.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cadd209c94f7f82741930089877ff2b1c6e26a9d6d1504737d83d654b8b6f246 |
|
MD5 | 0c46e24fb00e1b34299c77e0eaabd583 |
|
BLAKE2b-256 | 3e3bf63ffa767d2f3b38f980849d38892f79ac8846864bcb25b608ea22697316 |
Hashes for pyinjector-1.0.4-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d4b78e2caea7b2e0f01bd5fa04a4c245a91ec0f7812ec860f6000deb0f6e818 |
|
MD5 | 418afcb4dc1da482472ac791e932c52c |
|
BLAKE2b-256 | bb394f1e1d935bcec947daec6d7396338e2036b154f4d211685ecec8c8166a9d |
Hashes for pyinjector-1.0.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce854b963803ad5fcd439fef9a3b69d5933d3d8431e75a5ea78a89c36207d1d |
|
MD5 | 6fbec1a524cb26e5f06ad13fdb8fc7d1 |
|
BLAKE2b-256 | 8139ffaea5d764ae20b2bc472a14eab96a99910723fc5d611819d45c1f8bc877 |
Hashes for pyinjector-1.0.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8071eb397487d77a4ec0e734864e40030d896639c8b07e3f08cbe1e6e54f554d |
|
MD5 | 3dbcb2bbc55eb570eab43319eb66460b |
|
BLAKE2b-256 | e795230086ac5a9f39359737e537cf2175d9402b1c042f9918e1fdbf71d3ff2f |
Hashes for pyinjector-1.0.4-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 563746f43115984c6a7b2ad07b1b441a286af70f270c368b3155437f3b0401b5 |
|
MD5 | 79647faa6d61a2d9b70351f5d38857b1 |
|
BLAKE2b-256 | 02c608e265b6ad05f601d0379ac5af098833eabcbfb812750ce54f224183355c |
Hashes for pyinjector-1.0.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08225aecce619d5954d00986e9a0e5fb5fb7adbfd934fc88da31e21003e05edb |
|
MD5 | 972e8453224f44b424111ff8b9ecb21a |
|
BLAKE2b-256 | bba0f73eafa793e477b1ae5d6ce9e04e97a1d739f77cf0034c2f71a9f2a6458f |
Hashes for pyinjector-1.0.4-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32789459e5b134a1bd6a880c7452af00eed4567f2f68fd09eb6918d1b6e56937 |
|
MD5 | 6141ce0a10954fca8055d94aa7f9ceea |
|
BLAKE2b-256 | 6c1aaea34640ff6394673daf32bb678aee73bfdc18375e553fe942dd8bda664c |
Hashes for pyinjector-1.0.4-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a03620c24d3d9441a90f947fe163e6d4312261dbadef72993ed455f127ccfc7 |
|
MD5 | 73f0ab7981b7ce6dec4ad230bc29359c |
|
BLAKE2b-256 | b7e3064f369e44bc756b644ee60c80cd765e84aa35355d9e36d09562bbae38a4 |
Hashes for pyinjector-1.0.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebc20a05ac2bab7a2cbfee372cb806301457db1126d90b9cbe09f35e99552536 |
|
MD5 | 9cb232affb121bc78b94539dc37ed0cb |
|
BLAKE2b-256 | 59d53483c7e6baac0fc94390a6d5715b86aa56210d5ef2ee652a250168aca530 |
Hashes for pyinjector-1.0.4-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36a9f7b7f2f5fb82777adf894ff193d05d03ebc1d495243c80c350381e712aba |
|
MD5 | 1e0bdedc584c49f45384227665c9b871 |
|
BLAKE2b-256 | 4c5388db4028cf1696738eeeb52b7f34113c5399e2d5a8c2ed54767db5883b8c |
Hashes for pyinjector-1.0.4-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d14e9d562c390a4d289f518c82bd51ad54cf5eb43f81c5ca3dc4d013f6bdf75e |
|
MD5 | 3ddbc8f069cba5ab361398560b2be7f1 |
|
BLAKE2b-256 | 80a066874b653fb93e49bc5d3bd9ea90e7b6310dca5fbc51a05135afd73b1265 |
Hashes for pyinjector-1.0.4-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a917fca4e8d44b47454c52f7f930b1e3eb3757fc0d64fb06d8b04a08348f72d |
|
MD5 | 8bc7167db7163e7261a8010bae1e95c8 |
|
BLAKE2b-256 | 373928f070c1f4e6fd98147078c3c42d8382f85fb57575a576a72d5d70f74a25 |