Работа с памятью процесса как работать с динамическими адресами?
Здравствуйте есть нужный мне адрес при перезапуске игры он постоянно меняется. Подскажите как сделать его постоянным или за ново его находить ?
Игра wow, допустим адрес который содержит хп персонажа. Объясните или дайте ссылку где об этом можно почитать.
вот так я читаю нужные мне данные ReadProcessMemory(process, (LPCVOID)(0x2C72A538), &Health, 16, NULL); все работает нормально при перезапуске игры адрес 0x2C72A538 меняется.
Читайте про виртуальные адреса и будет вам щастье.
ОС может расположить процесс где ей вздумается и выделить ему произвольное виртуальное адресное пространство.
у меня есть одна идея но не знаю получиться ли.
Найти начало адреса процесса вычесть его из 0x2C72A538 и получить что то типо смещения. Что вы скажете про такой ход мыслей ?
память с хп могла быть выделена динамически, в этом случае поиск начала памяти процесса бесполезен. нужно искать, где в коде сохранен адрес структуры с хп, и читать его оттуда.
Если вам нужно быстро и просто, не вдаваясь в дизассемблеры и реверс-инжиниринг, то пройдите туториал утилиты Cheat Engine. Там отлично и просто рассказано, как искать такие адреса.
А дальше уже напишете свой сканер под это дело, если нужно.