自己动手制作植物大战僵尸简单修改器
自己动手制作植物大战僵尸简单修改器
- 获取植物大战僵尸进程
- 改变阳光数
- 改变金币数
- CD循环清零
- 运行结果
获取植物大战僵尸进程
我用的是植物大战僵尸汉化第二版,基址是0x006A9EC0
编译器是VC++6.0
(注:未经说明且不是函数定义的代码添加于按钮处)
声明基址
const int baseaddr = 0x006A9EC0;
首先是获取植物大战僵尸进程
PROCESSENTRY32 pe32;pe32.dwSize = sizeof(pe32);HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);BOOL have_more = ::Process32First(hProcessSnap,&pe32);int processid = -1;while(have_more){if(!_tcscmp(pe32.szExeFile,_T("PlantsVsZombies.exe"))){processid = pe32.th32ProcessID;break;}have_more = ::Process32Next(hProcessSnap,&pe32);}if(processid == -1){AfxMessageBox("找不到游戏进程");ExitThread(-1);}CloseHandle(hProcessSnap);HANDLE hprocess = ::OpenProcess(PROCESS_ALL_ACCESS,FALSE,processid);
hprocess就是植物大战僵尸进程了
改变阳光数
接着就要改变阳光数了,阳光地址是0x006A9EC0 + 0x786 + 0x5560
(即0x006A9EC0的值加上0x786后作为地址,取值加0x5560为阳光地址,之后的不另做解释)
CString ssun;DWORD sun = 0;m_edit1.GetWindowText(ssun);//获取增加阳光数int addr;//改变阳光数::ReadProcessMemory(hprocess,(LPVOID)(baseaddr),&addr,4,0);::ReadProcessMemory(hprocess,(LPVOID)(addr+0x768),&addr,4,0);::ReadProcessMemory(hprocess,(LPVOID)(addr+0x5560),&sun,4,0);sun += atoi(ssun);::WriteProcessMemory(hprocess,(LPVOID)(addr+0x5560),&sun,4,0);
改变金币数
再其次是改变金币数,金币数地址是0x006A9EC0 + 0x82c+ 0x28
(注:实际金币数为该地址的值乘上10后的结果)
CString smoney;DWORD money = 0;m_edit2.GetWindowText(smoney);//改变金币数::ReadProcessMemory(hprocess,(LPVOID)(baseaddr),&addr,4,0);::ReadProcessMemory(hprocess,(LPVOID)(addr+0x82c),&addr,4,0);::ReadProcessMemory(hprocess,(LPVOID)(addr+0x28),&money,4,0);money += atoi(smoney)/10;::WriteProcessMemory(hprocess,(LPVOID)(addr+0x28),&money,4,0);
CD循环清零
再接着是CD循环清零,每个格子CD地址0x006A9EC0 + 0x768+ 0x144 +(0x70+0x50i) (0<=i<10)
(注:(0x70+0x50i)表示括号内为直接运算即可)
先在构造函数处添加如下代码
hthread = INVALID_HANDLE_VALUE;
再在按钮事件添加如下代码
//判断是否启动/终止CD循环清零if(m_check1.GetCheck() == 1 && hthread == INVALID_HANDLE_VALUE){hthread = CreateThread(NULL,0,hackthread,&hprocess,0,NULL);}else if(m_check1.GetCheck() != 1 && hthread != INVALID_HANDLE_VALUE){TerminateThread(hthread,0);hthread = INVALID_HANDLE_VALUE;}
DWORD _stdcall hackthread(LPVOID lpparam)
{const int baseaddr = 0x006A9EC0;HANDLE hprocess = *((HANDLE*)lpparam);int value = 1;int addr;while(true){ReadProcessMemory(hprocess,(LPVOID)(baseaddr),&addr,4,0);ReadProcessMemory(hprocess,(LPVOID)(addr+0x768),&addr,4,0);ReadProcessMemory(hprocess,(LPCVOID)(addr+0x144),&addr,4,0);for(int i = 0;i < 10;i++)//利用循环每次加50,循环10次实现10个方框无冷却{WriteProcessMemory(hprocess,(LPVOID)(addr+0x70+(0x50)*i),&value,4,0);}}return 0;
}
运行结果
自己动手制作植物大战僵尸简单修改器相关推荐
- 自己动手制作植物大战僵尸简单修改器(2)
自己动手制作植物大战僵尸简单修改器2 地上物品自动拾取 地上物品自动拾取 上次的内容自己动手制作植物大战僵尸简单修改器 地上物品的地址是 0x006A9EC0 + 0x768 + 0xe4 + 0xd ...
- 自己动手制作植物大战僵尸简单修改器(3)
自己动手制作植物大战僵尸简单修改器3 目的 过程 找到阳光地址 获取修改阳光的指令 找到自动汇编窗口 找到代码注入 改变阳光增量 结果 目的 这一篇并不是制作,改变每一次捡起阳光时阳光增加量. 过程 ...
- 植物大战僵尸中文版修改器python实现
#阳光edx+5560 import win32gui import win32process import win32api,ctypes import tkinter as tk main=tk. ...
- 植物大战僵尸中文版修改器源码
很简单一个辅助,关键是游戏数据的分析,实现了两个功能,无限阳光和无冷却.特别注意的一下,如果用VS2008编译的话,调试的时候是正常的,但编译后功能就会失效,这是因为OpenProcess权限的问题, ...
- 用Java实现植物大战僵尸的修改(续)
用Java实现植物大战僵尸的修改(续) 之前已经使用HxD Hex Editor工具成功修改游戏存档, 具体步骤请参考:https://blog.csdn.net/weixin_50669669/ar ...
- Qt植物大战僵尸实现修改阳光和无冷却
Qt植物大战僵尸实现修改阳光和无冷却 网上关于qt修改植物大战僵尸的,尤其是开头获取进程句柄和窗口句柄,代码和博客方面会模糊一些,今天写个简洁易懂的,本人也是菜鸟刚学qt快两个月,有疑问在下面我一定回 ...
- [re入门]ce对植物大战僵尸的修改
CE对植物大战僵尸的修改 1.对阳光的修改 思路:通过种植物来改变阳光的数值,ce中使用精确数值搜索即可,如下图 植物偏移地址的寻找(不需要每次都搜阳光地址,直接修改即可) 上面的地址点右键,什么访问 ...
- MFC简单应用,制作一个LOL地图修改器。
声明 1.高手请绕道,这边文章主要描述目录文件操作 2.MFC我从学校出来后就没用过了,做这个东西是因为我弟说要个地图修改器,然后我看了下不难,所以就花了点时间,一边查一边做的东西. 可能有些API调 ...
- 【Python windows11修改器 】——制作一个简易的修改器,修改windwos11右键和一些小功能
快五一了,在这里祝大家五一快乐.顺便供上一块免费且好用的windows11修改器 点个赞留个关注吧!!! 现在应该大部分人都使用win11系统吧,不用也要强行给你更新到win11,win11其实挺好用 ...
- 植物大战僵尸阳光修改之美
0x00: 使用工具 Cheat Engine 5.6.1 将要修改游戏 PlantsVsZombies.exe - 植物大战僵尸 修改器开发环境 MingW and gcc 注: VC等IDE ...
最新文章
- C# 操作Excel
- u-boot启动过程
- Microbiome:地球上有多大比例的原核生物已经被测序了基因组?
- (IT/互联网行业)你给自己当前的职位拼几分?(评分标准,个人看法,勿喷~)...
- ajax asp后台获取不到post数据,jQuery AJAX调用将数据发布到ASP.Net页面(不是Get但POST)...
- 项目--教师日常办公平台中的活动图
- 算法设计与分析——贪心算法——最优装载问题
- 依赖反转原理,IoC容器和依赖注入:第3部分
- 程序员输入法_搜狗输入法高级玩法:如何1秒录入30000字
- 达摩院 2020 预测:感知智能的“天花板”和认知智能的“野望”
- 基于vue-cli3+typescript+element-ui搭建起来的后端管理平台框架(骨架)
- 平面设计师okr_设计团队的KPI/OKR如何制定?
- 学术论文写作方法和技巧
- uniapp解决H5唤醒APP
- 新装服务器、虚拟机应该做什么
- 大学生求职的互联网“围城”:被神化的“大厂梦”
- 2019-2020 10th BSUIR Open Programming Championship. Semifinal 补题
- 华为云CDN是怎么为你的下载加速保驾护航
- 在Flash MX中实现自由拖动图片和改变图片
- 企业知识分享系统的设计与实现