Получение базового адреса процесса в vb.net
ОК, это странно. Мне нужно получить базовый адрес процесса в vb.net (не мое приложение). Чтобы вникнуть в память другого процесса (изучить нужные мне значения, прежде чем кодировать его в vb.net), я использовал чит-движок. Чит-движок дает мне такой адрес:
Client.exe + 00BBD310
Проблема заключается в том, что адрес Client.exe изменяется каждый раз, когда я перезапускаю программу. У меня уже есть объявление процесса в моем коде, поэтому я попробовал это:
bAddress = handle_s.MainModule.BaseAddress
Где handle_s - это рассматриваемый процесс. Проблема здесь в том, что значение, которое я получаю в bAddress, не является значением, которое представлено чит-движками "Client.exe" - я могу работать задом наперед, чтобы выяснить, к какому движку чит-кода относится, поскольку он говорит мне, каков результат выше сумма, однако, поскольку значение меняется каждый раз, мне нужен метод, с помощью которого можно просто получить значение в vb.net.
Любые советы / предложения приветствуются.
0 ответов
MainModule.BaseAddress
дает вам адрес, по которому был загружен модуль (источник)
Следовательно, это абсолютный динамический виртуальный адрес модуля. Если 0x0BBD310 - относительное смещение, то добавление 0x0BBD310 в MainModule.BaseAddress даст вам адрес вашей переменной во время выполнения.
Если это не совпадает с тем, что вы видите в Cheat Engine, значит, вы либо привязаны к неправильному процессу, либо запутались.