Получение базового адреса процесса в 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, значит, вы либо привязаны к неправильному процессу, либо запутались.

Другие вопросы по тегам