Pythonを使用して、実行中のプロセスのメモリを読み取る方法について説明します。以下にいくつかのコード例を示します。
-
psutilモジュールを使用する方法:
import psutil # プロセスIDを指定する pid = 1234 # プロセスのメモリ情報を取得する process = psutil.Process(pid) memory_info = process.memory_info() # メモリ使用量を表示する print("メモリ使用量:", memory_info.rss)
-
ctypesモジュールを使用する方法:
import ctypes # プロセスIDを指定する pid = 1234 # プロセスのハンドルを開く process_handle = ctypes.windll.kernel32.OpenProcess(0x1F0FFF, False, pid) # メモリを読み取る buffer = ctypes.create_string_buffer(4096) bytes_read = ctypes.c_ulong(0) ctypes.windll.kernel32.ReadProcessMemory(process_handle, address, buffer, len(buffer), ctypes.byref(bytes_read)) # 読み取ったメモリを表示する print(buffer.value)
-
pywin32モジュールを使用する方法(Windowsのみ):
import win32api import win32process import win32con # プロセスIDを指定する pid = 1234 # プロセスのハンドルを開く process_handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, False, pid) # メモリを読み取る buffer = win32process.ReadProcessMemory(process_handle, address, size) # 読み取ったメモリを表示する print(buffer)
これらのコード例を使って、実行中のプロセスのメモリを読み取る方法を試してみてください。それぞれの例は異なるモジュールを使用していますが、目的に応じて最適な方法を選択できます。注意してください、これらのコードは特定のOSや環境に依存する場合がありますので、適切に調整する必要があります。