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.2.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b3be34192eaa559a311cdb644a403a82265001631edbceefac7cf501ada66e |
|
MD5 | d4cfa783de2937daf25016ba1d4c9649 |
|
BLAKE2b-256 | c97fdac7bdfd1e614352189d9831effd57d38e445f44d92f885f64d7ed492726 |
Hashes for pyinjector-1.2.1-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 332549803c12e7b803bc9b22033b49771cb874ff59a757df60dd68d84bc4f535 |
|
MD5 | 77130267ff890ec483062ff352945ebb |
|
BLAKE2b-256 | c680830d366cdae3e4471eb36662280143ad8c89d218f9a9363ff2d4fb32e2c5 |
Hashes for pyinjector-1.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 510c48b7c81cb0862b83d9de20363240af0ea4623fbe568c328623983b01b32a |
|
MD5 | c29000c8ec2d0185ea31db40ab4302b1 |
|
BLAKE2b-256 | a9f87171a395977adee9319eca6c579ad8c1cc310e8c16bbee5af2e1da8116e2 |
Hashes for pyinjector-1.2.1-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 537cf3282dd1eb7b9bb5555c1afbe4b371454aea021731db070fd30444ece60c |
|
MD5 | 33ab6bf830c740e05203215ea0f6c571 |
|
BLAKE2b-256 | 1eecce152401b31c86bc8ea8a0dcee6bca8bb2eb94063764ee938462b10d0927 |
Hashes for pyinjector-1.2.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f0654b5c7309e5770b6c6807393e1b1bf72eb314fdb734c9718b8869f4254b8 |
|
MD5 | 993ffb58c9020bc0aefc95d55b664395 |
|
BLAKE2b-256 | 053a06f66445ff24e707b08e42ffcdc966b4c76b13b12d0098e295521df2727c |
Hashes for pyinjector-1.2.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cbe060c0b0c746917e5558a2fb461d243f789f4f679511bf4e95d948d3ae94b |
|
MD5 | 2f4ac5e2c1092cf291bf23034b158397 |
|
BLAKE2b-256 | 3d6bdda591a70113cbd1508a06d947c15035fb9b431a21fe0838f4df61d639e1 |
Hashes for pyinjector-1.2.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 669e326b13958f936c537151fad8c2a57d4ac75512d00c97ee6d83b7520befd4 |
|
MD5 | 133eceda6548b553190ba9bfa1c45add |
|
BLAKE2b-256 | 9c886940cc92884c3bc043ae53a0b8372d4c2e420244fd3265e413379f7e91b5 |
Hashes for pyinjector-1.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9db9b5b04f7017bafe5c88a9b3fabcd41261093769ad1d208c5f7810d61e83a5 |
|
MD5 | e8a015416da5c98b1d2e372ca6da9c32 |
|
BLAKE2b-256 | 7d0294ad119cb9b8145463bd6b88a7b0c3dce910af82fdd6ca9c5b003c5cad4a |
Hashes for pyinjector-1.2.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a31edac779a7e10bbd10beff44557ac0010eedb807322e090c922422711d612 |
|
MD5 | b3918b48406012720e682b223c17bff8 |
|
BLAKE2b-256 | 64d65cbfc6d44fcef3b384393acb38294ea5046de8eb47ad8a8f268b91003b2f |
Hashes for pyinjector-1.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24a840d1b2824d6386db75abb821fcff686383b2bcfeacc979ed0b469fa41ce1 |
|
MD5 | 7e1d68efe52e06557dcec700cbf5cd96 |
|
BLAKE2b-256 | b0d8a19fd93551e987fd834f080c58101d648cec3799e138e853c3a6248223a9 |
Hashes for pyinjector-1.2.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2253f9b8e189310ff30939f5fc64a80ff06aabce851a733a9e8f076eda0283e1 |
|
MD5 | 035d307da30db4b9a724222a2cc7014a |
|
BLAKE2b-256 | 0ea516a39e8ad30d7b74a60effb4746f8b7f560adcb2dba5c0289bc9484f0fbe |
Hashes for pyinjector-1.2.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd3dd87f6cf599d166a77c265bd95c154b30ba0342a7b822a8c7f20852f39567 |
|
MD5 | 72fd5dcb071e28944dd69d6f92a8d320 |
|
BLAKE2b-256 | 7f976b526238377e00bb153a24dd7ffcfef0ba7d1bd5a16fab598b43ba9d9305 |
Hashes for pyinjector-1.2.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1b2e8e9412486dcbb65440326d1085065191e41d9aa81caa591252ee6e4c49b |
|
MD5 | 5a2c0a72f1b21e10978a4430e07d26b5 |
|
BLAKE2b-256 | 1935ffdf27825ad5b60eba3920d955fc8ec1d7eadac90faf80a22b5745cd7488 |
Hashes for pyinjector-1.2.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3547059bfa97a73a5b233f7e2207c3f55247af22eee775c2b4a38d7880a52e5f |
|
MD5 | 2180df993535ac8b82a39364087b9f5e |
|
BLAKE2b-256 | 9b7439fb169aed046177edc88e8235117a6350d2c1bece1cdd7432401d7f79f7 |
Hashes for pyinjector-1.2.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f1de6774b318d814fafe387482ee98a829f04d86b6b5924153016a303d2c01c |
|
MD5 | 0264d6456324f9f0c41af44f7d92f80c |
|
BLAKE2b-256 | a92dcf77da1db4c41b8786dece726b916b290b995fdf909cf303d8dbccd29a40 |
Hashes for pyinjector-1.2.1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 563ab63fab37d02916d85718b7b7f75a3274704a4892fa472e9fa2608dbafd63 |
|
MD5 | 6c9f59c3f46e44cda343045aa59bf12f |
|
BLAKE2b-256 | f5bedb303b5e9bca56f9f5f6a0219aa2505d40701584c8dfb3e776a258ceb626 |
Hashes for pyinjector-1.2.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92f131ea96d0ac8faad9000d6f4fe121ba6cf9108b330cfde9f658903429d8d1 |
|
MD5 | 549e7c1f074bd218e6104317a6f794a4 |
|
BLAKE2b-256 | 6c3a32919394b733d69cc725a3522f54c0305521fd511b1db4dceed997d318f1 |
Hashes for pyinjector-1.2.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf2226cdfd33714c7e23789d9a61cd9efcf3a0ac0c8bfde84ed746f7810fb816 |
|
MD5 | 4c541849b2eeddade77ea918f27afae0 |
|
BLAKE2b-256 | f8e1293035bd60fd293fe1791b44ddd819091214b7e57793577a123accf671d2 |
Hashes for pyinjector-1.2.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34717170eb088b1ccad97db01419465b82d7a36714aa7ee1a43e4cb4ba53eeae |
|
MD5 | 5af405e17cf505efad12e7940d6033ef |
|
BLAKE2b-256 | 00b057a0022452c56142a44e05998fe2d10ba350b81f7358014f10b8bf45fc45 |
Hashes for pyinjector-1.2.1-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77148674626752bd265b5a4a825dd3b98677a69fea5215d1ffeaf86f2498eafc |
|
MD5 | 892bd0bd0b9d00b079181232e03455fd |
|
BLAKE2b-256 | 567c2722fd36c69f49ed9ce72a0df41e7b4e2b326c003daecde4b7c82b3794a1 |
Hashes for pyinjector-1.2.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c19cc3ef078f102976db8a090c2826b57cc37ebe570e81bc0694be9d5d290288 |
|
MD5 | 6bee10b6fa4c3a8dc167e971a9a66c82 |
|
BLAKE2b-256 | e1231d9bdbe2e97cb2a5ed8861b083ff690efdd7d13fb57ef84f1aaa627166e6 |