我的HMODULE值等于:00007FF695820000,我需要它 0x7FF695820000,但因为该值是正确的十六进制值,将其转换为十六进制只是使其成为更大的十六进制值。
有没有人知道我可以简单地在开头添加0x或让我的ReadProcessMemory认为这是十六进制值而不是十进制值。
它是HMODULE变量的原因是因为我使用它来获取Solitare.exe的基地址但是当前无法从中读取地址,因为我的ReadProcessMemory只是将其转换为十六进制,因此读取错误的地址。 / p>
答案 0 :(得分:0)
提到的地址00007FF695820000
是uint64_t
整数。要调用该函数,您应该关注变量类型,而不是它的可视化表示。
您可以通过以下方式读取进程内存:
UINT_PTR addr = (UINT_PTR)GetModuleHandle("Solitare.exe");
ReadProcessMemory(hProc, (void*)addr, pBuffer, nSize, &BytesRead);
要使用ReadProcessMemory
您的hProc
句柄应具有PROCESS_VM_READ
访问权限。