Skip to content

v3.4.0

Latest

Choose a tag to compare

@JeanExtreme002 JeanExtreme002 released this 12 Oct 21:24
b1c7d60

What's changed

A safety release. Reads and writes no longer silently reach the wrong memory when an address falls outside the address space, and the MCP server no longer flips the sign of a mistyped negative number.

Changed

  • An address outside the address space is refused. read_process_memory, read_process_memory_into and write_process_memory, plus free_memory on Windows and macOS, now raise ValueError for a negative address or one past the end of the address space. That is 2⁶⁴ on 64-bit Python and 2³² on 32-bit Python. Before, ctypes masked such an address onto a different one: write_process_memory(2**64 + addr, ...) wrote into addr and returned normally. The typed helpers (read_int, write_float, ...) and RemotePointer go through these methods, so they are covered too. The error is also an OSError, so code that already guards a bad address with except OSError keeps working. Any address that is actually in range behaves exactly as before (#121)

Fixed

  • MCP: a doubled minus sign is refused instead of cancelled. A value or offset like "--5" used to parse as +5, so a write_value of "--5" stored 5, and a "--8" pointer offset walked forwards instead of backwards. A second sign after the minus ("--5", "-+5", "- -5") is now an error the model can see and fix. Hex values such as "--0x5" were already refused (#121)

Install

pip install --upgrade PyMemoryEditor

📖 Full documentation: pymemoryeditor.readthedocs.io · MCP guide: pymemoryeditor.readthedocs.io/en/latest/mcp.html

Full Changelog: v3.3.3...v3.4.0