赞
踩
开局没过1分钟植物已经全部种满,可以明显的看到阳光数量为92074,几乎用不完,直接让僵尸毫无体验感,僵尸:“你礼貌吗?”。
目录
玩过电脑的的小伙伴应该对外挂都不陌生,但小伙伴们想过自己有一天也能做一个外挂吗?C/C++语言最适合写这类项目了,但是作为当今主流的Python语言也不甘示弱,所有我们就来看一看如何用python来制作植物大战僵尸的外挂。
首先需要下载一个可以查看程序句柄的工具
- 链接:https://pan.baidu.com/s/1922Peza1vTFHL73pVE2PdA
- 提取码:ghi2
然后我们需要下载修改工具,修改工具用很多,在这里我们选取一个比较方便和简单的一个修改工具CE(有关CE是什么可以看看下方的介绍),下方链接里的CE工具我是做过汉化的(原版是英文),如果想重新下载新版本可以去官网看一下:Cheat Engine
CE修改器(Cheat Engine)是一款内存修改编辑工具,CE允许你修改游戏。它包括16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了辅助工具制作工具,可以用它直接生成辅助工具。
- 链接:https://pan.baidu.com/s/1j5KO3hPli2Y3A6wRfWevcg
- 提取码:9hpq
为了大家方便,最好下载我下方链接里的《植物大战僵尸》游戏,这样避免了版本不同而带来的差异
链接:https://pan.baidu.com/s/1TOmj_Lg5emB9ecw813Zzjg
提取码:ykgp
游戏的本质是什么?我认为 游戏=程序=数据=数据地址(变量与数值的集合)
理论上来讲我们可以修改这些变量与数值。比如说我们玩一款游戏,人物等级为10级,血量为100,因为它们都不是存储到一个变量里的,所已我们只要找到这个10和100的这个变量,让它等于我们想要的数值,就实现了外挂的功能!
总而言之我们只需要用程序实现寻找游戏的数据地址,然后修改它就行了。
先打开植物大战僵尸游戏,游戏里点击“开始冒险”进入关卡,然后打开下载好的CE,再点击“电脑图标”,找到植物大战僵尸进程,然后打开它。
把当前的游戏太阳值填到CE的“数值”那一行,然后在“扫描类型”中选择“进准扫描”,最后点击“首次扫描”
种下植物后,把当前的游戏太阳值填到CE的“数值”那一行,然后点击“再次扫描”(千万别点到左边的“新的扫描”上了,否则要重新搜索数值)
找的“结果”里的地址,双击地址,然后在下方的“地址栏”中双击数值下的“50”,最后修改数值
打开下载好的“LookHandles”句柄查找工具,把工具里的“放大镜”拖到游戏窗口
代码:
首先下载pywin32库
pip install pywin32
在16行代码里的第二个参数填更改获取的窗口句柄
- import win32gui # 界面模块
- import win32process # 进程模块
-
- kernel32 = ctypes.windll.LoadLibrary(r"kernel32.dll") # 核心文件
- PROCESS_ALL_ACCESS = (0x000F0000 | 0x00100000 | 0xFFF) # 调用最高权限执行
- window_handle = win32gui.FindWindow(None, "Plants vs. Zombies GOTY ") # 找到窗口句柄
- process_id = win32process.GetWindowThreadProcessId(window_handle)[1] # 获取进程ID
- process_handle = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, process_id) # 得到进程句柄
代码:
- data1 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), 0x0077959c, ctypes.byref(data1), 4, None)
- data2 = ctypes.c_long()
- kernel32.ReadProcessMemory(int(process_handle), data1.value + 0x950, ctypes.byref(data2),4, None)
- kernel32.WriteProcessMemory(int(process_handle), data2.value + 0x50, ctypes.byref(ctypes.c_long(int(money_num))), 4,None)
利用Python制作植物大战僵尸游戏外挂,万能的Python
因为这个功能有些难,用图片和文字的方式教学比较难以理解,推荐下方的视频教程,建议大家从视频6分47秒看到12分41秒,因为那位老师的版本和我们的版本不一样。后面的我会带大家完成让所有植物无冷却的教程,所以推荐小伙伴们先看完下方视频。
植物大战僵尸CE修改阳光和卡槽冷却教程
没看上方视频的小伙伴们一定看,这样我才好教大家让所有植物无冷却
根据上方视频,找出冷却值地址后,右键点击地址,如何点击“找出是什么改写...”
在弹出的窗口点击“Yes”或“是”
种下一颗植物后可以看到刚刚弹出的窗口上多了3个数据,双击击红框中的数据
在弹出的窗口中找到红框中的数据,然后双击它
双击进去后,先不要做如何操作,直接按照图片里的步骤进行,先点击“工具”然后找到“自动汇编”并点击
在弹出的窗口下点击“模板”然后点击“CT...”
如何在点击“模板”然后点击“代码注入”
然后在弹出的窗口下点击确定或OK
向下滑动,找的图中红框的代码,“,00”改成“,01”
再次向下滑动,找的图中红框的代码,“,00”改成“,01”
完成后点击“文件”然后点击“分配到...”
最后关闭所有窗口,发现多了一行“自动化脚本”
最后点击“激活”,等到变成“X”,所有植物都不用冷却了,在配点无限阳光就无敌了!
- 链接:https://pan.baidu.com/s/1yj1HFI7iYuA6F5zAiCoCAw
- 提取码:uyha
注:
资源中修改冷却.CT文件只能在CE里运行,所有先请小伙伴们下载好CE工具,打开修改冷却.CT文件后要先点击带彩色光环的电脑图标,找到植物大战僵尸进程,然后打开,才能用。
打开进程后会弹出的窗口,一定要点击“Yes”或“是”,否则无法使用
一定不能两个同时打开!!!一定不能两个同时打开!!!一定不能两个同时打开!!!
只能一个打开,一个关闭才行
下图是错误示范!
至此,就完成了Python实现植物大战僵尸功能!
制作外挂成功的小伙伴有木有一点小激动呢?如果在操作过程中有遇到什么问题,也欢迎向我反馈,喜欢的小伙伴可以点赞,收藏。之后小编会不定期更新一些博客,和分享自己的程序和经验。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。