GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти
    1. Главная
    2. Sergey99
    3. Сообщения
    S
    • Профиль
    • Подписки 0
    • Подписчики 0
    • Темы 4
    • Сообщения 8
    • Группы 0

    Сообщения

    Последние Лучшие сообщения Спорные
    • RE: Поиск адреса режима Noclip в 64-битной игре, если нет возможности поиска через изменение значения

      @LIRW протестил в Ghosts, всё ок.

      Два вопроса такие же как в предыдущем посте в этой категории (если есть разница в алгоритме поиска для 64-битной игры): для какой функции эти байты, которые находятся aobscan'ом? И как их можно изначально найти, от чего отталкиваться?

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • RE: Поиск адреса режима Noclip в 32-битной игре, при условии почти одинаковых структур в памяти

      @LIRW Нашел эту сигнатуру в памяти MW2 если первый опкод в этой сигнарутер, а конкретно je заменить nop'ами, то noclip включается, всё ок. Протестил также с адресом, который хранит состояние noclip'а (1/0), при записи nop'ов значение в адресе не меняется. Значит noclip работает отдельно от состояния.

      Два вопроса: для какой функции эти байты, которые находятся aobscan'ом? И как их можно изначально найти, от чего отталкиваться?

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • Поиск адреса режима Noclip в 64-битной игре, если нет возможности поиска через изменение значения

      Пытаюсь найти адрес, который хранит флаг состояние режима "noclip", где 1 - включено и 0 - выключено в Call of Duty: Ghosts. В предыдущих играх серии, начиная с Modern Warfare 2 с помощью Cheat Engine я смог найти адрес, он расположен по смещению в несколько байт от базовго адреса "сущности игрока". На данный момент нашел адрес для игр CoD: MW2/MW3/Black Ops. Благо все эти игры 32-битные и разработчики используют один и тот же игровой движок, который немного отличается от игры к игре.

      Вот этот опкод и байты для Modern Warfare 2:

      F680 54AD0000 08 test byte ptr [eax+0000AD54],08
      

      Байты и маска для поиска сигнатур в OllyDbg:

      \xF6\x80\x54\xAD\x00\x00\x08 - байты
      xx????x - маска
      

      Примеры смещений, по которым расположн адрес:
      MW2:

      player + 0xAD54 - noclip
      player + 0x24 - Z координата
      

      MW3:

      player + 0xAE04 - noclip
      

      Поскольку Call of Duty Ghosts — это игра с 64-битной архитектурой, и разработчики также убрали консоль, как это было в Modern Warfare 3, у меня нет опкодов, которые могут взаимодействовать с адресом noclip. Более того, я не могу найти этот адрес, изменяя значения в Cheat Engine, потому что привязка клавиш для команды noclip не работает, как и консоль. Я буду очень признателен за помощь в поиске адреса и значения!

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • Поиск адреса режима Noclip в 32-битной игре, при условии почти одинаковых структур в памяти

      Пытаюсь найти адрес, который хранит флаг состояние режима "noclip", где 1 - включено и 0 - выключено в Call of Duty: Black Ops 2. В предыдущих играх серии, начиная с Modern Warfare 2 с помощью Cheat Engine я смог найти адрес, он расположен по смещению в несколько байт от базовго адреса "сущности игрока". На данный момент нашел адрес для игр CoD: MW2/MW3/Black Ops. Благо все эти игры 32-битные и разработчики используют один и тот же игровой движок, который немного отличается от игры к игре. В Modern Warfare 2 я нашел адрес через поиск и изменение значения в Cheat Engine, включая и выключая noclip. Однако во всех перечисленных мною играх есть опкод, который умеет читать значение из адреса и сравнивать его с числом 8 (я не знаю зачем).

      Вот этот опкод и байты для Modern Warfare 2:

      F680 54AD0000 08 test byte ptr [eax+0000AD54],08
      

      Байты и маска для поиска сигнатур в OllyDbg:

      \xF6\x80\x54\xAD\x00\x00\x08 - байты
      xx????x - маска
      

      Если искать в бальшом диапазоне адресов то можно найти не много адресов с опкодами (максимум 4), далее каждый найденный адрес с опкодом можно найти в Cheate Engine и узнать к каким адресам опкод имеет доступ, результат будет 1. Далее в найденном адресе можно поменять значени с 0 на 1 и убедиться что это адрес состояния noclip. Таким образом я нашел адреса для MW2/MW3/Black Ops.

      По итогу во всех играх адрес noclip находится в структуре "сущности игрока" примеры:
      MW2:

      player + 0xAD54 - noclip
      player + 0x24 - Z координата
      

      MW3:

      player + 0xAE04 - noclip
      

      BO:

      player + 0x1C0C - noclip
      

      Но с Black Ops 2 возникли сложности, я также попытался через опкод найти адрес, я его нашёл, этот адрес расположен таким образом:
      BO2:

      player + 0x1C34 - noclip
      

      НО значения 1 и 2 ничего не дают, я сделал скрипт который увеличивает значение на 1 и уменьшает значение на 1 при нажатии горячих клавиш. По итогу при определённых значениях игрок просто замирает на месте и не может двигать камерой, а также стрелять, как будто все его действия блокируются, а при других значениях блокировка отключается. Диапазон для каждого из двух состояний примерно 5 единиц.

      По итогу не получилось у меня полетать через noclip или ufo. Может быть мне нужен другой адрес, смещение или значение?

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • RE: Что такое дамп памяти/снимок/состояние?

      @StoneWeaver вот если прочитать байты со всего виртуального адресного пространства процесса, это будет называться сохранением состояния или снимка программы? Если да, то получается если я запишу обратно все эти байты в память процесса это будет называться восстановлением состояния.

      Тот же пример с игрой - это будет считаться будто я сохранил игровой процесс в файл в виде снимка, а потом восстановил его, только использовал не игровую функцию сохранения, а функцию чтения/записи байт в памяти.

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • Что такое дамп памяти/снимок/состояние?

      У меня есть игра, в которой есть персонаж, который может ходить, бегать и прыгать. У него есть здоровье. Я могу сохранить состояние игры (процесса) - сделать снимок/дамп с помощью специального инструмента. Дальше похожу, побегаю, уменьшу количество здоровья и загружу дамп/снимок в память процесса и в итоге получу исходные координаты и начальное количество здоровья (которое было на момент создания дампа). Похожая штука есть в эмуляторах.

      Могу ли я сказать, что снимок или дамп памяти — это байты, которые были сохранены на момент создания снимка в виртуальном адресном пространстве (в куче, сегменте кода, сегменте данных, BSS-сегменте, стеке и в области для загруженных библиотек, см. изображение ниже)?

      7051cf53-d6c6-4af7-953b-22163489669a-image.png

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

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • RE: Поиск базового адреса структуры машины в игре GTA LCS на эмуляторе PPSSPP

      @Partizan1078
      В EDI был адрес памяти который каждый кадр или каждую секунду хранил разные значения, примерно от 0 до 7-ми значного. Тут я пока не понял что это такое. Ну и да если прибавить смещение, получаю адрес изначальный.
      Artmoney пробовал, но давно и только чтоб пару значений найти.
      В CE использовал его же отладчик, правой кнопкой по адресу и "what access", "what writes to this address".

      P.S. Попробовал Artmoney, адреса находит, даже показывает как бы реальные адреса (те которые в игре, например, 0997FE78 - это адрес в игре или эмулируемый, а есть 17D7FE78 - это уже адрес на ПК то есть, который эмулирует), но при попытке присоединить отладчик снова вижу movss [edi+0C400268], xmm2. Выходит надо отлаживать именно тот самый реальный игровой адрес -> попробовал, не хочет, даже в CE пытался найти именно реальный адрес, но безуспешно, значит в памяти ПК его нет, CE его не видит, а он есть.

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99
    • Поиск базового адреса структуры машины в игре GTA LCS на эмуляторе PPSSPP

      Добрый день, ломаю игру на эмуляторе PPSSPP (32-битный процесс). До этого с эмуляторными играми не работал. Со структурами я знаком, поэтому нашёл адрес здоровья машины и попытался через отладчик в CE (использую последнюю версию 7.5) найти что пишет или читает этот адрес.

      Ожидал увидеть что-то такое опкод [регистр+смещение], значение (если есть), где в регистре содержится базовый адрес структуры конкретной машины в игровом мире, а смещение - это смещение в байтах от начала структуры до адреса/поля со здоровьем в структуре. Для примера в играх GTA 3, VC, SA на PC это работает так да и в принципе во всех играх, так как такая штука как структура устроена везде одинаково.

      Однако увидел нечто такое movss [edi+0C400268], xmm2 по логике в edi должен быть базовый адрес структуры, но там адрес, который в памяти находиться сильно сильно выше относительно адреса здоровья машины и смещение как можно видеть 0x0C400268 тоже весьма огромное. Попытался через автоматический поиск указателей в CE найти хоть что-то, но там 0, однако если указать максимальное значение смещение перед началом поиска в 999999 то что-то начнёт находить, только начало указателя будет чем-то таким "PPSSPPWindows.exe"+0004D110.

      Вопрос, в чём тут хитрость и можно ли найти всё таки базовый адрес структуры?

      написал в Взлом игр (вопросы и ответы)
      S
      Sergey99