【发布时间】:2017-02-05 13:42:47
【问题描述】:
我在C++ 中使用 writeprocessmemory 获得error 998 (access denied)。
我不知道我做错了什么。
这是我的一些代码:
DWORD ProcessId;
GetWindowThreadProcessId(WindowHandle, &ProcessId); //pID
if (ProcessId) {}
else {
cout << "ERROR! Process ID Could not be received." << endl;
return 0;
}
//Get the Process Handle
HANDLE ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, false, ProcessId);
if (ProcessId) {}
else {
cout << "ERROR! Process Handle could not be received." << endl;
return 0;
}
//Get it done with.
bool MemWritten = WriteProcessMemory(ProcessHandle, Address, &NewValue, sizeof(NewValue), NULL);
//Close the process handle to prevent memory leak.
CloseHandle(ProcessHandle);
【问题讨论】:
-
现在写入可执行内存空间受到限制,这可以防止大量的漏洞利用类型。
-
我最近看到有人这样做,不是。
-
你想完成什么?
-
"any1 srsly 我得尽快去" 这是一个巨魔吗?我不认为 Stack Overflow 是你想象的那样!!
-
“我最近看到有人这样做,不是”肯定是。操作系统已经这样做了几十年。那是他们的工作。在当今病毒和漏洞不断涌现的世界中,如果没有此类保护,您的计算机将完全无用。
标签: c++