首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么确认那个内存地址是存放炮弹数量的

2012-11-07 
如何确认那个内存地址是存放炮弹数量的?C/C++ code#include windows.h   HINSTANCE g_hInst   HWND  g_

如何确认那个内存地址是存放炮弹数量的?

C/C++ code
#include <windows.h>   HINSTANCE g_hInst;   HWND  g_hWnd;   char szAppName[]="TankFix"; //The name of the exe   char szTitle[]="坦克大战修改";   DWORD  addr=0x004C9C84;   //存放炮弹数量的内存地址   DWORD  pid;      //坦克大战的PID   int  val=1000;    //炮弹要修改的数量   //-------------------------------------------------------------   // WndProc- 窗口函数   //-------------------------------------------------------------   LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam, LPARAM lParam)   {   // int wmId,wmEvent;   switch (message)   {   case WM_DESTROY:   PostQuitMessage(0);   break;   case WM_TIMER:   {   HWND  hw=FindWindow(NULL,"Normal-tanks");  //FindWindow()得到坦克大战程序的句柄   HANDLE hProcess;    //定义坦克大战的进程句柄   if (hw!=0)   {   SetForegroundWindow(hw);    //使我们的坦克大战设置为当前窗口   GetWindowThreadProcessId(hw,&pid);    //得到游戏的PID号   hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);    //打开进程PROCESS_ALL_ACCESS参数,制定进程可读可写   WriteProcessMemory(hProcess,(LPVOID)addr,&val,4,0);    //向坦克大战进程内存中写入数据   }   else   MessageBox(g_hWnd,"游戏还没有运行吧!","提示信息",MB_OK|MB_ICONINFORMATION);   }   default:   return (DefWindowProc(hWnd,message,wParam,lParam));   }   return 0;   }
这是我从CSDN上下的一段代码,我个人觉的其他的都很简单,只是那个炮弹数量的存放地址,他是怎么知道的??

[解决办法]
金山游侠 等修改内存之类的作弊软件都能找到.
[解决办法]
用ce 金山游侠之类的内存搜索工具
[解决办法]
改变值后多读几次ReadProcessMemory,确实是那个地址,然后修改WriteProcessMemory

热点排行