Вычисляем base Adress

kick

Магистр Йода
Administrator
Сообщения
6 674
Розыгрыши
13
Репутация
5 240
Реакции
5 510
Баллы
2 688
1. Всяческими уловками ищем значение.
2. находится от 1 до 100 значений, которые меняются синхронно с значением в игре.
3. Добавляем все, и будем перебирать каждый. Авось, нужный да найдется.
4. Выбираем значение в нижнем списке (обращаем внимание на его адрес. У меня он такой: 0D07C510), щелк по нему Правой кнопкой мыши, и выбираем Find what writes to this adress (Найти что пишет на этот адрес).
5. Немного поизменяем значение в игре, дабы нашлось несколько значений.
6. В списке смотрим только на те, у которых в квадратных скобках есть что-то вроде следующего:
0099E1F2 - 89 87 80020000 - mov [edi+00000280],eax
На месте edi может быть что-то другое, но обязательно должны быть квадратный скобки.
7. Выбираем это значение в списке, и тыкаем справа More information (больше информации).
8. Тут нас интерисует 2 цифры:
- Это плюсуемое значение, подсвеченное красным. в моем случае это:
0099E1F2 - mov [edi+00000280],eax
- И Оффсет. Оффсеты записанны в нижней части, и их там аж 9 штук. Какой же из них выбрать?
А очень просто. Т.к. у нас в квадратных скобках именно EDI, то и оффсет смотрим от EDI. У меня это следующее:
EDI=0D07C510
9. Закрываем окно с продробной информацией, останавливаем и закрываем поиск того, что ищет что пишет на адрес (Stop - Close).
Тыкаем NewScan, указываем тип значение 4 Bytes, и отмечаем галочкой, что значение у нас в хексовом виде (Hex)
Вставляем в строку поиска наш оффсет (у меня это 0D07C510) и ищем.
10. Если ничего не нашлось, то нам надо искать по другому игровому значению (мы же на 3 шаге добавили не одно, а несколько).
Выбираем следующее значение, и идем начиная с шага 4.
Если же нашлось что-то, то идем дальше.
11. В результатах поиска есть 3 колонки:
  • Adress (Адрес)
  • Value (значение)
  • Previous (предыдущее значение)
Тыкаем Add Adress Manually (Добавить адрес вручную), отмечаем галочку Pointer (Указатель) и вбиваем туда следующие значения
В поле Адрес вбиваем адрес первого найденного только-что значения (из колонки Adress), в поле Оффсет вбиваем первую цифру из 8 шага (у меня это 280).
И смотрим на полученный результат сложения. Или у вас это может так-же называться The offset you choose brings it to:
Он должен быть равен адресу значения из шага 4 (у меня это 0D07C510).
Если он не равен - то вбиваем ручками следующий адрес из результатов поиска, и смотрим на результат сложения/
12. Оффсеты совпали, и мы добавили указатель в наш список снизу.
Далее тык по нему Правой кнопкой мыши и выбираем Find what acess this adress (Найти что получает доступ к этому адресу).
Далее тык на первую кнопку Find what acess this pointer.
Далее в игре поизменяем любым способом наше игровое значение. Найдется несколько значений.
Нам нужно первое, у которого что-то плюсуется в квадратных скобках (как на шаге 6).
Тыкаем More information (больше информации) и, как на 8 шаге, записываем или запоминаем те же 2 параметра (см. 8 шаг).
У меня получились ESI значения, поэтому я смотрю оффсет ESI (02000368 ) и записываю плюсуемое значение (4).
13. Закрываем окна с подробной информацией и поиском, и начинаем новый поиск оффсета, как на шаге 9.
Теперь ищем только-что найденный оффсет (у меня это 02000368 ).
14. В результате что-то находится. Подсвеченный зеленым адрес в первой кнолонке и есть наш базовый адрес.
Если не находится, то идем на шаг 11, и добавляем указатель, используя следующий адрес из результатов поиска.
 
Сверху Снизу