GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Взлом Unturned

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (средний уровень и выше)
    3 Сообщения 2 Posters 216 Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • Suplin3S
      Suplin3
      отредактировано

      Доброго всем времени суток! Решил тут на днях попрактиковаться во взломе, а именно во взломе игр на юнити в реализации mono.
      Всё было хорошо до одного момента...
      Первым делом нашёл значение стамины, отсканировал на это значение цепочку указателей. Далее закинул Assembly-CSharp.dll в dnSpy и увидел очень красивую картину, которая позволила найти гору других полезный значений:
      NVIDIA_Share_iiKUORRqhx.png

      Перенёс всё что нужно в CE, с помощью смещений от стамины:
      NVIDIA_Share_eKTasdjG2Q.png

      Далее я путём сканирования значений нашёл все 3 координаты игрока и установил, что они находятся в виде Vector3 в классе Transform, инстанс которого, создаётся в классе SteamPlayer:
      NVIDIA_Share_MCxkXhuAB0.png

      А уже в классе SteamPlayer находится инстанс класса игрока, в котором есть инстанс класса жизни игрока в котором и лежат: стамина, хп, еда и т.д.
      Вот я и подвёл к главному вопросу. Как можно получить указатель на класс SteamPlayer зная адрес координат. И как получить размер класса(например), чтобы использовать это как смещения инстанса Player от SteamPlayer и PlayerLife от Player'а?
      Буду крайне благодарен тому, кто поможет! Не могу найти решения уже 2 бессонные ночи.

      Если что-то забыл, то уточняйте пожалуйста! Всё разложу по полочкам.
      Ещё раз спасибо тому, кто поможет!

      StoneWeaverS 1 ответ Последний ответ Ответить Цитировать 0
      • StoneWeaverS
        StoneWeaver administrators @Suplin3
        отредактировано

        Пользователь @Suplin3 написал в Взлом Unturned:

        Как можно получить указатель на класс SteamPlayer зная адрес координат.

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

        Suplin3S 1 ответ Последний ответ Ответить Цитировать 0
        • Suplin3S
          Suplin3 @StoneWeaver
          отредактировано

          @StoneWeaver,
          Спасибо за ответ! К слову я тоже так думал, но мне никак не приходила в голову мысль о том, как найти смещение трансформа в классе. И только сейчас, когда я пишу этот ответ, я вспомнил о том, что эти поля, которые инициализируют объекты класса не хранят в себе весь класс, а лишь указатель на него, так же и с функциями. Я просто не мог найти их размер, думая что они хранятся прямо вот так в памяти. Это вообще вылетело у меня из головы и только Ваш ответ натолкнул меня на мысль! Это и вправду моя глупая ошибка. Спасибо огромное за ответ ещё раз!

          1 ответ Последний ответ Ответить Цитировать 1
          • Первое сообщение
            Последнее сообщение