zoukankan      html  css  js  c++  java
  • python实现对单机游戏内存修改

    以植物大战僵尸为例:

    用到的工具:spy2.7 用于读取窗口的文件句柄。Cheat Engine6.5这个工具用于读取内存地址

     1 import win32process 
     2 import win32con
     3 import win32api
     4 import ctypes 
     5 import win32gui 
     6 import time
     7 
     8 PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF) 
     9 window=win32gui.FindWindow("MainWindow","植物大战僵尸") 
    10 hid,pid=win32process.GetWindowThreadProcessId(window) #根据窗体抓取进程编号
    11 phand=win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)#用最高权限打开进程编号
    12 date=ctypes.c_long()#C语言的整数类型,读取数据
    13 mydll=ctypes.windll.LoadLibrary("C:\Windows\System32\kernel32.dll")#加载内核模块
    14 
    15 while  True:
    16     mydll.ReadProcessMemory(int(phand), 244866760, ctypes.byref(date), 4, None)  # 读取内存,244866760是内存地址
    17     print(date.value)
    18     if  date.value <300:
    19         newdata = ctypes.c_long(500)   
    20         mydll.WriteProcessMemory(int(phand), 244866760, ctypes.byref(newdata), 4, None)
    21     time.sleep(3)
    即使明日天寒地冻路远马亡
  • 相关阅读:
    2019春招面试题总结-03
    2019春招面试题总结-02
    2019春招面试题总结-01
    Node.js 全局对象
    Node.js 路由
    Node.js 函数
    Node.js 模块系统
    Node.js Stream(流)
    Node.js Buffer(缓冲区)
    Node.js EventEmitter
  • 原文地址:https://www.cnblogs.com/gamaboy/p/7368123.html
Copyright © 2011-2022 走看看