Skip to main content

A Python library for memory dumping

Project description

PyMemDump - Python 内存转储工具

GitHub license GitHub stars

PyMemDump 是一个用于转储系统进程内存的工具。它支持按进程名或PID指定目标进程,并将内存内容导出到指定的文件中。该工具还支持并发导出、指定地址范围导出、多种内容格式化选项等功能。

功能特点

  • 多语言支持:支持英文(en_US)和中文(zh_CN)。
  • 灵活的目标进程指定:可以通过进程名或PID指定目标进程。
  • 并发导出:支持多线程并发导出,提高导出效率。
  • 指定地址范围导出:可以指定内存地址范围进行导出。
  • 多种内容格式:支持hexbinascii等多种内容格式。
  • 详细的日志记录:提供详细的日志信息,方便调试和问题追踪。

安装

通过pip安装

pip install PyMemDump

从源代码安装

  1. 克隆仓库:

    git clone https://github.com/yourusername/PyMemDump.git
    
  2. 进入目录并安装依赖:

    cd PyMemDump
    pip install -r requirements.txt
    

使用方法

命令行接口

PyMemDump 提供了命令行接口,用户可以通过命令行参数灵活配置导出选项。以下是一些常用的命令行参数:

python -m PyMemDump --help

示例

  • 全内存导出

    python -m PyMemDump --process notepad.exe --output ./dumps
    
  • 并发导出

    python -m PyMemDump --process notepad.exe --output ./dumps --concurrent --workers 4
    
  • 指定地址范围导出

    python -m PyMemDump --process notepad.exe --output ./dumps --by_addr --start-address 0x10000000 --end-address 0x10010000
    
  • 扫描内存地址并保存到JSON文件

    python -m PyMemDump --process notepad.exe --scan_addr
    

Python接口

你也可以通过Python代码直接使用PyMemDump的功能:

from PyMemDump import MemoryDumper

dumper = MemoryDumper(process_desc="notepad.exe", save_path="./dumps")
dumper.dump()

国际化支持

PyMemDump 支持多语言,可以通过--lang参数指定语言:

python -m PyMemDump --process notepad.exe --output ./dumps --lang en_US

目前支持的语言有:

  • 英文(en_US
  • 中文(zh_CN

日志记录

PyMemDump 提供了详细的日志记录功能,帮助用户跟踪内存导出过程中的问题。日志信息会显示在控制台,并且可以通过配置文件保存到文件中。

注意事项

  • 确保目标进程正在运行,否则会报错。
  • 确保输出目录存在且可写。
  • 在某些操作系统或环境中,可能需要管理员权限才能访问某些进程的内存。

贡献

欢迎贡献代码或报告问题!你可以通过以下方式参与:

  • 提交Pull Request
  • 提交Issue
  • 编写lang.json文件翻译

许可证

PyMemDump 采用 MIT 许可证,详情请参阅 LICENSE 文件。

联系方式

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

pymemdump-0.1.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyMemDump-0.1.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file pymemdump-0.1.1.tar.gz.

File metadata

  • Download URL: pymemdump-0.1.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for pymemdump-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fdfd6684b281172a300f465cfbaba2f592ccfb6db08026735ac02942eabbbf29
MD5 84bbb9265d58a1b96af5538a0c556dce
BLAKE2b-256 ef6808c3cdf1dc8088bd1744cf26ebfc2194b7d99b1c8873cae53f29d513cc04

See more details on using hashes here.

File details

Details for the file PyMemDump-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: PyMemDump-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for PyMemDump-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ff9491c1bc23a09d45719846770e4c9643d75ecf7afb5b2761ed893f017b70c7
MD5 0ba201c88a34390494be70c68f142149
BLAKE2b-256 cb937eaf4f51148d2bef410dbaeaa1ebd37ed60b7f87f0b2f047f59cd244a5dd

See more details on using hashes here.

Supported by

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