# Process Memory Writer
`process_memory_writer` is a Python extension written in Rust using PyO3. It allows reading and writing memory of another process on Windows systems.
## Overview
The `MemoryWriter` class enables users to:
- **Open a process** by its executable name or PID.
- **Read memory** from the target process.
- **Write memory** to the target process.
- **Continuously write data** to a specific memory address in the process.
## Safety and Security Considerations
- Modifying another process's memory can be dangerous and may cause system instability.
- Ensure that you have the necessary permissions to manipulate the target process.
- Be aware of legal implications and software licenses when using this functionality.
## Installation
1. Ensure you have Rust and Python installed on your system.
2. Clone the repository.
3. Navigate to the project directory.
4. Create a virtual environment and activate it:
```sh
python -m venv pyo3
source pyo3/Scripts/activate # On Windows
```
5. Install the required dependencies:
```sh
pip install -r requirements.txt
```
6. Build the project using Maturin:
```sh
maturin develop
```
## Usage
Here is an example of how to use the `MemoryWriter` class:
```python
from process_memory_writer import MemoryWriter
# Create a new MemoryWriter instance
writer = MemoryWriter()
# Open a process by name
success = writer.open_process("notepad.exe")
if success:
print("Process opened successfully")
else:
print("Failed to open process")
# Open a process by PID
success = writer.open_process(1234)
if success:
print("Process opened successfully")
else:
print("Failed to open process")
# Set memory data to write
writer.set_memory_data(0x12345678, b"data")
# Start continuous memory writing
writer.start()
# Stop continuous memory writing
writer.stop()
```
Raw data
{
"_id": null,
"home_page": null,
"name": "process-memory-writer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "memory, process, automation, windows",
"author": null,
"author_email": "Austin Scriver <34779562+AScriver@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/d4/7e/1ada38b52eaf50c5fb895989cc51d9537ff90b20e166feba46fc17005274/process_memory_writer-0.1.0.tar.gz",
"platform": null,
"description": "# Process Memory Writer\r\n\r\n`process_memory_writer` is a Python extension written in Rust using PyO3. It allows reading and writing memory of another process on Windows systems.\r\n\r\n## Overview\r\n\r\nThe `MemoryWriter` class enables users to:\r\n\r\n- **Open a process** by its executable name or PID.\r\n- **Read memory** from the target process.\r\n- **Write memory** to the target process.\r\n- **Continuously write data** to a specific memory address in the process.\r\n\r\n## Safety and Security Considerations\r\n\r\n- Modifying another process's memory can be dangerous and may cause system instability.\r\n- Ensure that you have the necessary permissions to manipulate the target process.\r\n- Be aware of legal implications and software licenses when using this functionality.\r\n\r\n## Installation\r\n\r\n1. Ensure you have Rust and Python installed on your system.\r\n2. Clone the repository.\r\n3. Navigate to the project directory.\r\n4. Create a virtual environment and activate it:\r\n ```sh\r\n python -m venv pyo3\r\n source pyo3/Scripts/activate # On Windows\r\n ```\r\n5. Install the required dependencies:\r\n ```sh\r\n pip install -r requirements.txt\r\n ```\r\n6. Build the project using Maturin:\r\n ```sh\r\n maturin develop\r\n ```\r\n\r\n## Usage\r\n\r\nHere is an example of how to use the `MemoryWriter` class:\r\n\r\n```python\r\nfrom process_memory_writer import MemoryWriter\r\n\r\n# Create a new MemoryWriter instance\r\nwriter = MemoryWriter()\r\n\r\n# Open a process by name\r\nsuccess = writer.open_process(\"notepad.exe\")\r\nif success:\r\n print(\"Process opened successfully\")\r\nelse:\r\n print(\"Failed to open process\")\r\n\r\n# Open a process by PID\r\nsuccess = writer.open_process(1234)\r\nif success:\r\n print(\"Process opened successfully\")\r\nelse:\r\n print(\"Failed to open process\")\r\n\r\n# Set memory data to write\r\nwriter.set_memory_data(0x12345678, b\"data\")\r\n\r\n# Start continuous memory writing\r\nwriter.start()\r\n\r\n# Stop continuous memory writing\r\nwriter.stop()\r\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A library for writing to process memory",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"memory",
" process",
" automation",
" windows"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b4ae0439e1e5ac934f961ce563473e9d409d2fe1d43751cc8c6edc404049fb6f",
"md5": "f0f611eb55e78c90e42769db33ebe23f",
"sha256": "ebd0b639111e5db35d117a2eafc3ecf661fb939c2649d638c91dadb0477c7337"
},
"downloads": -1,
"filename": "process_memory_writer-0.1.0-cp311-abi3-win32.whl",
"has_sig": false,
"md5_digest": "f0f611eb55e78c90e42769db33ebe23f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.11",
"size": 136559,
"upload_time": "2024-11-09T09:11:51",
"upload_time_iso_8601": "2024-11-09T09:11:51.439783Z",
"url": "https://files.pythonhosted.org/packages/b4/ae/0439e1e5ac934f961ce563473e9d409d2fe1d43751cc8c6edc404049fb6f/process_memory_writer-0.1.0-cp311-abi3-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ef69154e09af965904ed1f82f9fd3c96faa58168c5d762b7959d5f4d9d206bf7",
"md5": "41fdaefa548445c156cb0df86366f18a",
"sha256": "d38a5ade9e2abc8db6a699f61376aafb649a1404b3ff7e949c66637692a47bd1"
},
"downloads": -1,
"filename": "process_memory_writer-0.1.0-cp311-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "41fdaefa548445c156cb0df86366f18a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.11",
"size": 144141,
"upload_time": "2024-11-09T09:11:53",
"upload_time_iso_8601": "2024-11-09T09:11:53.172207Z",
"url": "https://files.pythonhosted.org/packages/ef/69/154e09af965904ed1f82f9fd3c96faa58168c5d762b7959d5f4d9d206bf7/process_memory_writer-0.1.0-cp311-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d47e1ada38b52eaf50c5fb895989cc51d9537ff90b20e166feba46fc17005274",
"md5": "d6d56f18dcd08e4540b910a8ad0b4e8c",
"sha256": "2de655170cfa4fb9251264c87a42897158e8d878492f3009de59ad59b5423bf8"
},
"downloads": -1,
"filename": "process_memory_writer-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "d6d56f18dcd08e4540b910a8ad0b4e8c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 9008,
"upload_time": "2024-11-09T09:11:54",
"upload_time_iso_8601": "2024-11-09T09:11:54.323062Z",
"url": "https://files.pythonhosted.org/packages/d4/7e/1ada38b52eaf50c5fb895989cc51d9537ff90b20e166feba46fc17005274/process_memory_writer-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-09 09:11:54",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "process-memory-writer"
}