游戏安全4-C,C++读取目标内存数据 读4字节

学习目标:
认识进程句柄HANDLE
了解进程权限
FindWindowA
OpenProcess
GetWindowThreadProcessId //返回线程TID和进程PID
ReadProcessMemory //读取指定进程的内存数据


封接读内存接口函数 int R4(void* 地址)
通过接口函数读取基址偏移公式里的数据

[[PlantsVsZombie.exe+2A9EC0]+768]+5560

[[6A9EC0]+768]+5560
 

#include <iostream>
#include<Windows.h>


//unsigned
 int R4(UINT_PTR 内存地址)
{ 
	HWND 窗口句柄 = FindWindowA("MainWindow", "植物大战僵尸中文版"); 
	DWORD pid = 0, tid = 0;  
	tid = GetWindowThreadProcessId(窗口句柄, &pid); // a&b 
	HANDLE 进程句柄 = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);//HWND
	unsigned int 返回值 = 0;
	ReadProcessMemory(进程句柄, (LPCVOID)内存地址/*要读取的地址*/, &返回值/*存放数据的地址*/, 4, 0);	 
	return 返回值;
}

int main()
{
	//[[lantsVsZombies.exe+2A9EC0]+768]+5560
	// [[[6A9EC0]+768]+5560]

	int 阳光值=R4(R4(R4(0x6A9EC0) + 0x768) + 0x5560);
	printf("阳光值=%d 行号=%d\r\n", 阳光值, __LINE__);// __FILE__ 表示所有源文件
	 // [[[6A9EC0]+768]+5560]+111]+222]+333]+AAA]+BBB
	 // int 阳光值=R4(R4(R4(R4(R4(R4(R4(R4(0x6A9EC0) + 0x768) + 0x5560)+111)+222)+333)+AAA)+BBB);
}


 
 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值