7

メモリを編集するために Python で構築された、使いやすいモジュールはありますか? または、このようなモジュールはまったくありますか?

私が探しているのは、プロセスにアタッチして読み書きする方法です。チートエンジンの仕組みとよく似ています。C++ での動作例を次に示します

4

1 に答える 1

9

これを行う方法を見つけるのにしばらく時間がかかりましたが、これが私が思いついたものです!

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)

そして、メモリに書き込むには、追加WriteProcessMemory = windll.kernel32.WriteProcessMemoryしてから呼び出します

于 2012-12-25T13:17:28.813 に答える