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
), Linux (ptrace
), and Mac (task_for_pid
).
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.3.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895bab287d9f218ee069f9c5265afda04c0bc7af59a974400d0e980cdb8efa06 |
|
MD5 | fad93c06699bf3b52b379937d1277626 |
|
BLAKE2b-256 | c3b81ccd52dbc2555a7a5933dd8bd05d15aed8614e531d06c0611b34a3fff180 |
Hashes for pyinjector-1.3.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b31767b7584d2dfd12abb07f4309782b8e693a71e7719b79452dfd628a324b0 |
|
MD5 | 7da9d520c0cf7ce0bca0c13c0f147e76 |
|
BLAKE2b-256 | 082d10f4eaaf05fc10414771d06694e62c3e1c1454f7be8e64fd1d43cf7e2c23 |
Hashes for pyinjector-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5731d3ddf276117138b4f85d9b2c6f4bf2719be64f5a31d17a66512bb7bd1239 |
|
MD5 | a4aa1b7efa642228a7d9800db1ec5c09 |
|
BLAKE2b-256 | 319a9862b1c6d2042f4ae875897e21d4b3fdf744ad6f2d3358333baf952e7144 |
Hashes for pyinjector-1.3.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4888a76cef03ab07697b690bc4aba453efde12f24469e17bd0b8f4f71f090af |
|
MD5 | d247956b8adf489abc432aa01bcf88ba |
|
BLAKE2b-256 | bb8c5c7ece580d43b012a57fb8056ccaa055a7d90c1600301b4a7975e14cb036 |
Hashes for pyinjector-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e62b6ea0e621749a5d6aa2a7ca457a54051c886614e0cbb41a1f7d1ecbab9e6a |
|
MD5 | 9f187d86fda022baf68aa1b47addc828 |
|
BLAKE2b-256 | 9a5ea16c05052dd27b3f9264245a0faeff3e50f967c702e3ebbe63ab58000fe0 |
Hashes for pyinjector-1.3.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91176d54901ef21d5b6da869778a814e6a4052eb3a1410492bb442cec367cb67 |
|
MD5 | 400ad3cfc054b039c5c8e2f139e7fe5e |
|
BLAKE2b-256 | 2318277729e5365a678a369eae3d683e256507b4810b28846c309f9a15bc3e0d |
Hashes for pyinjector-1.3.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03ffac2dd41fd16f9f953eb172a74f2c8c1168b312579b2c22cc6a69d6b0b93b |
|
MD5 | e5b999141a252e861f609bf7cfacfc01 |
|
BLAKE2b-256 | e732294596a1aa0ecd7e21c866ae74a5a229a09e3de9f4c2db78cd3144153a80 |
Hashes for pyinjector-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ceac38da74068eeaba8e545541bb1b583db731745364687b5bdf05c3ca78f91 |
|
MD5 | f7557c36b264b9de507835a01a507581 |
|
BLAKE2b-256 | 8efef77cb3ca4ee285a16f1bee3709f94f6f95f08590f5be0d56b5d8755af282 |
Hashes for pyinjector-1.3.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75d187e86d85ee8289d6f0233f394aba65bc6b31b1972f21aa7005617617ad56 |
|
MD5 | 9995a7a212e23941091b3b64bae688fa |
|
BLAKE2b-256 | cde44be9c34eebd55bf6b8b8ae70fd04c10c9e9cb95c78192d06c6e3d71cc87f |
Hashes for pyinjector-1.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc1e6d00f6d2661b6e205ef200e7b5a7246b4a3eacb61b788264e349e7d9b25b |
|
MD5 | 0e48e7b329c7186253fcfca9722a53e6 |
|
BLAKE2b-256 | a533362acacec8b5615f2f9f7e4df10350e216e4594441636818383daff3d051 |
Hashes for pyinjector-1.3.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 241a2cadcc5cfe603cc9cf92b2dd445a118e270b3005d420aa267649326071f7 |
|
MD5 | 969881abe26a3fd399270cd397bfefaf |
|
BLAKE2b-256 | 9947b1e66731dcaf88374c95456419d334978adf6fdac61cdb38d5d45c403fda |
Hashes for pyinjector-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02127b573fd08194e95175cfe46e9adc50dfb18a1282df2e8262b1e5b975fe0d |
|
MD5 | 7cdf3e5253d8c759143b3249330cb0e8 |
|
BLAKE2b-256 | 99e51689a6a9216674b25bd914c2960c67a62ba293e30a859301685eafe9d4d7 |
Hashes for pyinjector-1.3.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7b149cef0bf4824eb42672b4e500b8f6f093f5bf6d1f533b00fb72d226b5cb9 |
|
MD5 | b1b460616cd8c81520adae12f9165ed1 |
|
BLAKE2b-256 | 984cf9af02be6d0c821056bd7b99d7a82468a064669a3ea43c75ce70b96fe8cd |
Hashes for pyinjector-1.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4d295a294c32aa5bc42002fdb4bac4347bc27a1cda317ac3fc90b6c40690be2 |
|
MD5 | 105d4d42dcec8e41e786089dc6094cd4 |
|
BLAKE2b-256 | b3f9c85680d0694d718c2ec1f7c6fe2ec41e36f183246acbe12e829ce85b0fe9 |
Hashes for pyinjector-1.3.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c75dab079c3faf0aa0fe3903606824d8fd5c45c058853fb686b90795c527e59f |
|
MD5 | a10c0ebc5b98fe85de8ff25a3b81fdf4 |
|
BLAKE2b-256 | c695cf55ca938681fa7a2b447c24a1e33e4aa35781be538e82c3ed0cbaf32c6a |
Hashes for pyinjector-1.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5422f3f26fc1008868e71c917d474ce27da0810ae222cfbfe09a303c7354d984 |
|
MD5 | 0f7318ae8abedf4179ecaec1342061e7 |
|
BLAKE2b-256 | faae1e5aa273ed18f98da3be90f76a77ecc5e0b8b06176da492fba718b4b20bf |
Hashes for pyinjector-1.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 691cb1a032606a7996ef367825ecaa09ce09bedb92c4e08ae9cbdb245bb6dcec |
|
MD5 | 9e429bd74bd6abae8e1c6151289216a2 |
|
BLAKE2b-256 | edd5157a6cce0096a1a1c93c5619c21074b5773b0fcad26b853fd9835a2b27cf |
Hashes for pyinjector-1.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5726dec8040a248ce958bedba61673669f7afe8d9d36c0c711630449a2df1f70 |
|
MD5 | 60cba80172742f83e98b22913aff55c0 |
|
BLAKE2b-256 | 3e5bdf4572f3efa9bf4fbecf1eee40605ac86f1fd2b9cd848bfea8c0a5aa0f23 |
Hashes for pyinjector-1.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98bbef6b869680fca5b8a5315bd9099ce9e93bf41f9e166bd0ef3b54ff731212 |
|
MD5 | 4d66b7fb9245f35c3990eeb1aa00af50 |
|
BLAKE2b-256 | c8d3674b14a8fa3b8d3e6231ed733221259b7ebda2a0708f3d6662035048954f |
Hashes for pyinjector-1.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09c8e07faeb9dfe8615ec52d7bb04d22a8804d4d99299f04c4e2c90b42e875d3 |
|
MD5 | 4e446b1365016149962e078b87466029 |
|
BLAKE2b-256 | a552fe344fb91b460903f96be71b5d4c286990a0d6846d93e2f8a59a848d92cc |
Hashes for pyinjector-1.3.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34ec2154b6a1261d3b507dcb45fe2a061a283d5f3f08d95be368b2bb216da034 |
|
MD5 | d058e37b25a518cb333b289382ab5604 |
|
BLAKE2b-256 | 6d015c59b1a6834c1cfe3c5bf66f9573f8f5415fe899817cdf66cfc0696de5d9 |