用VB如何去修改只读内存的内容?

来源:百度知道 编辑:UC知道 时间:2024/06/19 06:55:32
如题
使用ReadProcessMemory、WriteProcessMemory该如何修改只读内存的数值捏?
游戏的句柄和控制权都全获取好了……
读写内存已成功读写,只读内存那部分不知道还差什么东东才能改写
听说是要修改内存空间的环境什么的,改完就得恢复。
请问是怎么做的呢?
有些在Cheat Engine里面可以改的内存在VB中却改不鸟,
那又是什么原因捏?

不是改不了,是权限不够高。
步骤
1. 先用VirtualQueryEx 获得你想修改的进程的地址空间
DWORD VirtualQueryEx(
HANDLE hProcess, // handle to process
LPCVOID lpAddress, // address of region
PMEMORY_BASIC_INFORMATION lpBuffer,// address of information buffer
DWORD dwLength // size of buffer
);
2. 获得这个lpAddress了... 然后用
BOOL VirtualProtect(
LPVOID lpAddress, // address of region of committed pages
DWORD dwSize, // size of the region
DWORD flNewProtect, // desired access protection
PDWORD lpflOldProtect // address of variable to get old protection
);
// 更改其页面的属性 第三个参数传入PAGE_READWRITE 第一个,第二个参数分别是由1获得的两个冬冬。。。第四个为返回原有的页面属性
3. 用WriteProcessMemory修改。。
4.用VirtualProte