MFC读取游戏内存数据
2012-09-03 22:15
232 查看
读取游戏内存数据,这样可以根据这些数据我们再进行一些检测,比如检测游戏人物的血值、魔值、经验等等。
这里需要用到几个函数:
FindWindow//查找窗口
GetWindowThreadProcessId//获取窗口进程ID
OpenProcess//打开进程
ReadProcessMemory//读取进程内存数据
【准备工具】
1.VC++6.0或者VS
2.SPY++
首先利用SPY++获取到游戏窗口的标题或者窗口类名称
[总结]这是一般外挂开发者都使用的办法,但是一般读取的内存数据较多,大家可以使用类来封装这些操作跟信息,这样大大简化了操作跟维护,当游戏更新,只要找到相对的基址就可以了。
这里需要用到几个函数:
FindWindow//查找窗口
HWND FindWindow( LPCTSTR lpClassName, // class name LPCTSTR lpWindowName // window name );
GetWindowThreadProcessId//获取窗口进程ID
DWORD GetWindowThreadProcessId( HWND hWnd, // handle to window LPDWORD lpdwProcessId // process identifier );
OpenProcess//打开进程
HANDLE OpenProcess( DWORD dwDesiredAccess, // access flag BOOL bInheritHandle, // handle inheritance option DWORD dwProcessId // process identifier );
ReadProcessMemory//读取进程内存数据
BOOL ReadProcessMemory( HANDLE hProcess, // handle to the process LPCVOID lpBaseAddress, // base of memory area LPVOID lpBuffer, // data buffer DWORD nSize, // number of bytes to read LPDWORD lpNumberOfBytesRead // number of bytes read );
【准备工具】
1.VC++6.0或者VS
2.SPY++
首先利用SPY++获取到游戏窗口的标题或者窗口类名称
HWND GameHwnd;//游戏的窗口句柄 DWORD GameID;//游戏的进程ID HANDLE GameHandle;//游戏的实例句柄 DWORD bytes; LPCVOID GameAdd=(LPCVOID)0x02A2ECE8; //如果数据是相连的大家可以使用偏移地址(LPCVOID)(0x02A2ECE8+4) //比如0x02A2ECE8是血的基址,0x02A2ECEB是魔的.这样大家就使用偏移0x02A2ECE8+4即可 //也可以把首地址包装成一个宏 LPVOID GameBuffer; GameHwnd=::FindWindow(NULL,"MyGame");//查找一个叫MyGame窗口标题的程序 ::GetWindowThreadProcessId(GameHwnd,&GameID);//根据窗口句柄获取到进程ID GameHandle=::OpenProcess(PROCESS_ALL_ACCESS,false,GameID);//根据进程ID打开进程 ::ReadProcessMemory(GameHandle,GameAdd,&GameBuffer,4,&bytes)//根据返回的句柄读取内存指定内存地址的数据
[总结]这是一般外挂开发者都使用的办法,但是一般读取的内存数据较多,大家可以使用类来封装这些操作跟信息,这样大大简化了操作跟维护,当游戏更新,只要找到相对的基址就可以了。
相关文章推荐
- Delphi XE2读取游戏内存偏移数据代码
- 游戏外挂内存数据读取
- FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析
- CPU从内存中读取数据的过程
- VB内存拷贝方式读取二进制文件(二进制数据转换为16进制字符串)
- MFC学习(6)——以数组矩阵形式表示读取出来的BMP图像||将数组矩阵数据转成BMP图像
- libcurl读取网页数据到内存中
- 从内存数据读取osg::node
- 怎么用C++提取任意一张图片的特征(从内存读取数据)
- CPU从内存中读取数据的过程
- 利用GDAL读取图片,将数据以BIP的方式存在内存中。
- MFC CString::GetBuffer() 内存数据异常
- Unity从文件读取游戏数据
- 游戏外挂技术:编程实现内存检索(检索内存中指定数据)
- ffmpeg 从内存中读取数据
- 从XML中读取数据到内存的实例
- unity中游戏装备数据怎么 建立,存储和读取?
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- Android在内存中读取数据
- MFC环境下搭建OpenGL框架并进行数据文件读取以及模型绘制的注意事项