求修改某进程内存的代码(C++)

先打开某进程的内存,然后修改内存。比如说把00FD7353地址的值改成255求以上过程代码(C++)如果某方面在难度可说明下我想自己做个临时内存修改器,因为用别的会非法主... 先打开某进程的内存,然后修改内存。
比如说把00FD7353地址的值改成255
求以上过程代码(C++)
如果某方面在难度可说明下
我想自己做个临时内存修改器,因为用别的会非法
主要是做一个网络游戏的修改器。用来修改网络游戏 虽然有很多这样的修改器,但一打开就提示非法模块,然后游戏关闭了。烦死人了。
或者提供一个可以修改网络游戏的修改器源代码 ,要求为(C++)
展开
 我来答
yyrryyrr2
推荐于2016-11-15 · TA获得超过1120个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:447万
展开全部
下面是用户层的方法:
1)首先你最好要有SeDebugPrivilege权限,这样你打开别的进程就会有全部权限,当然即使这样你也打不开某些进程例如杀毒软件的进程。
这可以通过AdjustTokenPrivileges函数实现

2)调用OpenProcess打开游戏进程(注意:用PROCESS_VM_WRITE权限打开)你需要进程Id,你可以通过GUI来让用户输入PID,也可以通过FindWindow及GetWindowThreadProcessId的组合来获取进程Id
3)调用WriteProcessMemory写入指定进程地址空间,前提是你已经提取到了游戏数据所在的地址

如果你有细节问题,Hi我

----------------------------------------------------
下面是基本代码(省去了错误检测和SeDebugPrivilege的打开)

DWORD dwProcessId; //假设你已经获得了它
HANDLE hProcess = OpenProcess(PROCESS_VM_WRITE |
PROCESS_VM_READ ,
FALSE, dwProcessId);

PVOID pDestination = 目标进程地址;
BYTE MyData[5] = {0x4c, 0xff, 0x64, 0x00, 0x2f};
BOOL fSuccess = WriteProcessMemory(hProcess, //写入内存的进程句柄
pDestination, //目标进程的地址
(PVOID)MyData,//你要写入数据的地址
5, //大小,按字节计
NULL);

-----------------------------------------------
以下是通过游戏窗口名获得游戏PID的代码:(以纸牌游戏为例)

HWND hwnd = FindWindow(NULL,
TEXT("纸牌")); //寻找的窗口名称

DWORD dwProcessId;
(VOID)GetWindowThreadProcessId(hwnd, &dwProcessId);
ivaniren
2009-08-15 · TA获得超过1471个赞
知道小有建树答主
回答量:1088
采纳率:0%
帮助的人:0
展开全部
现在的操作系统都工作在保护模式下,不允许你随意修改其他进程的内存吧,等高人。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
181066149
2009-08-15 · TA获得超过239个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:307万
展开全部
做个标记...看看高手是怎么说的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式