植物大战僵尸之加钱外挂..

//注意:本程序测试时,用的植物大战僵尸版本为: 植物大战僵尸年度中文版  

//本程序对其它版本有可能不起作用


植物大战僵尸年度中文版  下载地址:
http://l5.yunpan.cn/lk/36mpcb54vc

本程序下载地址:
因业界一直对外挂持否定的态度,所以作者就不将其发布在互联网上了,
本程序仅供个人学习研究之用,有需要者请联系作者本人

//

         上次我写了个植物大战僵尸加阳光的外挂,结果在学习、无聊之余,玩玩游戏,劳逸结合,收获不少!...

这次我忍不住要写个加钱的外挂,因为我发现在游戏中没钱买装备,

那是相当的无奈呀!呵呵,现实中也一样啦!...


先说一下这次找金钱的基址的方法:

刚学外挂时,我自己找过金钱的基址,找了很多次都没找到,奇怪之极!...
一次在网上看到了一个找金钱基址的教程,看了之后,我才恍然大悟,原来我们在游戏中
看到的金钱,最后一个0是没有用的
,例如,我们在游戏中看到的金钱数为5550,实际上
我们拥有的金钱数为555,
所以我们在用CE搜金钱时,要是我们不把5550后面的0去掉,我们是
搜不到金钱的基址的,知道了原因之后,我们每次搜金钱时,把金钱后面的0给去掉,然后再搜就可以了。
呵呵,经过一番搜索之后,我发现金钱的基址跟我以前搜索出来的阳光的基址是一样的,都是:006A9EC0
只是它们的偏移不同而已...


本程序效果截图如下:



主要代码如下:

//获取当前金钱总数函数,hGame为游戏进程句柄
int GetCurrentMoney(HANDLE hGame)
{
	DWORD dwRead=0;
	DWORD dwArr=0;

	//读取基址所指向的地址,基址为:0x6A9EC0
	BOOL bRead=::ReadProcessMemory(hGame,LPVOID(0x6A9EC0),(LPVOID)&dwArr,(DWORD)4,&dwRead);

	//获取一级偏移在内存中的地址
	bRead=::ReadProcessMemory(hGame,LPVOID(dwArr+0x82c),(LPVOID)&dwArr,(DWORD)4,&dwRead);

	//获取金钱
	//金钱在内存单元中的地址为:dwArr+0x28
	bRead=::ReadProcessMemory(hGame,LPVOID(dwArr+0x28),(LPVOID)&dwArr,(DWORD)4,&dwRead);

	//关闭游戏进程句柄
	::CloseHandle(hGame);
	hGame=NULL;

	//返回获取到的金钱
	return (int)dwArr;	
}


//增加金钱函数,hGame为游戏进程句柄
void AddMoney(int nAddMoney,HANDLE hGame)
{
	DWORD dwRead=0;
	DWORD dwArr=0;

	//读取基址所指向的地址,基址为:0x6A9EC0
	BOOL bRead=::ReadProcessMemory(hGame,LPVOID(0x6A9EC0),(LPVOID)&dwArr,(DWORD)4,&dwRead);

	//获取一级偏移在内存中的地址
	bRead=::ReadProcessMemory(hGame,LPVOID(dwArr+0x82c),(LPVOID)&dwArr,(DWORD)4,&dwRead);

	//增加金钱
	//上一步我们读取内存中dwArr+0x82c处的值,得到一个内存地址
	//这个内存地址加上偏移0x28,就是金钱在内存中的地址
	//要知道内存每个单元都有一个地址,数据存放在内存单元中
	bRead=::WriteProcessMemory(hGame,
							    (LPVOID)(dwArr+0x28),
								(LPVOID)&nAddMoney,
								(DWORD)sizeof(nAddMoney),
								&dwRead);
	//关闭句柄
	if(hGame!=NULL)
	 ::CloseHandle(hGame);
	hGame=NULL;
}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friendan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值