int main() {
srand(time(NULL));
int value = rand() % 100;
std::cout << "The value is: " << value << std::endl;
return 0;
}
cpp复制代码
编译并运行该程序,假设CE已经找到了value变量的指针地址0x113322。现在我们可以编写一个C++程序来读取这个指针地址并修改它的值:
#include <iostream>
#include <Windows.h>
int main() {
DWORD_PTR pointer_address = 0x113322; // 示范的指针地址,替换为实际找到的地址
int new_value = 50; // 假设我们想把 value 变量的值更改为50
// 为了访问其他进程的内存地址,首先要获取进程句柄
DWORD process_id = 1234; // 需要修改的进程ID,请替换为实际值
HANDLE h_process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_id);
if (h_process == NULL) {
std::cerr << "Failed to open process with ID " << process_id << ": " << GetLastError() << std::endl;
return 1;
}