该函数已经很完整了,但可以增加一些错误处理和日志记录:

bool read_process_memory(void* process, uint64_t address, void* buffer, size_t size) { SIZE_T bytes_read; if (ReadProcessMemory(process, (LPCVOID)address, (LPVOID)buffer, size, &bytes_read) == FALSE) { // 读取进程内存失败,记录日志 std::cerr << "Failed to read process memory. Error code: " << GetLastError() << std::endl; return false; } if (bytes_read != size) { // 实际读取的字节数和期望的不一致,记录日志 std::cerr << "Read " << bytes_read << " bytes instead of " << size << " bytes." << std::endl; return false; } return true; }

这样就可以更好地处理可能出现的错误情况,并记录日志方便调试。

完善以下函数
bool read_process_memory(void* process, uint64_t address, void* buffer, size_t size) {
	SIZE_T bytes_read;
	return ReadProcessMemory(process, (LPCVOID)address, (LPVOID)buffer, size, &bytes_read) != FALSE;
}

原文地址: https://www.cveoy.top/t/topic/BDp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录