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.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56c528c30349f4c8e9cd95d4fb7d1c0297d35e4596129499ddb592a02c93638c |
|
MD5 | 339ff79b23a6fb88925d0ee1d05008b1 |
|
BLAKE2b-256 | 077aa15434cba0fde16b7c1c776487061e33b6634b87702d7e5f5bdc35e3bb7c |
Hashes for pyinjector-1.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeaaa4db6195391a594346ad83dc360e342e4a7b0e3c08b96034f269a27a57a5 |
|
MD5 | e715b2e1297b3a12f1efbf12c87c94f0 |
|
BLAKE2b-256 | d5c081464e09c30e7a1da75c7143a7993500fa0ed509f1c3680540ce82751360 |
Hashes for pyinjector-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a73f6459f5bae666753b54c89ecd53264820b6b8371220696ab4b91432c4bdeb |
|
MD5 | 24999d4a9c05fa811b9c34931f700291 |
|
BLAKE2b-256 | dcbdd84b5f31b1f02b2343c4a76cea081db7b866a8267e69256bf5da9261f5d7 |
Hashes for pyinjector-1.1.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d28ef333277a27ad0f32ce80fd5eb94fbd780575d9e735831c066afeb205cfe1 |
|
MD5 | 5ca418d4b5936bcd3bdc06718cfb5dd3 |
|
BLAKE2b-256 | e77ccaca38540e6c7e8ac776741b1c71f0cd5c22b543c18cbe5752f92b43cf7f |
Hashes for pyinjector-1.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22353ef75e44f69f35d6064bb7ba57852c7861ab3c52385557c29a0f3f720eaa |
|
MD5 | 606d4ce20c0c06f77c94dc661598a3af |
|
BLAKE2b-256 | dd7cc078cd849cbdd0399aa036d0d0ab6983b433ca2b0e83ebd78f3a1f4462b9 |
Hashes for pyinjector-1.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6510378b9ca2f4fe2158e70ee932547d0385d83b77e91e1b4426905e67cda107 |
|
MD5 | 0546d00393dadab9d66ec99f9f83f832 |
|
BLAKE2b-256 | 40e179596ee9972bb765873316206c12c4c34fb716875da454d711be08d36e80 |
Hashes for pyinjector-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7c6cf6440aa83d3cc5b31aed5b3e42d7a1ea1cfd8f08a4d6dde4ccce45bf7c5 |
|
MD5 | fa5a6a16c62ce29bca56646bb04b8c51 |
|
BLAKE2b-256 | 38d3cc25dd3ccd2d4d3b1b99dd996e7dd2a404bbf94df0d2316f02b8e8dfab39 |
Hashes for pyinjector-1.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8307cbf448d07628f5e02715df7d084617f338a07d750e282a2b313aa4c03a7e |
|
MD5 | 928066469775181a082fd4b56f5db66a |
|
BLAKE2b-256 | 1043acebb92f85628776d74c2bc6b7987683145a561110c26623d77f4d1591c6 |
Hashes for pyinjector-1.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f72eb07ab79b4ee2260c52bef64a45447c7a25472cd12cc053ee0965ca63893 |
|
MD5 | cc583132af693b2e301cfa548a55e928 |
|
BLAKE2b-256 | b49cce793ec68a73c424c251859d0593111eeea6cb4daac797b7c03c1c84b873 |
Hashes for pyinjector-1.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 191a6484e2929b7d85df622678c1467500a706fc3cc61448c3ea9d8d75128da0 |
|
MD5 | f0d48eaabf7b7e5e36499be04f7e5d04 |
|
BLAKE2b-256 | 152de441577decfb79c8d8a2c8de936141b27504909f9a19ec0b5a3406127d26 |
Hashes for pyinjector-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 677282148dcce0158dff7d6d35941d5327714f936f4f670ead775b54307c64cd |
|
MD5 | d75c4c2468da984c08d56613a67e7e6d |
|
BLAKE2b-256 | 47447fb4d71713a9b99ada65e28b96edd1ca8fbcedec5f537909b1f5ee003113 |
Hashes for pyinjector-1.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c10dfcbe5d8c00cf7ae38cf79745d2c98031972670f5cd9ea41ee3a0a09949a |
|
MD5 | 98cba8e7ab5e6766828a56dfaba0aaaa |
|
BLAKE2b-256 | c1eb386c64225b5b7aa2fba9a59f187f58b05dd2032d2d7c4a90f6cb5443f78c |
Hashes for pyinjector-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84bcfccadc69962cbbab2afcb8209f5898926cccc351bbe53738c8f1fa9702c1 |
|
MD5 | 63b952298073667d14e5455a2ceee95b |
|
BLAKE2b-256 | c178746562a3be00261fb0a89e6c208ff7a7ed356f15dff62b8848bfb7f74c12 |
Hashes for pyinjector-1.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e1b809feca20a649746853f12b53006ce4bbe352962e30d72efb4ddc7a5acb9 |
|
MD5 | a8456096a946f9f9e44887b15a1f83f9 |
|
BLAKE2b-256 | e5bb5ecc1123dc7109ed95a6fcc68a0c8ed07e853aa9f894bf72058a69a0bd34 |
Hashes for pyinjector-1.1.0-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0db6c68157c7a8b8351510584c463d3621be202ad145001381e9973a2dc79e07 |
|
MD5 | e612463784ca3bd951c71d8b42a2dac3 |
|
BLAKE2b-256 | 09a00eb8c21eeb1e575a3f0044f7974c396e3261a51ef2136181ac28f8ac0a3b |
Hashes for pyinjector-1.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4389c77c2583b7eaf956c8f5e727f564e065ea858c96f2dd441d45de735b9522 |
|
MD5 | a544ba89271f82478d56e6be32309dc4 |
|
BLAKE2b-256 | bbab38595e8ba2ae8a13c79e6623b3f270979da6f73a65f486994577b2182423 |
Hashes for pyinjector-1.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7558b9c4e359471e7eff0fcffc1e56a43016b21a547fce1f8257bc140944571 |
|
MD5 | 3c6ee0a03b33f669d7698ed3b3140c49 |
|
BLAKE2b-256 | b714946affe50f6931ab7458a793dbef97ad2f7746476da9ec18f0c66935b667 |
Hashes for pyinjector-1.1.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c98d8455d293019490db692dd4b284c1c826827ff2d9e9186824b20de5f40d92 |
|
MD5 | c9c6765291246c6401c4a8d105a8f440 |
|
BLAKE2b-256 | 58f8b3358722ebd6cca69fa61ba192088b41ec831de5d32be7f69b99c2ebceca |
Hashes for pyinjector-1.1.0-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dabdee75f1e886ced9bbeb7d7970e9c1ef867a240bd8c93e34f20b9baf1ad359 |
|
MD5 | ab163d0dfde118966413adbd5700a8c8 |
|
BLAKE2b-256 | 2adbe14253bd65f88c93a185c0268a7fd9d1b296755086e0486b07df0f667592 |
Hashes for pyinjector-1.1.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 827ef3c681f4ebe0da4d870de1b07cb3b0089a8f88d0b07111aa3aeed2ac4cb9 |
|
MD5 | 228ca6342c89e0dbe3c3a877d5886cea |
|
BLAKE2b-256 | 7722a653f3f559251bc65ba77b6f295feaf78953bb3b58f8b59ba4d3d9ab2297 |