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.1.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb2c54b30438ca00ab739fb3605dee074ea077859eab27fa1a47585e4859fdbc |
|
MD5 | ba50ba4f2b4abcf1e8110cfb0c6a2992 |
|
BLAKE2b-256 | 82b19bce60e03c0a2fa97f952c494d06d31a3ef4261a42649ddb66cea1e16cc4 |
Hashes for pyinjector-1.1.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b22ef596513a4155064e921c1c74a7b5459d7f0e120379d64e9dac3ebaa1b04 |
|
MD5 | 64fb7a285649b030b96d32fc26ce9ca9 |
|
BLAKE2b-256 | 7bb48a6f8b9c2fca3b8153ec64839c1ed3f89e4d9dd6521758ef4df9ee94cddb |
Hashes for pyinjector-1.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 531dfd81e22f7e34278dca3d14981fc0d9ca3a183ecedd081b0ae70b05655ce2 |
|
MD5 | bdf359edaba3fe9a89542f11dddf7834 |
|
BLAKE2b-256 | 98347d962c2e62e1ba274c959989ed270352537a68ec8dd586b018199301124f |
Hashes for pyinjector-1.1.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bd229b52987da5de7e3b4a56f7cca196545a9e3989e91d50385adf50df0e515 |
|
MD5 | 7726cf8f52158484f357fe59b6cc17a7 |
|
BLAKE2b-256 | 93d5a6731647943c53f58a5851f0cd33b887c758fba9f07490b0a5bd356ac54e |
Hashes for pyinjector-1.1.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce07238ba69c40187cb9bb52a312ea7498404dc49deb4a60a409441b2c70fad0 |
|
MD5 | dc059965068ca4ee2558d4052ed49f0d |
|
BLAKE2b-256 | 3cc2490a0119554492f7af446c4c5a711bd9b08957a01ee75365d76267512089 |
Hashes for pyinjector-1.1.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a41440c9f04f94e121ce5bca2a0b3dc04f36aeb5b8adb365f24afa725c37e31f |
|
MD5 | a5a23e3a5233264544ca584fa807d82f |
|
BLAKE2b-256 | 28b74dbc8810709b40ccdcca32d5be7b4707615e22f45794ed19d926c325b30e |
Hashes for pyinjector-1.1.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0c580606d6ab8b51d596c836a8c2be9ab0df2786ab32e18de88523a82b40a80 |
|
MD5 | 6c2669624ac30a38d822acba8c291632 |
|
BLAKE2b-256 | f67b5acd318c7e05b2be1a64bb728019370b143d655b0aeb9060f4d106857554 |
Hashes for pyinjector-1.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b92fbd7fd284ceb8cf667614cc2f6d1d6119ab94a8edcc345b41e8dad8677d2 |
|
MD5 | 8cfcdedb3f69c0199568fd1579d26d64 |
|
BLAKE2b-256 | 62b43719e7e51f08336596f03a1e2ee8256b40dddcbd4e81e6ca909f9609ea20 |
Hashes for pyinjector-1.1.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0afc6e2ffdd58521c323fc5ffa87ba0f19fb1e76159476ce59e8bf8d11c1b618 |
|
MD5 | 3abcdee34140d7ea21cb459f38b7324b |
|
BLAKE2b-256 | 0f15f21e9208f65225a151547293a0f92eacd85c8d60bcf316c68fe6e3552233 |
Hashes for pyinjector-1.1.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b768f29151b784ffd22fcbc80499d4c38434901f87c7352940f2ba3cb67915c2 |
|
MD5 | 1adb7ac43ef017384ce924129906e39d |
|
BLAKE2b-256 | 9b4ad858aa014cd2506742abd39df19f5dcf4f32c86151a5643a091441ab7daa |
Hashes for pyinjector-1.1.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c36f17b3d675d0108d336f10440a323a59d6ef1cb4c2bb0efbe6b7b0d8356f0 |
|
MD5 | 2dc43b53f40ac8809a7811954dacbb74 |
|
BLAKE2b-256 | 1fcdf4131ce6def4129cfff5199b4fabaa594a2da2ad1cd33313bd496c8e16ca |
Hashes for pyinjector-1.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60e762706438a01d3be725b0a77df792d58bcc2e6d03588447bc818f9907eb9b |
|
MD5 | b28efa16deaebe87d56cfdbd47875745 |
|
BLAKE2b-256 | f7e7fe594795f968d4ae924616bf01695aac30377a51245b4c27cb92af2fdea6 |
Hashes for pyinjector-1.1.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08121c61ff59f5ecbd07e45481519a5cc65143f6249981b094fa4f7cfd3e94dd |
|
MD5 | 7ab8d55c696b145df935e02c46dabe82 |
|
BLAKE2b-256 | c65fcf532cc4d5e50d1cdfea18548ac99432fff64fdeca1fee82e36a34167a65 |
Hashes for pyinjector-1.1.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cd0151af3302412a09632005e2e3ca9dac1b41948006cc70cabb98424e374ec |
|
MD5 | ac62f80e9e29b6fc651a88a90f1187b3 |
|
BLAKE2b-256 | 4a8d22f15d6735b15469e6c42d75324438f98e3e26317eee6df20cbfc1f35da8 |
Hashes for pyinjector-1.1.1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ccc8e94a7946052dd69f0e8aee656514404fe99a8c8d7bfbda11daaba48d62c |
|
MD5 | a18a1a79a131b49d495a0ddc2d0deed2 |
|
BLAKE2b-256 | 9de61b18a17b5bc320aee30f84c4a1030c90a880d72606c2c60b699c94ab8cbe |
Hashes for pyinjector-1.1.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02dc581794a8913db510854c5e3544cfe696d2a47f36a5acafc04e071044e8e3 |
|
MD5 | aca36c6f853e6e8ee1bf709516f1582c |
|
BLAKE2b-256 | cbb259fde46c732f3c08054d036514e98a8936b0b1e91c34a93950bc4fff01e3 |
Hashes for pyinjector-1.1.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4752887b5e18b7113b0ece186cc302b79d5477b3037dfd094964c8bdf796ec5 |
|
MD5 | efe9cba50750f026e344cde06ae73f83 |
|
BLAKE2b-256 | a43c66f7188e180d3a73ae38cb755a4e720cd5b0038bf3b3c8f77fa5e295aa80 |
Hashes for pyinjector-1.1.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5a367552aad7b40fbe3344873827fc7f9f5a4438b7a47e64494b87f51113aa6 |
|
MD5 | 4c3165101eb649b89a2ca28f779df397 |
|
BLAKE2b-256 | 4da4c51ab85dfe4ea16c114cbbd5bb54300f5961d6d76f373fec3c4a15dfca37 |
Hashes for pyinjector-1.1.1-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0657e46d2a7b74edf7e1bf8d95c38b88836df3c4c527d2906c676e971b3f9eee |
|
MD5 | d7d4fbbb63a0e88d22a023116491cd31 |
|
BLAKE2b-256 | 974000e628007db93808769d131e2d9b0e4e7d4c301be9b4745a0ab4b6de3891 |
Hashes for pyinjector-1.1.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3264c8f8a3590a3427c4d8c314ad14adee2392193f7195e6d7c3686a3f943364 |
|
MD5 | caf049f3b47b475b4a2e66d620b60300 |
|
BLAKE2b-256 | d19dab6f0215e5a4a12446cf332c961fd7dd672b1d41fbdb3789026c33201ea3 |