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

Поиск адресов в онлайн играх

Запланировано Прикреплена Закрыта Перенесена Взлом игр (начинающим)
6 Сообщения 2 Posters 468 Просмотры
Загружаем больше сообщений
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • V
    Vasiji
    отредактировано 8 апр. 2023 г., 22:20

    Всем привет. Хочу попросить вас рассказать о поиске адресов памяти в онлайн играх. Хочу написать простецкого фишбота для wow 3.3.5a. вроде как c++ и c# хорошо знаю, а вот как с гемхакингом впервые столкнулся. Посмотрел я что в интернетах на эту тему есть, по онлайн играм так ничего и не нашел, может хоть вы подсобите

    1 ответ Последний ответ Ответить Цитировать 0
    • V
      Vasiji
      отредактировано 9 апр. 2023 г., 00:00

      Я нашел некий опенсоурсный фишбот , который как полагается не работает. Однако некоторые функции выполняются а именно - отслеживание имени, локации и заполниности инвентаря. Хочу попросить у шарящих описание класса Hook, и описание функции DoString() класса Lua

      ссылочка на GitHub(надеюсь, что тут за это не бьют) - https://github.com/benjamin-t-wilson/WoW-3.3.5-Fishing-Bot

      1 ответ Последний ответ Ответить Цитировать 0
      • S
        StoneWeaver administrators
        отредактировано 9 апр. 2023 г., 04:55

        Привет! Не совсем понятна конечная цель. Ты хочешь найти адреса каких-то значений на клиенте? Тут нет проблем, экранные адреса ищутся точно так же, как и обычные. И реверсятся тоже точно так же. Разница лишь в том, что их пытаться изменить бессмысленно.

        V 2 ответов Последний ответ 9 апр. 2023 г., 13:29 Ответить Цитировать 1
        • V
          Vasiji @StoneWeaver
          отредактировано srg91 4 нояб. 2023 г., 23:13 9 апр. 2023 г., 13:29

          @StoneWeaver в этом проекте есть функция

            public void DoString(string command)
                  {
                      if (_wowHook.Installed)
                      {
                          // Allocate memory
                          IntPtr doStringArgCodecave = _wowHook.Memory.AllocateMemory(Encoding.UTF8.GetBytes(command).Length + 1);
                          // Write value:
                          _wowHook.Memory.WriteBytes(doStringArgCodecave, Encoding.UTF8.GetBytes(command));
          
                          // Write the asm stuff for Lua_DoString
                          var asm = new[]
                          {
                              "mov eax, " + doStringArgCodecave,
                              "push 0",
                              "push eax",
                              "push eax",
                              //"mov eax, " + ( (uint) Offsets.FrameScript__Execute + _wowHook.Process.BaseOffset()) , // Lua_DoString
                              "mov eax, " + ( (uint) Offsets.FrameScript__Execute ), // Lua_DoString
                              "call eax",
                              "add esp, 0xC",
                              "retn"
                          };
                          // Inject
                          _wowHook.InjectAndExecute(asm);
                          // Free memory allocated
                          _wowHook.Memory.FreeMemory(doStringArgCodecave);
                      }
                  }
          

          конечная цель - понять как она работает хотя б в общих чертах

          1 ответ Последний ответ Ответить Цитировать 0
          • V
            Vasiji @StoneWeaver
            отредактировано 9 апр. 2023 г., 13:33

            @StoneWeaver как я понял она неким магическим образом вызывает игровую функцию. В первую очередь интересно каким образом они нашли адрес Offsets.FrameScript__Execute

            1 ответ Последний ответ Ответить Цитировать 0
            • S
              StoneWeaver administrators
              отредактировано 10 апр. 2023 г., 04:27

              В общих чертах код внедряет ассемблерный код в игру и выполняет его. Смещение функции Lua_DoString определено заранее. Скорее всего, эта функция находится в какой-то из библиотек, а смещение до функции от базового адреса библиотеки чаще всего статично. Никакой магии.

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