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.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0be788bf0724dd6ed87341aa2db76981b01d9615580d5249b0b0104dcd34dd2 |
|
MD5 | 6b54398a2f1acfcb3ddd1c4c33141e16 |
|
BLAKE2b-256 | d654a3e3ac24b1e8fd89187ac32d508d570849e7d1c985e60f3d2bcd1c3af898 |
Hashes for pyinjector-1.0.5-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80601911f970d5a81ca59ce15056e87fa6927532c80477a24e43101f7893a211 |
|
MD5 | 396220d1d109ac5bd2d67c8310b939b2 |
|
BLAKE2b-256 | bcedcf1747123b510d4c8c6256294642c52344c8951d02345a72cacf14cdc995 |
Hashes for pyinjector-1.0.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7786f2474be55e6f0579f259af084f363ca38e2ea58e57d4ffd5404fc2c9432c |
|
MD5 | 93bb88e3afd05de1cf7dc7fcd7978af9 |
|
BLAKE2b-256 | a0d75c12829e255723b35ae4810667540db515b46d0bc4773717eecf3c2ee1cd |
Hashes for pyinjector-1.0.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 284bfe804071eff0d77c0a831bf5add3d7c49732f0d166920f90ddf95e989be0 |
|
MD5 | d94206ec54fae61399796993bd218028 |
|
BLAKE2b-256 | 274cd5933ca235f6c2d7c788309bf24d6ffec151e087e9822fd8d09a0eb615e1 |
Hashes for pyinjector-1.0.5-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 984c0cd1a7d13a9f2313322694912e35082eae67ad573e8cc22ab08cfc49dcc2 |
|
MD5 | 6e9c14ecb0199214a1813b4359ca76bb |
|
BLAKE2b-256 | b1debece083f67df153a7c1867e5f653528d5509f4ba580a211c98211e62ee82 |
Hashes for pyinjector-1.0.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4800d8e44f4424bd5a2846cf5b834e8567006ccf7a5b42c819d825c596e1c85 |
|
MD5 | a22cf3826815cd5108a04eb3318bf96e |
|
BLAKE2b-256 | 637bac2670056de7e18ef0b57d94d3047bb6ca7fb57954b0a8c19f8711c63d19 |
Hashes for pyinjector-1.0.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 339b93332a91fdc644746d89c8c0ad50db3d813a2dc6aa78e1e5cde8c900c4ef |
|
MD5 | 66777435c36deb69c676979b3019d1f0 |
|
BLAKE2b-256 | 90a0c91a6d9a0f2b1e83a2ef334ea8b3811904d1d90be5e8d1102f645f393b98 |
Hashes for pyinjector-1.0.5-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d973d9f6d6ff4c0e0b439028211d1b5b5278dd42ffc5e3bb84e28bf8613b485f |
|
MD5 | 1dd24d0df9b04d56fc0410e4b09ad3d6 |
|
BLAKE2b-256 | 9c0627f39f556f5629d7b4137c44f75a33d5290ff213126bcd449f3c4df7ca00 |
Hashes for pyinjector-1.0.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e88ed12efe48cde48d5266f0449dcbc1220d7f31652b91324965f018395a7715 |
|
MD5 | 35cc0e47e837fd12cc9a3deb8e1dfd30 |
|
BLAKE2b-256 | 4be362dcc4dc2fdac9e8ef3152180a07c1a319723a99fe146f1c5e497a288460 |
Hashes for pyinjector-1.0.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e1c87603794113d8c086da7d8a51e019c3dcf09796cfb877c417a0affd2484b |
|
MD5 | 9b41a7e3d0166f325aceeee1b3a99b28 |
|
BLAKE2b-256 | 33345ef670c1a91a0be3bcbde96827c3f06b6d7db4dbe6a117f4844a369a200d |
Hashes for pyinjector-1.0.5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fdd71deea89b18d3282d99881716c1e7dcc3d89e943b0f6b34166f6488666f0 |
|
MD5 | 4124b26eef4dc1244dfd4c71ffe23569 |
|
BLAKE2b-256 | ea77dc7bcf5b4b8aafb3cf9e53dfb0c59452099c8649277a9cdf9232b09f2958 |
Hashes for pyinjector-1.0.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee62eb2f23e6d75b40e1cd8887fba4fc4ca3a864d48ba666f0c11aaf6668a16 |
|
MD5 | 194cb97226952949654f05d1533efc44 |
|
BLAKE2b-256 | d1f9d0dad6d7bf7c7a7ea598d8d16c0a2d58c4aea01bdb10a9356359148f5939 |
Hashes for pyinjector-1.0.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27ea367ae934ddb527085f2cf5ebd24fed7e3973cea8ef985b53154e0e0954a5 |
|
MD5 | ae40febc568902382f9865c8f745855c |
|
BLAKE2b-256 | c16b0937eb25adf6b5740e735db79757a32d795c943bfe201c8efd7f980fe5b9 |
Hashes for pyinjector-1.0.5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f7db75b2d07ef9b623716d20c20a776751976b879e2b9bc2ea2b498cbdd74c8 |
|
MD5 | bca70835cf887e75d4e967d1f774ad25 |
|
BLAKE2b-256 | c8bba53fe36ff8add91c9121df0cc5789abd2db6b3be7af8f02b75c17b76d277 |
Hashes for pyinjector-1.0.5-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd00a59bbcac1602b84057370bff268849e5501ce62ec301dd460a18f89203b |
|
MD5 | 4856e7d12ecfd865d640a69474229310 |
|
BLAKE2b-256 | be21871a9189e98e1570145741525bfa653fa991f238ca8d13dec90a7b1b4799 |