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

Сообщения

Последние Лучшие сообщения Спорные
  • RE: Оффсеты

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

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

    написал в Взлом игр (начинающим)
    F
    FoxEdit
    23 февр. 2024 г., 18:16
  • RE: Оффсеты

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

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

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

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

    написал в Взлом игр (начинающим)
    F
    FoxEdit
    22 февр. 2024 г., 18:55
  • Оффсеты

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

    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, чтобы не прыгать по этим смещениям.

    написал в Взлом игр (начинающим)
    F
    FoxEdit
    20 февр. 2024 г., 20:10