赞
踩
- #阳光edx+5560
- import win32gui
- import win32process
- import win32api,ctypes
- import tkinter as tk
- main=tk.Tk()
- main.title("植物大战僵尸修改器 ------豆腐西蓝花")
- main.geometry('800x400')
- def sun_func():
- window_handle = win32gui.FindWindow(None, "植物大战僵尸中文版")
- process_id = win32process.GetWindowThreadProcessId(window_handle)[1]
- process_handle = win32api.OpenProcess(0x1f0fff, False, process_id)
- kernel32 = ctypes.windll.LoadLibrary(r"C:\Windows\System32\kernel32.dll")
- date1 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), 0x006A9EC0, ctypes.byref(date1), 4, None)
- date2 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), date1.value + 0x768, ctypes.byref(date2), 4, None)
- date3 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), date2.value + 0x5560, ctypes.byref(date3), 4, None)
- sun = 5000
- kernel32.WriteProcessMemory(int(process_handle), date2.value + 0x5560, ctypes.byref(ctypes.c_long(int(sun))), 4,
- None)
- kernel32.CloseHandle(int(process_handle))
- def cold():
- window_handle = win32gui.FindWindow(None, "植物大战僵尸中文版")
- process_id = win32process.GetWindowThreadProcessId(window_handle)[1]
- process_handle = win32api.OpenProcess(0x1f0fff, False, process_id)
- kernel32 = ctypes.windll.LoadLibrary(r"C:\Windows\System32\kernel32.dll")
- date1 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), 0x0048728c+3, ctypes.byref(date1), 1, None)
- kernel32.WriteProcessMemory(int(process_handle), 0x0048728c+3, ctypes.byref(ctypes.c_int8(0xf)), 1,None)
- kernel32.CloseHandle(int(process_handle))
-
- sun_button=tk.Button(main,text='修改阳光',width=15,height=2,command=sun_func,bg="#ddffff")
- cold_button=tk.Button(main,text='修改冷却',width=15,height=2,command=cold,bg="#ddffff")
-
- cold_button.pack()
- sun_button.pack()
- main.mainloop()
- if __name__ == '__main__':
- pass
-
-
新手小白,结合网上的教程,简单写了一个python版的植物大战僵尸修改,冷却的问题因为机器码长度限制,改成了f倍,就是15倍,试用了一下,还不错。dll文件应该位置都是一样的吧,应该能直接用,比较捡漏
ps:仅用于学习交流,如有侵权,请联系作者删除
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。