Что такое Базовый адрес (Base address) и зачем он нужен?

Итак, начнем с самого начала, а именно — поиска базового адреса. Что это вообще такое и зачем нам это надо?

Говоря обывательским языком (гуглите «Динамическая память» если хочется углубленного понимания), память PW выделяется динамически, игра не занимает постоянно одно и то же место в памяти. Вы не можете, например, сходу взять адрес со значением ХП персонажа и работать с ним в своей программе. Найдя его сейчас, в будущем вы просто не узнаете где этот адрес находится, так как при каждом перезапуске клиента игры, он (адрес) будет меняться.

Как же быть? Нужно найти статический (базовый) адрес PW, который не меняется при перезапуске клиента! Проще говоря, именно этот адрес PW берет за основу и размещает в памяти относительно него все необходимые данные. Нам же останется только знать смещения (оффсеты) относительно этого адреса, чтобы получить актуальное на данный момент место в памяти с необходимой нам информацией (хп, мп, лвл, чи и т.п.). Поиском смещений мы займемся в следующих статьях.

Для тех, кто еще не совсем понял, проведем небольшую аналогию.
Представьте, что вы оказались в новом для вас торговом центре. Вы знаете, что где-то здесь находится нужный вам павильон. Но где? Вход в торговик — это базовый адрес. Он постоянен. Информационные таблички с логотипами фирм — это смещения (оффсеты) относительно входа (базового адреса). Они показывают, куда вам двигаться от входа, чтобы достигнуть желаемого павильона (места в памяти).

Таким образом, используя комбинацию «базовый адрес + смещение», вы можете находить область памяти, где в данный момент хранится нужная вам информация. Смещений, конечно, в подавляющем большинстве случаев, будет не одно, а несколько.

Стоит отметить, что постоянным остается не только базовый адрес. Есть и другие неизменяемые адреса, но самым важным из них является именно базовый адрес.

Поэтому важно самому уметь его находить, а не ждать, пока добрые дяденьки найдут за вас. Собственно, это касается всех смещений и адресов. Данный сайт как раз и посвящен тому, чтобы помочь вам в этом.

P.S. Постоянные адреса и смещения не изменяются до тех пор, пока вы используете текущую версию игры. Однако если в PW выходит более-менее крупное обновление, затрагивающее изменение файла elementclient.exe, то это сигнал к тому, что теперь придется потрудиться в поисках новых значений. Но может случиться и так, что изменения смещений и не коснутся, как это было при обновлении клиента PWI до версии 1.5.2 build 2482, когда основная часть смещений осталась без изменений.

Как же найти базовый адрес? Чтобы узнать, читайте далее.

Вы можете прокомментировать, либо оставить trackback со своего сайта.

Leave a Reply

Powered by WordPress