植物大战僵尸外挂------修改阳光值
#include <iostream>
#include <windows.h>
using namespace std;
/*声明变量*/
HWND hand=NULL;//游戏窗口
DWORD pid=0;// 游戏进程ID
HANDLE hProcess=NULL;//进程对象
DWORD BaseValue=0;//游戏数据存放的基础值
DWORD SunshineAddress;//阳光内存变量名称(地址)
/*声明方法/函数*/
bool startGame();//初始化游戏数据
int getSunshineValue();//获取阳光值
bool initSunshine();//初始化阳光地址--寻找真实的阳光地址
void setSunshineValue(int value);
int main(int argc, char** argv){
bool Result=false;
Result=startGame();
if(Result==false){
return 0;
}
initSunshine();
int yangguang=getSunshineValue();
cout<<"阳光值是:"<<yangguang<<endl;
cout<<"你想要多少阳光:";
cin>>yangguang;
setSunshineValue(yangguang);
return 0;
}
bool startGame(){
//查找电脑是否运行了植物大战僵尸
hand= FindWindow("MainWindow","植物大战僵尸中文版");
cout<<hand<<endl;
if(hand==NULL){
cout<<"游戏没有运行";
return false;
}
cout<<"窗口:"<<hand<<endl;
GetWindowThreadProcessId(hand,&pid);
if(pid==0){
cout<<"无法找到植物大战僵尸进程";
return false;
}
cout<<"进程:"<<pid<<endl;
hProcess=OpenProcess(PROCESS_ALL_ACCESS,
false,
pid);
if(hProcess==NULL){
cout<<"无法打开进程"<<endl;
return false;
}
cout<<"打开进程:"<<hProcess<<endl;
DWORD BaseAddress=0x006A9EC0;//获取游戏数据的基础地址
bool Result= ReadProcessMemory(
hProcess, //读取哪一个进程
(LPVOID)BaseAddress,//内存地址是多少
&BaseValue,//读取数据放哪
4,//数据存储长度
NULL //实际读取的长度
);
if(Result==false){
cout<<"初始化基础地址失败";
return false;
}
return true;
}
//初始化阳光地址--寻找真实的阳光地址
bool initSunshine(){
DWORD _Address=BaseValue+0x768;//一级偏移地址
DWORD _Value=0;
bool Result= ReadProcessMemory(
hProcess,//读取哪一个进程
(LPVOID)_Address,//内存地址是多少
&_Value,//读取数据放哪
4,//数据存储长度
NULL//实际读取的长度
);
if(Result==false){
cout<<"初始化阳光地址失败";
return false;
}
SunshineAddress=_Value+0x5560;//二级偏移地址
return true;
}
//获取阳光值
int getSunshineValue(){
//
DWORD value=0;
bool Result= ReadProcessMemory(
hProcess,//读取哪一个进程
(LPVOID)SunshineAddress,//内存地址是多少
&value,//读取数据放哪
4,//数据存储长度
NULL//实际读取的长度
);
if(Result==false){
cout<<"获取阳光数据失败";
return 0;
}
int vaule;
cout<<"阳光数据:"<<value<<endl;
return (int)vaule;
}
//设置阳光值
void setSunshineValue(int value){
WriteProcessMemory(hProcess,(LPVOID)SunshineAddress,&value,4,NULL);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构