Обновления в PW. Большие и маленькие

Всем привет.
Хотелось бы черкнуть пару строк об обновлениях в ПВ. Как вы понимаете, само по себе обновление подразумевает замену каких-либо файлов игры. Но не все из них нас интересуют. Давайте определимся какие же именно.
Классифицируем обновления на три категории:

1. Мелкие. Обычно в них локализатор изменяет ассортимент шопа, цены в нем, а так же исправляет ошибки в локализации игры (неверное описание, перевод оставшегося оригинального текста) и тд. Оффсеты и адреса при таких обновлениях не изменяются. Поэтому они нам неинтересны.

2. Средние. Такие обновления уже затрагивают elementclient.exe. Базовый адрес точно меняется. Однако это нельзя сказать с уверенностью про смещения. Большинство из них могут остаться прежними (как это было в недавнем обновлении на PWI). Однако такое случается не часто.

3. Крупные. Это обновления, связанные с вводом нового аддона для игры. Мало того, что меняются адреса и оффсеты (смещения), но даже можно встретить и изменение в функциях инжекта (пользовательские функции, имитирующие внутриигровые).

Что же делать когда вышло обновление и смещения «уплыли»? Нет необходимости искать их с нуля! Зачастую оффсеты просто сдвигаются вперед на кратное четырем байтам число.

Например: пусть у вас смещение для кол-ва ХП было 0x4B8. И вы видите, что после обновления там оно уже не хранится. Прибавьте к 4B8 число 4. Получим 4BC (кто не умеет работать с шестнадцатеричной системой счисления — просто возьмите в помощь стандартный калькулятор Windows). Проверяем. Оно? По этому смещению лежит ХП? Нет? Значит прибавляем еще 4. Получаем 4C0. Так же проверяем.

Допустим, мы нашли искомое смещение. Запомнили на сколько байт вперед оно переместилось? Теперь не надо перебирать. Остальные оффсеты, которые находились рядом с искомым, в большинстве своем так же лежат рядышком, на равноудаленном от искомого «расстоянии».

Есть смещения, которых изменения, как правило, не затрагивают. Например:
LocX = 0x3C
LocZ = 0x40
LocY = 0x44

Они остаются неизменными от версии к версии.

Постоянные же адреса при средних и крупных обновлениях изменяются. Базовый адрес, гейм адрес, адреса для функций — всё это придется находить заново.

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

Leave a Reply

Powered by WordPress