Is there any good and easy-to-use module built in Python for editing memory? Or is there any module like this at all?
What I'm looking for is a way to attach to a process and read from/write to it. Much like how Cheat Engine works. Here's a example of how it works in C++.
mem_edit is a multi-platform memory editing library written in Python.
To store anything in RAM you need an running process. Therefore the easiest solution is to implement what you wrote in your edit. You could also create a new process that always runs and let the old process connect to the new one to get the data.
Took me a while to find a way of doing this but here's what I came up with!
from ctypes import *
from ctypes.wintypes import *
pid = 0 #the pid of the process, aquired earlier by hand
address = 0x0000 #where to read from while in the memory
OpenProcess = windll.kernel32.OpenProcess
ReadProcessMemory = windll.kernel32.ReadProcessMemory
CloseHandle = windll.kernel32.CloseHandle
PROCESS_ALL_ACCESS = 0x1F0FFF
datadummy = b'.'*200
buffer = c_char_p(datadummy)
bufferSize = len(buffer.value)
bytesRead = c_ulong(0)
processHandle = OpenProcess(PROCESS_ALL_ACCESS, False, int(PID))
ReadProcessMemory(processHandle, address, buffer, bufferSize, byref(bytesRead))
CloseHandle(processHandle)
And to write to the memory I would just add WriteProcessMemory = windll.kernel32.WriteProcessMemory
and then call it
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With