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

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;
}

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

C++ 进程内存读取函数错误处理和日志记录

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

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