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

    Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф

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

      Замысел: Установить флаг, чтобы патроны обнулялись в исходное значение, а не замораживались.
      P.s. : Если без флага обойтись, то скрипт работает как нужно(значение просто морозятся).

      Причина проблемы: После установки флага, скрипт срабатывает не сразу как только установил значение флагу единицу, а только через несколько нажатий. Срабатывает после 2-5 раза.
      ВидеоЮтуб

      Скрипт:

      { Game   : ZombieDriver_winRT_x86_release.exe
        Version: 
        Date   : 2024-01-10
        Author : Klaus
      
        This script does blah blah blah
      }
      
      [ENABLE]
      //code from here to '[DISABLE]' will be used to enable the cheat
      
       
       
      aobscanmodule(INJECT,ZombieDriver_winRT_x86_release.exe,D9 41 10 C3 CC) // should be unique
      alloc(newmem,$1000)
      
      label(ammo_flag)          //Метка
      registersymbol(ammo_flag) //Чтобы видеть в таблице этого адресса
      
      label(code)
      label(return)
      
      newmem:
        cmp byte ptr [ammo_flag],1  //Сравнение
        jne code                     //Если не равно
        fild dword ptr [ecx+14] //сохранили в буфер стека
        fstp dword ptr [ecx+10] //сохранить в адрес и удалить из буфера стека
        mov byte ptr [ammo_flag],0       //заменить flag на ноль
      
      code:
        fld dword ptr [ecx+10]
      
        ret 
        int 3 
        jmp return
      
      ammo_flag:
       db 0        //В текущем ammo_flag равен нулю 0
      
      INJECT:
        jmp newmem
      return:
      registersymbol(INJECT)
      
      [DISABLE]
      //code from here till the end of the code will be used to disable the cheat
      INJECT:
        db D9 41 10 C3 CC
      
      unregistersymbol(INJECT)
      unregistersymbol(ammo_flag)
      dealloc(newmem)
      
      {
      // ORIGINAL CODE - INJECTION POINT: ZombieDriver_winRT_x86_release.exe+3C6700
      
      ZombieDriver_winRT_x86_release.exe+3C66E3: B0 01           - mov al,01
      ZombieDriver_winRT_x86_release.exe+3C66E5: F3 0F 11 41 04  - movss [ecx+04],xmm0
      ZombieDriver_winRT_x86_release.exe+3C66EA: F3 0F 10 41 0C  - movss xmm0,[ecx+0C]
      ZombieDriver_winRT_x86_release.exe+3C66EF: F3 0F 58 41 04  - addss xmm0,[ecx+04]
      ZombieDriver_winRT_x86_release.exe+3C66F4: F3 0F 11 41 0C  - movss [ecx+0C],xmm0
      ZombieDriver_winRT_x86_release.exe+3C66F9: C2 04 00        - ret 0004
      ZombieDriver_winRT_x86_release.exe+3C66FC: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C66FD: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C66FE: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C66FF: CC              - int 3 
      // ---------- INJECTING HERE ----------
      ZombieDriver_winRT_x86_release.exe+3C6700: D9 41 10        - fld dword ptr [ecx+10]
      // ---------- DONE INJECTING  ----------
      ZombieDriver_winRT_x86_release.exe+3C6703: C3              - ret 
      ZombieDriver_winRT_x86_release.exe+3C6704: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C6705: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C6706: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C6707: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C6708: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C6709: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C670A: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C670B: CC              - int 3 
      ZombieDriver_winRT_x86_release.exe+3C670C: CC              - int 3 
      }
      
      LIRWL 1 ответ Последний ответ Ответить Цитировать 0
      • LIRWL
        LIRW @Klaus
        отредактировано

        Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:

        Срабатывает после 2-5 раза.

        Так флаг ставил в главном меню игры, а не проверил даже, а считывает ли игра от туда данные с главного меню игры. Игра может данные считывает с этой функции, раз в промежутке 5-10 секунд... А есть такой момент, когда ты данные записал туда, но игра их еще не обновила на экране, а обновит только после убийства к примеру одного зомби.

        K 1 ответ Последний ответ Ответить Цитировать 0
        • K
          Klaus @LIRW
          отредактировано

          @LIRW Дальше в видео я нажимал на горячие клавиши, которые установил на изменение значение 1 во флаге. Тоже самое срабатывает через несколько раз.

          Если не делать флаги и однократное выполнение, то при включение скрипта игра заморозить значение и патроны будут вечно 150/150, пока не откл скрипт. Поэтому думаю функция сразу срабатывает.

          После убийства зомби - изменение не наблюдается, данные либо сразу записываются или тупит только через раз за раз

          LIRWL 2 ответов Последний ответ Ответить Цитировать 0
          • LIRWL
            LIRW @Klaus
            отредактировано

            @Klaus Вот к примеру если повесить на указать оружия - всё окей.
            demo.CT правда версия игры не знаю какая, но наверное самая новая...

            K 2 ответов Последний ответ Ответить Цитировать 1
            • K
              Klaus @LIRW
              отредактировано

              @LIRW это что за файл demo.CT? вирус?

              LIRWL 1 ответ Последний ответ Ответить Цитировать 0
              • LIRWL
                LIRW @Klaus
                отредактировано

                @Klaus Ага... А у тебя формат таблицы от СЕ в dll что ли ?

                K 1 ответ Последний ответ Ответить Цитировать 0
                • K
                  Klaus @LIRW
                  отредактировано

                  @LIRW Извините, что-то я вас не понимаю. О чем вы говорите или шутите...хз

                  1 ответ Последний ответ Ответить Цитировать 0
                  • LIRWL
                    LIRW @Klaus
                    отредактировано LIRW

                    Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:

                    игра заморозить значение и патроны будут вечно 150/150, пока не откл скрипт.

                    Ну это естественно.... Код то выполняется по время выстрела. А когда не стреляешь, игра считывает данные то с "fld dword ptr [ecx+10]"
                    Да, и вот еще что... Сигнатура на поиск места - очень забавная. Хотя может у меня версия игры, совсем другая. А так и есть, у меня модуль "ZombieDriverHD.exe"
                    ммм.jpg

                    1 ответ Последний ответ Ответить Цитировать 0
                    • K
                      Klaus @LIRW
                      отредактировано

                      @LIRW Я установил пробную игру через "Майкрософт store", кнш версия отличается, и скаченный ваш demo.CT скрипт на нем не работает.

                      Тогда скачал пиратку "Зомби драйв", и там изучал ваш скрипт "он вполне рабочий", сначала было не понятно откуда взялось mov ecx,[ecx+48], вместо fld dword ptr [ecx+10] пока не вспомнил, что оно берется из "Чтение" указатель на оружие.

                      В общем переделал свой бракованный скрипт аналогичный вашему , все сработало на Майкрософте Store.

                      Благодарствую за то что помогаете! :blush:

                      LIRWL 1 ответ Последний ответ Ответить Цитировать 0
                      • LIRWL
                        LIRW @Klaus
                        отредактировано

                        Пользователь @Klaus написал в Взлом игры(оффлайн). Учёвка-вопросайка. Игра: Зомби-Драйф:

                        сначала было не понятно откуда взялось mov ecx,[ecx+48]

                        Там с одного указателя можно вынесли все характеристики... Как машины, так и оружия, нитро, и так далее. В СЕ то конечно это просто выглядит, а вот писать такое, уже не прикольно, да и надежность - не очень на обновы. Не которые функции по 3 - 4 указателя от базового идут. С одного все эти функции вести не удобно... Вот он основной на строчке... если конечно интересно это...
                        "8B 88 ? ? ? ? 8B 41 ? 8B 70 ? 8B 5E ? 39 5E ? 76 ? FF 15 ? ? ? ? 8B 46 ? 8B 4E ? 85 C0 74 ? 3B C1 74 ? FF 15 ? ? ? ? 39 5E ? 0F 84 ? ? ? ? 8B 5D ? 83 7B 44 ? 0F 85"

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