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

    Защита статических базовых значений в игре.

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

      Это онлайн игра. Без проблем нахожу нужный адрес, но они динамические, соответственно начинаю искать смещения до статического адреса. Но все статические адреса имеют странный вид "xxxxx.exe + 0Xсмещение" по началу привязывался к ним. На некоторое время это помогает, но потом либо это статическое значение исчезает, либо по данному адресу просто лежит 0X0. Я так понимаю это некая защита, но что за защита, как она называется! где есть информация об ее обходе. Я-бы и погуглил сам но даже не могу понять что это. Помогите пожалуйста, где прочитать про ее обход или хотя-бы что это 44444.png

      1 ответ Последний ответ Ответить Цитировать 0
      • S
        sasha21l
        отредактировано

        Я узнал что это называется ASLR но как это обходить.

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

          Скорее всего, то, что ты принял за статический адрес, на самом деле таковым не является. Это всё, что я могу тебе сказать, так как со взломом онлайн игр мы не помогаем.

          S 2 ответов Последний ответ Ответить Цитировать 0
          • S
            sasha21l @StoneWeaver
            отредактировано

            @StoneWeaver это пиратские сервера и не имеют никакого отношения к правообладателям. Прошу подскажите хотя-бы что искать по данной теме.

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

              @StoneWeaver Я просто хочу написать бота, и даже не ради игры, а потому что сам процесс интересен но я застрял. Помоги пожалуйста.

              __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
              • __fastcall_
                __fastcall @sasha21l
                отредактировано

                @sasha21l, Ты пробовал сделать сначала pointer map, а затем делать pointer scan, поставив галочку на пункте "compare with other saved pointer map"?

                S 1 ответ Последний ответ Ответить Цитировать 0
                • Partizan1078P
                  Partizan1078
                  отредактировано Partizan1078

                  А почему не сделать примерно так.
                  Написать скрипт который будет писать указатель в переменную. А дальше строить цепочки от этой переменной.

                  [ENABLE]
                  aobscanmodule(CharacterPointer,Game.dll,F2 0F ? ? ? ? ? ? 0F 57 ? F2 0F ? ? 66 0F ? ? F3 0F ? ? ? BA)
                  alloc(newmem,$1000,CharacterPointer)
                  label(return)
                  label(PlayerPointer)
                  registersymbol(PlayerPointer)
                  registersymbol(CharacterPointer)
                  
                  newmem:
                    mov [PlayerPointer],rsi
                    movsd xmm1,[rsi+00000DD0]
                    jmp return
                  
                  PlayerPointer:
                  dq 00
                  
                  CharacterPointer:
                    jmp newmem
                    nop 3
                  return:
                  
                  [DISABLE]
                  CharacterPointer:
                  db F2 0F 10 8E D0 0D 00 00
                  unregistersymbol(*)
                  dealloc(newmem)
                  

                  Жизни [PlayerPointer]+DD0
                  Мана [PlayerPointer]+DEC
                  Ну и тд.
                  https://youtu.be/SYTIarWyx34

                  1 ответ Последний ответ Ответить Цитировать 1
                  • S
                    sasha21l @__fastcall
                    отредактировано

                    @__fastcall сравнивал нету не 1 совпадения. Все указатели меняются через 1-2 часа.

                    __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                    • __fastcall_
                      __fastcall @sasha21l
                      отредактировано

                      @sasha21l Тогда можно сделать поиск по сигнатуре, можно вообще через хук какой-нибудь функции получать игрока, много вариантов вообщем. Можно ещё пореверсить структуры игры, может там вообще что-то такое будет: CWorld -> CEntityList -> CPlayer, это просто пример. И тогда можно получать структуру CWorld или Entitylist и от туда получать игрока своего.

                      S 1 ответ Последний ответ Ответить Цитировать 0
                      • S
                        sasha21l @__fastcall
                        отредактировано

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