HANDLE h;
h = OpenProcess(PROCESS_ALL_ACCESS, TRUE, GetCurrentProcessId()); char buf[10];
memset(buf, 0, sizeof(buf));
DWORD by = 0x0118;
::ReadProcessMemory(h, (void *)0x50003C,
(void *)buf,
4,
NULL); memset(buf, 0, sizeof(buf));
WriteProcessMemory(h, (void *)0x50003C,
(void *)by,
4,
NULL); memset(buf, 0, sizeof(buf));
::ReadProcessMemory(h, (void *)0x50003C,
(void *)buf,
4,
NULL);
h = OpenProcess(PROCESS_ALL_ACCESS, TRUE, GetCurrentProcessId()); char buf[10];
memset(buf, 0, sizeof(buf));
DWORD by = 0x0118;
::ReadProcessMemory(h, (void *)0x50003C,
(void *)buf,
4,
NULL); memset(buf, 0, sizeof(buf));
WriteProcessMemory(h, (void *)0x50003C,
(void *)by,
4,
NULL); memset(buf, 0, sizeof(buf));
::ReadProcessMemory(h, (void *)0x50003C,
(void *)buf,
4,
NULL);
(void *)by,
4,
NULL);
by 还是 &by 如果是by,就是把by变量转换成指针,把地址0x0118的东西写进去,可能会造成内存访问越界如果是&by ,就是把0x0118写进去
WriteProcessMemory(h, (void *)0x40003C,
&by,
4,
NULL);