簡體   English   中英

如何使用HMODULE作為DWORD /十六進制值? (C ++)

[英]How to use a HMODULE as a DWORD / Hex value? (C++)

我的HMODULE值等於:00007FF695820000,我需要將其設為0x7FF695820000,但由於該值是正確的十六進制值,因此將其轉換為十六進制只會使其更大。

有誰知道我可以簡單地在開頭添加0x或使我的ReadProcessMemory認為這是一個十六進制值而不是十進制值的方法。

它是HMODULE變量的原因是因為我正在使用它來獲取Solitare.exe的基地址,但當前無法從中讀取地址,因為我的ReadProcessMemory只是先將其轉換為十六進制,因此讀取了錯誤的地址。

提及的地址00007FF695820000uint64_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM