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.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c30c39a100c4c32658bcf62a911f293249e9e19530074736a70893d3d848e5d |
|
MD5 | d5e11693928c79dacb5fe0af17a27554 |
|
BLAKE2b-256 | 77eafb640fe6ea87096de3f25ef3576e770db60d4c2de1d2e78fe5c65bf4731f |
Hashes for pyinjector-1.0.6-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e8770c02c0be24e5f650c05cc7e6328e875e6ed9ed983871bfb6cd637f65774 |
|
MD5 | 026c31a95ec8274bb33f920eeb5c86b9 |
|
BLAKE2b-256 | 1e3c61937a2adbf36c26de65fa2cf206079071e475fbb31141c1e4f2048b1d38 |
Hashes for pyinjector-1.0.6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cf41ada449013caff20aeca85e3515198d0293f75ebdcfb7504716db8f001c2 |
|
MD5 | 23cf242844d11b29d1c341823e830043 |
|
BLAKE2b-256 | fc1729601f4a095f8d36d353f2a58287215b198bf8bf6a57dac03355d3aa7cf8 |
Hashes for pyinjector-1.0.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8460c4e50f1522211d44d5df3e4119b5d76372bc11869438b7343337e6e09957 |
|
MD5 | 4932684a066b3246465e64cdbdd3f775 |
|
BLAKE2b-256 | 195970d1f9b81b9e2a7da9a0fbbc6e6e4f125eace34149e4b927bfb72a49cbfd |
Hashes for pyinjector-1.0.6-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db4fbb9c047405be6910205253ca9e013a42a7d4f578bdc0c5d76b4f1353e0fa |
|
MD5 | d1658761e2dfd2aa0db721f0fedb10d5 |
|
BLAKE2b-256 | 351cae272f5442d9bf6fb5178578c2b459d650cddb7f5369e5b5f917252d1b21 |
Hashes for pyinjector-1.0.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5711983094ceda1f8c5571e8c53c4e736deddca993d70b1b43b0c682129c8e65 |
|
MD5 | 8d6097714cfbad709afb07ba09e93f50 |
|
BLAKE2b-256 | d902a8967d3e64bf3f143956481447fc06b6fc839780fd2178597e52f5560ea4 |
Hashes for pyinjector-1.0.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29bec25415c1a3cced84970defd64a73359661ba4e8f2b75821da7eea71d0e86 |
|
MD5 | 547e043fb9e68d6daf1b8a5a01f9ceaf |
|
BLAKE2b-256 | 206d785fcd671051fc6d83bce0be779e4c4a5966baa101179f3d11cc135ded60 |
Hashes for pyinjector-1.0.6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a21c07d0e1f98371be0a6969c39dbcacae8717b705cfbb1d8570d009d0c43a0 |
|
MD5 | cda49469f9914158bb32e73acfd139bb |
|
BLAKE2b-256 | 8b09148e206eb65a69657567358bd5a60be39e5d465d58eb46a2fc05eb7850a0 |
Hashes for pyinjector-1.0.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c8f2cc2147614bcb340f6cf05cd0c90ed4e40c036e207024fe168adc623b5a6 |
|
MD5 | b41dac31bbd1b77ae4d39443069e2382 |
|
BLAKE2b-256 | 16d2ad6356e6a690de3a73a56ca8c90051465d3be3da5839386b47a3f4c4e685 |
Hashes for pyinjector-1.0.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e7aa19ad59a6ec923dfb0625a4d4d7c158dc147f3fcdb2ac7e8dd9d841e4d6b |
|
MD5 | eb27bab934a80daea74eaadd96dfed9b |
|
BLAKE2b-256 | 4b54193fff1cb91e70132d5abab9d4b4cbcf3bd7cc8ae8cc3d0f0f237c1d6583 |
Hashes for pyinjector-1.0.6-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70268fe0817a482dd4ec5ab0fd7adab169e1063f9e1c7c264f16cddf82a1dd3e |
|
MD5 | b390bd2d860faaeacac8a578774cd807 |
|
BLAKE2b-256 | d1c67ad7e6873487664177b7a50cc10aecca4810fb6328e7eedd45d5fe4787d4 |
Hashes for pyinjector-1.0.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32e4c84ff9ea80e3751fd849ed1620b286beef2a2761027e301a39240c75f0a6 |
|
MD5 | 28aabedd4f82712b2073928476c8a1e4 |
|
BLAKE2b-256 | 6dc4b63aa14ed87df308961e6f407da54d3baad2d6e452a86640ab32821952a7 |
Hashes for pyinjector-1.0.6-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16878f9feb0634b4ada06ec42a6fe5e496725af2daf4f58f4dadd055f6c9a560 |
|
MD5 | ed03c6f78fa27065a6f4b6ab40b05a9c |
|
BLAKE2b-256 | c531d191ec0e5403ca90de64bfd941cbcff84d960c7e6297d25ddc4c83ef0b11 |
Hashes for pyinjector-1.0.6-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d518dcf987869e3772de6b20e60ead3fead36e1eb3c52f4737d4cbd1ff3f66 |
|
MD5 | d230bd54b44103cc9198f68ee738a7df |
|
BLAKE2b-256 | 0133f7308999c5fd65c131074b829afd62db9e948c007d2d7379f149e5dcb62b |
Hashes for pyinjector-1.0.6-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8aa5bb6f465a2801bc28c19e580286af3c033f49a2523022c2d0523ae80f1c6 |
|
MD5 | 0e7c5d593682a0c69458632205c960ff |
|
BLAKE2b-256 | 0525869b4743a0f654e074242671291d79822d6875852c658dd59fbf23b79b4d |