读取进程内存 C++ 不会读取

Readprocessmemory in C++ won't read

本文关键字:读取 内存 取进程 C++      更新时间:2023-10-16

我已经编码了几年了,但在 2016 年我休息了几年。现在我决定回来,所以我想玩一些逆向工程。我玩过一款名为《黑色行动1:僵尸》的游戏。我找到了内存地址,然后我进入C++编写一个简单的无限弹药作弊(这是离线的(,但它不起作用,所以尝试使用 ReadProcessMemory 看看它是否提供了正确的弹药。控制台开始打印出"0"。我认为代码可能有问题,所以我查找了一些较旧的源代码,代码是相同的,尝试安装 VS 2015 以防编译器出现问题,仍然没有,尝试了 GNCC 编译器,仍然什么都没有。尝试在我的第二台计算机上使用它,它起作用了。我尝试禁用防病毒和Windows defender,但仍然一无所获。如果它意味着什么,这是源代码:

#include <iostream>
#include <Windows.h>
using namespace std;
DWORD Address = 0x180A6C8;
DWORD pID;
int points;
int main()
{
    while (true)
    {

        HWND hWnd = FindWindowA(0, ("Call of Duty®: BlackOps"));
        GetWindowThreadProcessId(hWnd, &pID);
        HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, pID);
        ReadProcessMemory(pHandle, (LPVOID)Address, &points, sizeof(points), 0);
        cout << points << endl;
        Sleep(100);
    }
}

A.( 你能在作弊引擎等中读取地址吗

B.(它是否需要基址(例如"客户端.dll"(? 如果是这样,请获取所需模块的模块基址。