Впервые публикую здесь после того, как так много моих результатов Google появилось на этом замечательном сайте.
По сути, я хотел бы найти имя переменной, хранящейся по определенному адресу памяти. У меня есть приложение для редактирования памяти, которое я написал, которое редактирует одно значение, проблема в том, что каждый раз, когда приложение, содержащее это значение, исправляется, мне приходится жестко кодировать новый адрес памяти в моем приложении и перекомпилировать, что занимает так много времени для содержание, что его почти не стоит делать.
Что я хотел бы сделать, так это получить имя переменной, хранящейся по определенному адресу памяти, чтобы затем я мог найти ее адрес во время выполнения и использовать его в качестве адреса памяти для редактирования.
Это все пишется на 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. Я извиняюсь, если расширение использования моего вопроса противоречит правилам, я удалю свое редактирование, если это так.