看板Programming
标 题Re: [问题]关於游戏中动态记忆体的修改?
发信站静宜大学水世界 (Mon Sep 4 00:04:02 2006)
转信站ptt!ctu-reader!Spring!ctu-peer!news.nctu!news.cs.pu!wwbbs.pu
K取得
取得他的pointer
用binary去读写它
这样最快
※ 引述《[email protected] ( )》之铭言:
> 做这行就是要玩game(误)
> 关於静态(非变动位置)记忆体修改还算简单(范例如附件, 想用的玩家可以拿去)
> 但是, 对於动态(变动位置)记忆体 我就不知道要如何修改了
> 假设我用GM8抓到一个动态的位置 我要如写些简单的win32程式
> 去修改它呢?
> -------------附件----------------------------------
> #include<windows.h>
> int pet_skill=7;
> long pet1_addr=0x046C6504;//自己改, 我好几年前写的, 现在不适用
> long pet2_addr=0x046C6580;
> long pet3_addr=0x046C65FC;
> long pet4_addr=0x046C6678;
> long pet5_addr=0x046C66F4;
> int main(void)
> {
> printf("\n版权属:<博物馆>肥仔工程师\n");
> printf("\n宠物7技外挂\n");
> HWND hwnd;
> PDWORD phandle,sapid;
> char *SAName = "StoneAge [达那1] via FreeCap";
> hwnd = FindWindow(NULL,SAName);
> if(hwnd==0)
> hwnd = FindWindow(NULL,"StoneAge [达那1]");
> if(hwnd==0)
> printf("石器时代没有开启");
> GetWindowThreadProcessId(hwnd,&sapid);
> phandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,sapid);
> //pet skill
> WriteProcessMemory(phandle,pet1_addr,&pet_skill,2,NULL);
> WriteProcessMemory(phandle,pet2_addr,&pet_skill,2,NULL);
> WriteProcessMemory(phandle,pet3_addr,&pet_skill,2,NULL);
> WriteProcessMemory(phandle,pet4_addr,&pet_skill,2,NULL);
> WriteProcessMemory(phandle,pet5_addr,&pet_skill,2,NULL);
> CloseHandle(phandle);
> }
--
▊▊█ ▊▊█ ██
静宜大学 水世界 Υ ● ▊▊█ ▊▊█ ██
bbs.cs.pu.edu.tw ◢██◣ ◥◥◤ ◥◥◤ ██
140.128.9.94 ﹋﹌﹏█⊙██◣◢﹏﹋﹌﹏ ██
※ 飘流自 :61-216-21-231.dynamic.hinet.net