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.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5110a2a8cc2334e5aba9cbf8f3d818f30d1b50e0b13656b970af1d9fa9d83e68 |
|
MD5 | 938d93c6e52c4f0ddb2dee507ab45863 |
|
BLAKE2b-256 | b46992be3937a9c2c894cd760f96ba7025b8d89d61dd73f211b03f2928f8e214 |
Hashes for pyinjector-1.0.3-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f2812798afeaff053b73fd960ca82c9b7d4440bef774dd600ecff6c81008bd |
|
MD5 | cb3e0e42deb8dd1495e64446eea59f03 |
|
BLAKE2b-256 | 9378e9edca358e490c8519c2bceaaa8606979a6cd5ef24b61867f6a1d1272c1a |
Hashes for pyinjector-1.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c641516ab199457c69a31f31913ddaf3d5e5c1aaa5f1e40114212fbf56177ac |
|
MD5 | f5cd84c160509bcbeb9896929f0657f7 |
|
BLAKE2b-256 | 914117f2a902ddd9c90714128edc7c0a04a0b52aaf71a8588800d55c825a6540 |
Hashes for pyinjector-1.0.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5eb576c357e3cac4a278476ddc9c53d868d39d68700ded4cef074adac37b9ba |
|
MD5 | 47bebb98ac661162ee80bc11b82cc26d |
|
BLAKE2b-256 | cd452939ac7f532f12e7ed9f02e60952f5a24cec40501c3671546af9c95ac0d7 |
Hashes for pyinjector-1.0.3-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 305b5218dd42ba8b09536e4c06a85e2354f393d912ca811a46486f7dd18c50a0 |
|
MD5 | 075a4bf298206fbd6ff08b1bc54c262d |
|
BLAKE2b-256 | 2dedb350c7c09c896c05586a20caa337f59ca981f589c3cc0641c4f792f39244 |
Hashes for pyinjector-1.0.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52f15abffaf8f445001d2d2cc688a122ef2de6d918dce2193ee3792c50b58096 |
|
MD5 | 9dbb0b3212a46358a2dbb614e06a0680 |
|
BLAKE2b-256 | 8cc9e5224f4620a3c34cdf584cbe3b34d09d3f6a8198908b3a24d51e13348e15 |
Hashes for pyinjector-1.0.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af582154587ab0b949ada04a315676f3d6ddedcaf57fb0221f16d7cfe7a1b425 |
|
MD5 | 9fc4e9e003e3eccca6d083c4dbe8f1bf |
|
BLAKE2b-256 | 2dacb1632e8f771d0331cb9afe1d150b5078975de1cf7d80688e7ca0740fe68d |
Hashes for pyinjector-1.0.3-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ab761ba9bb1f452bdd66bcde6ca7ec02ee00008be6a12456862dacfca286085 |
|
MD5 | 7c2d3af56daa84fbbcb19b955cdb0430 |
|
BLAKE2b-256 | ee9b8d369af6fdb51aee85d8ca11f410de6e0b899c40694bf26b030bc920cf06 |
Hashes for pyinjector-1.0.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d54ce6e021206601e0b6fb3a947c54bed7fc8c711b4f6bb3fe30a2cf4a4e0577 |
|
MD5 | fd0c57a7ac6941a087ee75f7f34bdffa |
|
BLAKE2b-256 | 099494d2790526de5d310fea5c26c5ad1e7324af1690bacaaac346637e19efb5 |
Hashes for pyinjector-1.0.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d6bbf674fbc4ed446b2960b687681f0a1fc9d4e40c89056b12ce83da6c939b9 |
|
MD5 | 30e50c72179f3962b0e2aec6fc78393a |
|
BLAKE2b-256 | a45e9c7f2d735684b61e80750412c72c4e6bc7add6fa5e3a6340e6a117815495 |
Hashes for pyinjector-1.0.3-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 502d927589d334febb291485d2dbadf0bc4462d176f157cbe73ba867be973095 |
|
MD5 | 56c7d84cd9a2f257f9b2f73ccba53e29 |
|
BLAKE2b-256 | 863720cda7187f3c7ce4c750d1c5385a69428720ee26d5b71517b386b62d775b |
Hashes for pyinjector-1.0.3-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6016812b369c3c4af81ffc66b50c1d8d59e3687df0a444106243484a2538a13 |
|
MD5 | b5e102774ea580ebb74c54137b9744c3 |
|
BLAKE2b-256 | 5ba0ccd45d52923f58a717fa74d7921670837ae56e8629cfad9eef058358e28a |