pyrasite 是一款基于 python 的工具,能够注入代码到 python 进程中。
pyrasite 能够在 2.4 版本后的 python 运行,也就是说它能够兼容 python 2 和 3。
gdb (版本 7.3+ (或者 RHEL5+))
如果是 macOS 则需要签名的 gdb,参见 https://sourceware.org/gdb/wiki/BuildingOnDarwin
你可以下载针对你 linux 版本的 tarball、RPMs、deb,也可以直接通过 pip 进行安装
- pip install pyrasite pyrasite-gui
图形化界面的 pyrasite: https://github.com/lmacken/pyrasite-gui
- usage: pyrasite [-h] [--gdb-prefix GDB_PREFIX] [--verbose] [--output OUTPUT_TYPE] pid [filepath|payloadname]
- pyrasite --list-payloads
- pyrasite - inject code into a running python process
- 必要参数:
- pid 要进行注入的进程ID
- filepath|payloadname payload文件路径或者是已知的payload(参见--list-payloads)
- 可选参数:
- -h, --help 显示帮助信息
- --gdb-prefix GDB_PREFIX
- GDB前缀
- --verbose 详细信息模式(啰嗦模式)
- --output OUTPUT_TYPE 控制payload输出的形式,默认情况下是'procstreams',输出会被发送到进程的stdout/stderr。如果值为'localterm',输出就会传回显示在pyrasite运行的本地终端。
- --list-payloads 列出pyrasite自带的payload
需要更新请访问 https://github.com/lmacken/pyrasite
来源: http://www.tuicool.com/articles/NzumaiI