我有一个正在运行的程序,该程序附加到记事本,并且可以成功读取用记事本编写的前20个字符,但是如果我尝试将一些字节写回到Notepad.exe,它将给我很多类似于中文的字符。 也许是unicode问题? 但是我创建了一个字节数组!?
已经尝试以char数组和字符串的形式读写该值。
BYTE text[20];
for (int i = 0; i < 20; i++) {
ReadProcessMemory(han, (void*)start2, &text[i], sizeof(QWORD), 0);
start2 += 2;
}
printf("%s\n", text);
预期结果:更改notepad.exe的字符串。 实际结果:字符串以我不理解的字母显示。