Skip to content

kmaork/hypno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. Mac users will need to use sudo for the second command.

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().