stitle db "FTE",0
hProcId dd 0
code1 dd 90909090h
invoke FindWindow,NULL,ADDR stitle
invoke GetWindowThreadProcessId,eax,ADDR hProcId
invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,hProcId
mov hProcess,eax
invoke VirtualProtectEx,hProcess,00400000h,9,PAGE_READWRITE,NULL
invoke WriteProcessMemory,hProcess,00400000h,ADDR code1,4,NULL
==========================
用 OpenProcess,PROCESS_ALL_ACCESS得到了hProcess,然后应该就可以直接
WriteProcessMemory,hProcess,00400000h,ADDR code1,4,NULL
应该没错吧?
我调试的时候出错,返回的是ERROR_NOACCESS (000003E6)
WriteProcessMemory(
HANDLE hProcess, // handle to process
LPVOID lpBaseAddress, // base of memory area
LPCVOID lpBuffer, // data buffer
SIZE_T nSize, // count of bytes to write
SIZE_T * lpNumberOfBytesWritten // count of bytes written 这个不知道有什么用?
)
听人说要先用VirtualProtectEx改变section为可写属性。。。。 ???
VirtualProtectEx(
HANDLE hProcess, // handle to process
LPVOID lpAddress, // region of committed pages
SIZE_T dwSize, // size of region 这个大小是什么大小?我不知道,我乱写了个9
DWORD flNewProtect, // desired access protection
PDWORD lpflOldProtect // old protection 这个也不知道改什么弄?
)
VirtualProtectEx,hProcess,00400000h,9,PAGE_READWRITE,NULL
我调试的时候还是出错,返回的也是ERROR_NOACCESS (000003E6)
请高手指点一下啊
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!