![](/img/trans.png)
[英]WriteProcessMemory() returns 487? Value found using CheatEngine
[英]ReadProcessMemory CheatEngine Value
我想從進程中獲取一個值,這是一個使用“計算器”的簡單測試。 首先,我使用 CheatEngine 獲取地址。 其次,我把它放在 ReadProcessMemory 中。 但是 ReadProcessMemory 返回 0,我想我錯過了一些東西,我用 BaseAddress 找到了一些東西,但我仍然有不好的結果。 谷歌對我來說沒有結果,所以我問你!
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int value;
DWORD pid;
HWND hwnd = FindWindow(NULL,"Calculatrice");
if(!hwnd)
{
cout << "Window not found!";
}
else
{
GetWindowThreadProcessId(hwnd,&pid);
HANDLE phandle = OpenProcess(PROCESS_ALL_ACCESS,0,pid);
if(!phandle)
{
cout <<"Could not get handle!";
}
else
{
cout << ReadProcessMemory(phandle,(LPVOID)0xC71657E900,&value,sizeof(value),0) << endl;
cout << value;
getch();
return 0;
}
}
}
解決 ! 當地址過大時,因為是64bit地址,程序改成32bit地址,所以不工作。
因此,在 Visual Studio 中,設置為 x64。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.