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

    Infectonator Survivors [Steam]

    Запланировано Прикреплена Закрыта Перенесена Общий
    14 Сообщения 3 Posters 229 Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • DieVisD
      DieVis
      отредактировано

      Привет и с новым годом всех!
      Кто может подсказать, не могу понять в чём проблема...
      Скрипт не срабатывает.
      Это когда назначаешь персонажу работу, допустим выращивать овощи на грядках.
      Там есть определённый таймер со значением от 100(начало цикла) до 0(окончание цикла).

      { Game   : Survivors.exe
        Version: v1.1.2
        Date   : 2025-01-01
        Author : DieVis }
      [ENABLE]
      aobscan(FastWork,F3 0F 7E 47 28 F3 0F 7E 4D)
      alloc(newmem,$1000)
      label(code)
      label(return)
      registersymbol(FastWork)
      newmem:
        mov [edi+28],(double)0.1
        //mov [edi+48],(double)0.1
      
      code:
        movq xmm0,[edi+28]
        jmp return
      
      FastWork:
        jmp newmem
      
      return:
      [DISABLE]
      FastWork:
        db F3 0F 7E 47 28
      unregistersymbol(*)
      dealloc(*)
      { // ORIGINAL CODE - INJECTION POINT: 1BA29A78
      1BA29A52: F2 0F 5E C1              - divsd xmm0,xmm1
      1BA29A56: 66 0F D6 45 D0           - movq [ebp-30],xmm0
      1BA29A5B: E9 25 01 00 00           - jmp 1BA29B85
      1BA29A60: 8B 1D 4C A0 29 06        - mov ebx,[0629A04C]
      1BA29A66: 85 DB                    - test ebx,ebx
      1BA29A68: 74 0B                    - je 1BA29A75
      1BA29A6A: 83 EC 0C                 - sub esp,0C
      1BA29A6D: E8 B2 02 00 00           - call 1BA29D24
      1BA29A72: 83 C4 10                 - add esp,10
      1BA29A75: 8B 7D D8                 - mov edi,[ebp-28]
      // ---------- INJECTING HERE ----------
      1BA29A78: F3 0F 7E 47 28           - movq xmm0,[edi+28]
      // ---------- DONE INJECTING  ----------
      1BA29A7D: F3 0F 7E 4D D0           - movq xmm1,[ebp-30]
      1BA29A82: F2 0F 5C C1              - subsd xmm0,xmm1
      1BA29A86: 66 0F D6 47 28           - movq [edi+28],xmm0
      1BA29A8B: F3 0F 7E 47 28           - movq xmm0,[edi+28]
      1BA29A90: F2 0F 10 C8              - movsd xmm1,xmm0
      1BA29A94: 66 0F 57 0D 40 52 80 05  - xorpd xmm1,[Adobe AIR.dll.rdata+38F240]
      1BA29A9C: 66 0F D6 4D D0           - movq [ebp-30],xmm1
      1BA29AA1: 8B 5F 10                 - mov ebx,[edi+10]
      1BA29AA4: 66 0F 57 C9              - xorpd xmm1,xmm1
      1BA29AA8: F2 0F 2A CB              - cvtsi2sd xmm1,ebx
      ...
      1BA29A78:
      1BA29A72 - 83 C4 10 - add esp,10
      1BA29A75 - 8B 7D D8  - mov edi,[ebp-28]
      1BA29A78 - F3 0F7E 47 28  - movq xmm0,[edi+28] <<
      1BA29A7D - F3 0F7E 4D D0  - movq xmm1,[ebp-30]
      1BA29A82 - F2 0F5C C1  - subsd xmm0,xmm1
      
      1BA29A86:
      1BA29A7D - F3 0F7E 4D D0  - movq xmm1,[ebp-30]
      1BA29A82 - F2 0F5C C1  - subsd xmm0,xmm1
      1BA29A86 - 66 0FD6 47 28  - movq [edi+28],xmm0 <<
      1BA29A8B - F3 0F7E 47 28  - movq xmm0,[edi+28]
      1BA29A90 - F2 0F10 C8  - movsd xmm1,xmm0
      
      1BA29A8B:
      1BA29A82 - F2 0F5C C1  - subsd xmm0,xmm1
      1BA29A86 - 66 0FD6 47 28  - movq [edi+28],xmm0
      1BA29A8B - F3 0F7E 47 28  - movq xmm0,[edi+28] <<
      1BA29A90 - F2 0F10 C8  - movsd xmm1,xmm0
      1BA29A94 - 66 0F57 0D 40528005  - xorpd xmm1,["Adobe AIR.dll"+1045240]
      
      1BA29B45:
      1BA29B40 - FF D0  - call eax
      1BA29B42 - 83 C4 10 - add esp,10
      1BA29B45 - F3 0F7E 4F 28  - movq xmm1,[edi+28] <<
      1BA29B4A - 66 0F57 C0  - xorpd xmm0,xmm0
      1BA29B4E - 66 0F2E C1  - ucomisd xmm0,xmm1
      
      1BA29B5F:
      1BA29B57 - 66 0F57 C0  - xorpd xmm0,xmm0
      1BA29B5B - F2 0F2A C3  - cvtsi2sd xmm0,ebx
      1BA29B5F - 66 0FD6 47 28  - movq [edi+28],xmm0 <<
      1BA29B64 - 8B 77 08  - mov esi,[edi+08]
      1BA29B67 - 8D 24 24   - lea esp,[esp]
      }
      

      Голова уже не работает 😵

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

        @DieVis Доброе.
        С наступившим и наступающим!!!
        Как я понял из описанного, попробуй так:

        [ENABLE]
        aobscan(FastWork,F3 0F 7E 47 28 F3 0F 7E 4D)
        alloc(newmem,$1000)
        label(code)
        label(return)
        registersymbol(FastWork)
        newmem:
        
        
        code:
          movq xmm0,[edi+28]
          movq xmm1,[edi+28]
          jmp FastWork+5
          jmp return
        
        FastWork:
          jmp newmem
        
        return:
        [DISABLE]
        FastWork:
          db F3 0F 7E 47 28
        unregistersymbol(*)
        dealloc(*)
        
        DieVisD 1 ответ Последний ответ Ответить Цитировать 0
        • DieVisD
          DieVis @garik66
          отредактировано DieVis

          @garik66 Попробовал. Ничего не произошло.

          G 1 ответ Последний ответ Ответить Цитировать 0
          • G
            garik66 @DieVis
            отредактировано

            @DieVis попробуй так:

            [ENABLE]
            aobscan(FastWork,F3 0F 7E 47 28 F3 0F 7E 4D)
            alloc(newmem,$1000)
            label(code)
            label(return)
            registersymbol(FastWork)
            newmem:
            
            
            code:
              movq xmm0,[edi+28]
              pxor xmm0, xmm0
              jmp FastWork+13
              jmp return
            
            FastWork:
              jmp newmem
            
            return:
            [DISABLE]
            FastWork:
              db F3 0F 7E 47 28
            unregistersymbol(*)
            dealloc(*)
            

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

            DieVisD 1 ответ Последний ответ Ответить Цитировать 0
            • DieVisD
              DieVis @garik66
              отредактировано

              @garik66

              Пользователь @garik66 написал в Infectonator Survivors [Steam]:

              попробуй так:

              полоска не двигается вообще, цикл встал.
              пробовал подобный вариант, либо ничего не происходит, либо не двигается полоска...

              Пользователь @garik66 написал в Infectonator Survivors [Steam]:

              нужно в 5 утра встать.

              Тоже самое.

              G 3 ответов Последний ответ Ответить Цитировать 0
              • G
                garik66 @DieVis
                отредактировано

                @DieVis короче нужно задавать вопросы

                DieVisD 1 ответ Последний ответ Ответить Цитировать 0
                • DieVisD
                  DieVis @garik66
                  отредактировано

                  @garik66

                  Пользователь @DieVis написал в Infectonator Survivors [Steam]:

                  Кто может

                  Да, я уже задал)

                  G 1 ответ Последний ответ Ответить Цитировать 0
                  • G
                    garik66 @DieVis
                    отредактировано

                    @DieVis ну хорошо ))) раз ты так понял.

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

                      1BA29A52: F2 0F 5E C1              - divsd xmm0,xmm1
                      1BA29A56: 66 0F D6 45 D0           - movq [ebp-30],xmm0
                      

                      а тут что ? Это как раз то, что вычитает... Это в обще может функция то на отображение полоски :) или же адрес если крутить, то работает как надо ?
                      Если бы наверно адрес был действительный, то наверное и так бы прокатило в патче.

                      subsd xmm0,xmm0
                      

                      а то xmm1 всё равно кроме как вычитания и не нужен.

                      DieVisD 1 ответ Последний ответ Ответить Цитировать 1
                      • G
                        garik66 @DieVis
                        отредактировано

                        @DieVis я не правильно посчитал прыжок
                        в первом скрипте нужно

                        1 ответ Последний ответ Ответить Цитировать 0
                        • G
                          garik66 @DieVis
                          отредактировано

                          @DieVis я не правильно посчитал прыжок

                           movq xmm0,[edi+28]
                            movq xmm1,[edi+28]
                            jmp FastWork+A
                            jmp return
                          
                          G DieVisD 2 ответов Последний ответ Ответить Цитировать 1
                          • G
                            garik66 @garik66
                            отредактировано

                            во втором случае

                             movq xmm0,[edi+28]
                              pxor xmm0, xmm0
                              jmp FastWork+e
                              jmp return
                            
                            1 ответ Последний ответ Ответить Цитировать 1
                            • DieVisD
                              DieVis @LIRW
                              отредактировано

                              Пользователь @LIRW написал в Infectonator Survivors [Steam]:

                              xmm1 всё равно кроме как вычитания и не нужен.

                              И правда, заработало))) Спасибо за помощь!)
                              Остальное я почти сам доломал, на днях выложу табличку.
                              Мгновенное выполнение поставленной задачи.

                              [ENABLE]
                              aobscan(FastWork,66 0F D6 45 D0 E9 24)
                              FastWork:
                                db 66 0F D6 4D D0
                                //movq [ebp-30],xmm1
                              [DISABLE]
                              FastWork:
                                db 66 0F D6 45 D0
                                //movq [ebp-30],xmm0
                              

                              Сильно сокращать скрипт не буду, оставлю для общего понимания, может кому ещё поможет.

                              1 ответ Последний ответ Ответить Цитировать 1
                              • DieVisD
                                DieVis @garik66
                                отредактировано

                                Пользователь @garik66 написал в Infectonator Survivors [Steam]:

                                FastWork+A

                                Пользователь @garik66 написал в Infectonator Survivors [Steam]:

                                FastWork+e

                                Оба варианта также работают!)
                                Благодарю всех за помощь!)

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