第一次在这里发布这么多我的谷歌结果来自这个精彩的网站。
基本上,我想找到存储在特定内存地址的变量的名称。我有一个我写的内存编辑应用程序,它编辑一个值,问题是每次保存这个值的应用程序被修补时,我必须将新的内存地址硬编码到我的应用程序中,然后重新编译,这需要很长时间维护它几乎不值得做。
我想做的是获取存储在某个内存地址的变量的名称,这样我就可以在运行时找到它的地址并将其用作要编辑的内存地址。
这一切都是用 C++ 编写的。
提前致谢!
编辑:
好吧,我决定要从 .txt 文件中流式传输数据,但我不确定如何将字符串转换为 LPVOID 以用作 WriteProcessMemory() 中的内存地址。这是我尝试过的:
string fileContents;
ifstream memFile("mem_address.txt");
getline(memFile, fileContents);
memFile.close();
LPVOID memAddress = (LPVOID)fileContents.c_str();
//Lots of code..
WriteProcessMemory(WindowsProcessHandle, memAddress, &BytesToBeWrote, sizeof(BytesToBeWrote), &NumBytesWrote);
代码在语法方面都是正确的,它可以编译和运行,但是 WriteProcessMemory 错误,我只能想象它与我的错误 LPVOID 变量有关。如果扩展我的问题的使用违反了规则,我深表歉意,如果是,我将删除我的编辑。