プロセスの開始/ベースアドレスを取得するにはどうすればよいですか?例Solitaire.exe(solitaire.exe + BAFA8)Python - プロセスの開始/ベースアドレスを取得するには?
#-*- coding: utf-8 -*-
import ctypes, win32ui, win32process
PROCESS_ALL_ACCESS = 0x1F0FFF
HWND = win32ui.FindWindow(None,u"Solitär").GetSafeHwnd()
PID = win32process.GetWindowThreadProcessId(HWND)[1]
PROCESS = ctypes.windll.kernel32.OpenProcess(PROCESS_ALL_ACCESS,False,PID)
print PID, HWND,PROCESS
あたりのIは、メモリアドレスを計算したいと思い、この方法のために、私はsolitaire.exeのベースアドレスが必要になります。
は、ここで私が言いたいの絵です:
私はあなたが実際に何を意味するか分からない:プログラムのエントリのメモリアドレスまたはexeファイルのファイルパス? – Al2O3
@Rubby:プログラムのエントリのメモリアドレス。しかし、私はどのように知りません。 win32api.GetModuleHandle(None)を使用していますか?アドレスを見つけたら、新しいアドレスを取得するために静的オフセット(0xBAFA8)==>を追加する必要があります... – Seppo