永发信息网

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

答案:3  悬赏:0  手机版
解决时间 2021-04-07 23:24
求修改某进程内存的代码(C++)
最佳答案
下面是用户层的方法:
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);
全部回答
做个标记...看看高手是怎么说的
现在的操作系统都工作在保护模式下,不允许你随意修改其他进程的内存吧,等高人。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
“柔和的 ”用英语怎么说
上海mf12万用表里用几块电池?
我的新年计划是取得好成绩 翻译
单选题质量较大的鸽子与质量较小的燕子在空中
买一合水彩笔9元8角,我只有1元我还差多少
屋里冷冷清清,连什么的钟声都听得见
农村淘宝宣传标语,淘宝新店开业怎么写广告宣
单选题Listentome.Ihave________totellyo
八月十五的月亮歇后语,描写月亮的句子
夏时令是啥意思啊?
什么是圆度误差?
淘宝可以租写字楼吗、
哪里可以卖二手奢侈品?
金塔县园艺场在哪里啊,我有事要去这个地方
文天祥 舍身取义的故事
推荐资讯
二子送老的意思
潮汕小品有钱人里面演员表
问道混79好点还是89好?
狗能憋大小便吗
汤圆的英文名称是什么
昆虫死后尸体一般都在哪
把心锁好的繁体字怎么写
微信如何制作动态表情,如何自己制作微信动态
表达对人生知足的句子,人生感伤的句子
经过近30年的发展,中国取得了举世瞩目的成就
吞卡手电是什么
江岸景苑我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?