不是改不了,是权限不够高。
步骤
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.用VirtualProtect恢复页面原有属性,前两个参数相同,第三个参数传入2获得的
lpflOldProtect
OK...