利用特征码我已经读取到了0x031AEE61 这个地址
请问怎么才能将C6 86 CF 00 00 00 00 这七个字节 修改为 90 90 90 90 90 90 90
#include <windows.h>
#include <tlhelp32.h>
#include <psapi.h>
//根据进程名字获取进程ID
UINT GetProcessIdByName(LPCTSTR pszExeFile)
{
UINT nProcessID = 0;
PROCESSENTRY32 pe = {sizeof(PROCESSENTRY32)};
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if (hSnapshot != INVALID_HANDLE_VALUE)
{
if (Process32First(hSnapshot, &pe))
{
while (Process32Next(hSnapshot, &pe))
{
if (lstrcmpi(pszExeFile, pe.szExeFile) == 0)
{
nProcessID = pe.th32ProcessID;
break;
}
}
}
CloseHandle(hSnapshot);
}
return nProcessID;
}
//根据进程ID获取要写的内存首地址
DWORD dwAddr = GetProcessBaseAddress(pID);
BYTE jmp[7] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };
WriteProcessMemory(GetCurrentProcess(), (LPVOID)dwAddr, jmp, 7, 0);
感谢邀请,关键代码给你写出来了,你组合一下