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

    FoxEdit

    @FoxEdit

    0
    Репутация
    5
    Просмотры профиля
    3
    Сообщения
    0
    Подписчики
    0
    Подписки
    Регистрация
    Последнее посещение

    FoxEdit Отписаться Подписаться

    Недавние сообщения FoxEdit

    • RE: Оффсеты

      @__fastcall Спасибо! Твой ответ полностью ответил на мой вопрос. Я понял, что дело в том, что я неверно воспринимал эти списки оффсетов, которые люди выкладывают на форумах. Я думал, что эти списки будут содержать в себе подробную информацию, например, сразу до хп или патронов (Что-то вроде 2B8 -> 30 -> ...). Но как ты и показал в примере (который, к слову, также объясняет и тот самый код, который я привёл в самом верху темы) hazedumper, мне дают по отдельности адреса к началам сущностей, например, игрока и отдельно оффсеты, которые я могу применять К этим сущностям. То есть в списке у меня может быть 2 разных оффсета, которые я просто должен скомбинировать, чтобы "прыгнуть" к начале структуры, допустим, игрока и потом "прыгнуть" к его хп.

      За видео спасибо, я его уже смотрел, но повторение мать учения как говорится.

      написал в Взлом игр (начинающим)
      FoxEditF
      FoxEdit
    • RE: Оффсеты

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

      Давай возьмём в пример тот же самый репозиторий hazedumper. Тут снова оффсеты в единичных количествах, то есть от базового адреса до условных "хп" всего лишь 1 прыжок. Неужели это просто исключение из правил и в ныне несуществующей cs:go от базового адреса до ХП было всего 1 смещение?

      У меня не так много опыта и во всех моих случаях, я имел от 2 до 4 оффсетов до нужного мне поля с данными, поэтому я и задал этот вопрос.

      Если говорить о твоём вопросе, то у меня нет точного ответа, так как это код какой то первой страницы по запросу "x_game offset dumps"

      написал в Взлом игр (начинающим)
      FoxEditF
      FoxEdit
    • Оффсеты

      Достаточно часто я вижу, что люди на разных форумах под словом оффсет подразумевают одиночное смещение.
      Пример:

      namespace offset
      {
          constexpr auto uWorld = 0x8924E28;
          constexpr auto gNames = 0x8717A00;
          constexpr auto gObjects = 0x87B7100;
       
          namespace World
          {
              constexpr auto persistentLevel = 0x30;
              constexpr auto owningGamingInstance = 0x1B8;
              constexpr auto gameState = 0x158;
          }
       
          namespace PersistentLevel
          {
              constexpr auto ActorArray = 0x098;
              constexpr auto ActorCount = 0x0A0;
          }
       
          namespace Actor
          {
               constexpr auto GetPawn = 0x180;
               constexpr auto GetRootComponent = 0x198;
          }
       
          namespace GetRootComponent
          {
              constexpr auto RelativeLocation = 0x128;
              constexpr auto RelativeRotation = 0x140;
          }
       
          namespace OwningGamingInstance
          {
              constexpr auto localPlayers = 0x038;
          }
       
          namespace LocalPlayer
          {
              constexpr auto PlayerController = 0x30;
          }
       
          namespace PlayerController
          {
              constexpr auto PlayerState = 0x298;
              constexpr auto AcknowledgedPawn = 0x338;
              constexpr auto PlayerCameraManager = 0x348;
          }
       
          namespace PlayerState
          {
              constexpr auto PlayerId = 0x294;
              constexpr auto PlayerName = 0x338;
          }
      }
      

      Тут явно видно, что, например, по смещению 338 находится начало данных, в которых содержится имя игрока, это ясно.
      Но когда я, например, сам ищу некоторые данные, (допустим ХП) в cheat engine, то я получаю что то вроде "GameTitle.exe" + 0x08923568 со смещениями (в абсолютном большинстве случаев - несколькими) по типу
      2E8 --> 30 --> C8 --> 410
      Как это выглядит в CE
      Но это явно больше, чем 1 смещение относительно базового .exe адреса.
      В коде для получения доступа к переменной я использую вектор с оффсетами:
      std::vector<DWORD> offsets { 0x2E8, 0x30, 0xC8, 0x410 };
      Но меня всё же интересует, как получить то самое одиночное смещение относительно .exe, чтобы не прыгать по этим смещениям.

      написал в Взлом игр (начинающим)
      FoxEditF
      FoxEdit