我正在创建一个简单的 HACK 仅用于教育目的。一个简单的 Triggerbot,它从内存中读取玩家瞄准敌人 YES = 1 或 NO = 0 的值。我已经做了一些其他类似的 HACKS 但我从未发现这个问题.. 在彩虹六号围攻中,我有静态或动态的内存地址但是作弊引擎读得很好,但是当我尝试从我的 C++ 程序中读取它时,它不起作用。不知道为什么它可以与其他游戏一起使用。我对此很陌生,也许我做错了什么。
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#define F6Key 0x75
using namespace std ;
int value ;
int main()
{
cout << "Open Game .." << endl ;
system("Pause") ;
LPCWSTR gameone = L"Rainbow Six";
HWND hwnd = FindWindow(0, gameone);
if (gameone == 0)
{
cout << "Not Found." << endl ;
system("Pause") ;
}
else
{
cout << "Success finding game." << endl;
DWORD processid ;
GetWindowThreadProcessId(hwnd, &processid) ;
HANDLE process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processid) ;
cout << processid ;
if (!ReadProcessMemory(process, (void *)0x25421AD9D6C, (void *)&value, sizeof(value), NULL)) {
cout << "Unable to read memory proccess";
}
else {
cout << "\n Read: " << value;
}
system("Pause");
}
return 0 ;
}
这是简单的代码 Find the Window by name, 得到它的 PID 没问题。OpenProcess 然后当我用进程调用方法 ReadProcessMemory 时,通过参数的地址指针值无法读取它打印 if 条件并且永远不会读取值的 else 。
如果我从 If 条件中删除该函数只是为了测试是否至少指向它给出一些随机值的东西......很奇怪我无法读取内存它总是有效::(有人可以帮我吗?它是一些安全软件之王或什么的?