[英]How to use a HMODULE as a DWORD / Hex value? (C++)
我的HMODULE值等於:00007FF695820000,我需要將其設為0x7FF695820000,但由於該值是正確的十六進制值,因此將其轉換為十六進制只會使其更大。
有誰知道我可以簡單地在開頭添加0x或使我的ReadProcessMemory認為這是一個十六進制值而不是十進制值的方法。
它是HMODULE變量的原因是因為我正在使用它來獲取Solitare.exe的基地址,但當前無法從中讀取地址,因為我的ReadProcessMemory只是先將其轉換為十六進制,因此讀取了錯誤的地址。
提及的地址00007FF695820000
是uint64_t
整數。 要調用該函數,您應該關心變量類型,但不要關注它的直觀表示。
您可以通過以下方式讀取過程存儲器:
UINT_PTR addr = (UINT_PTR)GetModuleHandle("Solitare.exe");
ReadProcessMemory(hProc, (void*)addr, pBuffer, nSize, &BytesRead);
要使用ReadProcessMemory
您的hProc
句柄應具有PROCESS_VM_READ
訪問權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.