Хорошо, это странно. Мне нужно получить базовый адрес процесса в vb.net (не моего приложения). Чтобы копаться в памяти другого процесса (чтобы изучить значения, которые мне нужны, прежде чем кодировать их в vb.net), я использовал чит-движок. Cheat Engine дает мне такой адрес:
Client.exe + 00BBD310
Проблема здесь в том, что адрес Client.exe меняется всякий раз, когда я повторно запускаю программу. У меня уже есть объявление процесса в моем коде, поэтому я пробовал это:
bAddress = handle_s.MainModule.BaseAddress
Где handle_s — это рассматриваемый процесс. Проблема здесь в том, что значение, которое я получаю в bAddress, не является значением, которое представлено чит-движками «Client.exe». выше сумма, однако, поскольку значение каждый раз меняется, мне нужен метод, с помощью которого можно просто получить значение в vb.net.
Любые советы/предложения приветствуются.
00BBD310
смещение? Значение Module.Address +BBD310
. - person Jimi   schedule 25.02.2019Client.exe
. Вы уверены, что этот исполняемый файл имеет только один процесс? Кроме того, можете ли вы сказать, что адрес, показанный (читерским движком), на самом деле является точкой входа основного модуля, а не другой ссылкой на адрес? Смещение заголовка, возможно. Если вы изначально не рассчитали смещение правильно: выравнивание может быть сложным. Вы можете найти значения, которые у вас есть, с адресами, которые вы можете получить отProcess.GetProcessByName()
, и посмотреть, сможете ли вы понять, на какой адрес указывает чит-движок. Скучная процедура, я знаю. - person Jimi   schedule 26.02.2019