BOOL RemoveBreakPoint(HANDLE hProcess, UINT nNum)
{
if (nNum >= sizeof(g_bpData) / sizeof(BPDATA)) return FALSE;
BYTE byTemp;
DWORD dwNewProt, dwOldProt;
LPVOID lpAddr = g_bpData[nNum].lpAddr;
VirtualProtectEx(hProcess, lpAddr, 1, PAGE_EXECUTE_READWRITE, &dwOldProt);
BOOL bOK = ReadProcessMemory(hProcess, lpAddr, &byTemp, 1, NULL);
bOK = (byTemp == 0xcc);
if (bOK)
{
bOK = writeprocessmemory(hProcess, lpAddr, &g_bpData[nNum].byData, 1, NULL); //还原原指令
if (bOK) ZeroMemory(g_bpData nNum, sizeof(BPDATA));//清空
}
VirtualProtectEx(hProcess, lpAddr, 1, dwOldProt, &dwNewProt);
return bOK;
}
以上就是关于writeprocessmemory的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shenmilingyu/article-5203-2.html
应该统一起来
潜艇
战舰不断地挑衅我国海岛吗
已经做了n次作战方案