Я пытаюсь написать простой код для замены строки в программе другой, использующей WPM, и я могу заставить ее работать, но только частично.Это часть кода, который я использовал для получения результата.
string strWrite;
cin >> strWrite;
strWrite = strWrite + "\0";
if (WriteProcessMemory(hProcess, (LPVOID) reqdAddr, &strWrite[0], strWrite.size(), NULL) == false)
{
cout << "WriteProcessMemory failed. GetLastError = " << dec << GetLastError() << endl;
system("pause");
return EXIT_FAILURE;
}
Когда я пытаюсь заменить исходную строку DefaultString
на blabla
, я получаю результат blablatString
.Я пробовал что-то вроде замены strWrite.size()
на strWrite.size() + 1
и понял, что результат меняется на blabla String
.Мне нужна помощь в замене всей строки, а не только ее части.