Python零基礎學習筆記(三十五)——記憶體修改

我是王佳俊發表於2019-01-26

今天利用這個小功能做了個植物大戰殭屍的外掛,哈哈哈

等以後學了GUI程式設計的時候做成圖形化介面

#程式模組
import win32process
#系統
import win32api
import  win32con
import win32gui
import ctypes

#獲取最高許可權,位運算
PROCESS_ALL_ACCESS = (0x000F000|0x00100000|0xFFF)

#找窗體
win = win32gui.FindWindow("MainWindow","植物大戰殭屍中文版")
#根據窗體找到程式號
hid, pid = win32process.GetWindowThreadProcessId(win)
#以最高許可權開啟程式
p = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, pid)

data = ctypes.c_long()  #c語言中的長整形

#載入核心模組
md = ctypes.windll.LoadLibrary("C:\Windows\System32\kernel32")

#讀取記憶體
md.ReadProcessMemory(int(p),0x12508678, ctypes.byref(data), 4, None)
print("data =", data)
#設定新值
newData = ctypes.c_long(1000)
#修改
md.WriteProcessMemory(int(p), 0x12508678, ctypes.byref(newData), 4, None)


相關文章