Перейти к содержанию

Не могу найти значение (значение могу менять в исходниках игры)


Рекомендуемые сообщения

Всем привет!

Помогите, пожалуйста.

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

 

orientation    = -1, -2, -3                                                           ; не найдены (тип данных - неизвестен, не могу найти)
position    = -0.5555552, -0.5555552, -0.5555552     ; найдены(float, не базовые адреса) 1C7CF3B4 1C7CF3B8 1C7CF3BC
zoom_rotate_x    = -0.666                                                     ; найдены(float, не базовые адреса)  1C7CF430
zoom_rotate_y    = -0.777                                                     ; найдены(float, не базовые адреса)  1C7CF434
zoom_offset    = -0.888, -0.888, -0.888                           ; найдены(float, не базовые адреса)  1C7CF438 1C7CF43C 1C7CF440

 

всё нашёл кроме параметра orientation. Для orientation пробовал все типы данных.

Подозреваю, что это возможно структура, но визуально в редакторе памяти не увидел ...

Вернее не так, нахожу, например 4 байта - 642000 адресов, а вот как отсеять - понятия не имею, ведь значение изначально не должно меняться в игре, т.е. грубо говоря - это координаты. которые неизменны (для отображения оружия).

Помогите, подскажите. Заранее благодарен. 

Изменено пользователем БабаЯГА
Ссылка на комментарий
Поделиться на другие сайты

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

  • Понравилось 1
Ссылка на комментарий
Поделиться на другие сайты

  В 08.07.2019 в 05:23, Xipho сказал:

Из сказанного тобой не понятно, лежит ли orientation рядом с position...

Показать  
  Показать контент

 

 

  В 08.07.2019 в 05:23, Xipho сказал:

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

Показать  

 

  Показать контент

 

 

Изменено пользователем БабаЯГА
Ссылка на комментарий
Поделиться на другие сайты

Поскольку ты знаешь смещение от position, то в своей программе ты можешь искать позишн, и от полученного адреса отнимать или прибавлять смещение (раз ориентейшн выше, то, скорее всего, нужно отнимать). А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения.

Ссылка на комментарий
Поделиться на другие сайты

  В 09.07.2019 в 07:57, Xipho сказал:

Поскольку ты знаешь смещение от position, то в своей программе ты можешь искать позишн, и от полученного адреса отнимать или прибавлять смещение ...

Показать  

 

Это понятно :) Проблема в другом, я не могу найти orientation. Может я что-то не то написал... Попробую ещё раз.

В исходнике  orientation = 131     а в памяти оно разбивается на два значения на    0.744   и на   -0.744. Я предполагал что в исходниках задаётся значение в градусах, а в памяти пишется в радианах, но я ошибся. На этом и застрял. Мне нужен адрес в памяти, в котором хранится ОДНО значение orientation - как в исходнике, я не могу его найти. Прошу помощи.

 

  В 09.07.2019 в 07:57, Xipho сказал:

А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения.

Показать  

 

Какие инструкции? Где в них будет адрес? Какой адрес? Я пересмотрел уже штук 20 видео - ничего не помогло найти orientation, поэтому я и пришёл сюда на форум - за помощью... Ткни носом в видео на вашем канале про то что ты написал:  "А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения."

Ссылка на комментарий
Поделиться на другие сайты

1. Находишь position

2. Находишь инструкцию, которая работает с этим position (читает или пишет в адрес)

3. Делаешь скрипт/инъекцию на этой инструкции, но в инъекции пока ничего кроме оригинального кода не пишешь.

4. Если в исходнике orientation лежит ДО position, то и в памяти оно будет лежать где-то ДО position. 

5. В редакторе памяти открываешь адрес position, и топаешь выше по памяти и экспериментально меняешь значения. Таким образом выйдешь на нужный тебе адрес.

5.1. Или есть еще вариант - position и orientation могут быть самостоятельными структурами в структуре/классе оружия.

В этом случае от position нужно выйти на структуру оружия и исследовать указатели рядом с указателем на структуру position. 

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

5.2 Еще вариант: отловить момент загрузки исходного файла, и шагать пошагово в  ходе его загрузки и компиляции. Но это сложно.

 

По первым трем пунктам у нас видео точно есть. И практически в каждом видео используется инъекция кода.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.