python修改內存,(修改植物大戰僵屍)


import win32process # 進程模塊
import win32con # 系統定義
import win32api # 調用系統模塊
import ctypes # c語言類型
import win32gui #界面
import time

# 系統常量,標識最高權限打開一個進程
PROCESS_ALL_ACCESS = (0x000F0000|0x00100000|0xFFF) # |位運算, 0x 十六進制

window = win32gui.FindWindow("MainWindow","植物大戰僵屍中文版") # 查找窗體

# 根據窗體抓取進程編號(pid 是進程編號 hid和pid一般描述一個進程信息)
hid,pid = win32process.GetWindowThreadProcessId(window)

# phand 打開一個進程(參數意思是使用最高權限非安全打這個進程)
phand = win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)
print(phand)
# c語言整數類型,讀取數據
date = ctypes.c_long()

# 調用系統內核模塊(Kerne123.dll windows內核)
mydll = ctypes.windll.LoadLibrary("C:\\Windows\\System32\\kernel32.dll")


while True:
    # 讀取內存(“4”表示占4個字節,types.byref(date)表示轉遞地址信息,寫入的結果到date中)
    # int(phand)打開的進程編號   “244866760”需要讀取的內存的地址
    mydll.ReadProcessMemory(int(phand), 411410192, ctypes.byref(date), 4, None)

    # 讀內存 (可以獲取內存中對應的數據)
    print(date.value)

    if date.value <2450:


        newdata = ctypes.c_long(2450) # 設定修改的數據
        mydll.WriteProcessMemory(int(phand), 411410192, ctypes.byref(newdata), 4, None)
    time.sleep(1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM