Skip to main content

A tool/library allowing to inject python code into a running python process.

Project description

Hypno

PyPI version PyPI Supported Python Versions GitHub license Tests (GitHub Actions) chat

A cross-platform tool/library allowing to inject python code into a running python process. Based on kmaork/pyinjector.

If you are trying to debug a python process, check out kmaork/madbg.

Installation

pip install hypno

Both source distributions, manylinux, musslinux, mac and windows wheels are uploaded to pypi for every release.

Usage

CLI

hypno <pid> <python_code>

API

from hypno import inject_py

inject_py(pid, python_code)

Example

This example runs a python program that prints its pid, and then attaches to the newly created process and injects it with another print statement using hypno.

python -c "import os, time; print('Hello from', os.getpid()); time.sleep(0.5)" &\
hypno $! "import os; print('Hello again from', os.getpid())"

Security

Hypno briefly generates a temporary file containing the requested python code. This file is given 644 permissions by default, which means all users can read it. To use custom permissions, you can pass the permissions argument to inject_py().

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypno-1.0.3.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distributions

hypno-1.0.3-cp311-cp311-win_amd64.whl (10.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

hypno-1.0.3-cp311-cp311-win32.whl (9.7 kB view hashes)

Uploaded CPython 3.11 Windows x86

hypno-1.0.3-cp311-cp311-musllinux_1_2_x86_64.whl (12.6 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

hypno-1.0.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

hypno-1.0.3-cp311-cp311-macosx_10_9_universal2.whl (8.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

hypno-1.0.3-cp310-cp310-win_amd64.whl (10.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

hypno-1.0.3-cp310-cp310-win32.whl (9.7 kB view hashes)

Uploaded CPython 3.10 Windows x86

hypno-1.0.3-cp310-cp310-musllinux_1_2_x86_64.whl (12.6 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

hypno-1.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

hypno-1.0.3-cp310-cp310-macosx_11_0_x86_64.whl (6.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

hypno-1.0.3-cp39-cp39-win_amd64.whl (10.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

hypno-1.0.3-cp39-cp39-win32.whl (9.7 kB view hashes)

Uploaded CPython 3.9 Windows x86

hypno-1.0.3-cp39-cp39-musllinux_1_2_x86_64.whl (12.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

hypno-1.0.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

hypno-1.0.3-cp39-cp39-macosx_11_0_x86_64.whl (6.6 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

hypno-1.0.3-cp38-cp38-win_amd64.whl (10.1 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

hypno-1.0.3-cp38-cp38-win32.whl (9.7 kB view hashes)

Uploaded CPython 3.8 Windows x86

hypno-1.0.3-cp38-cp38-musllinux_1_2_x86_64.whl (12.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

hypno-1.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

hypno-1.0.3-cp38-cp38-macosx_11_0_x86_64.whl (6.6 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ x86-64

hypno-1.0.3-cp37-cp37m-win_amd64.whl (10.1 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

hypno-1.0.3-cp37-cp37m-win32.whl (9.7 kB view hashes)

Uploaded CPython 3.7m Windows x86

hypno-1.0.3-cp37-cp37m-musllinux_1_2_x86_64.whl (12.5 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

hypno-1.0.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

hypno-1.0.3-cp37-cp37m-macosx_11_0_x86_64.whl (6.6 kB view hashes)

Uploaded CPython 3.7m macOS 11.0+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page