Repository navigation
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_intoandwrite_process_memory, plusfree_memoryon Windows and macOS, now raiseValueErrorfor 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 intoaddrand returned normally. The typed helpers (read_int,write_float, ...) andRemotePointergo through these methods, so they are covered too. The error is also anOSError, so code that already guards a bad address withexcept OSErrorkeeps 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 awrite_valueof"--5"stored5, 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