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

    Функции No Spread, No Recoil, Rapid Fire.

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (вопросы и ответы)
    8 Сообщения 3 Posters 338 Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • M
      Mr.Xleb
      отредактировано

      Здравствуйте, можете мне рассказать или показать как делать функции No Spread, No Recoil, Rapid Fire. Сам я пробовал, но ни как не получается.

      Partizan1078P P 2 ответов Последний ответ Ответить Цитировать 0
      • Partizan1078P
        Partizan1078 @Mr.Xleb
        отредактировано

        @Mr-Xleb Универсального способа нет. В некоторых играх можно в памяти рядом с патронами увидеть значение таймера. А бывает и так что нужно при отладки полностью выходить из функции выстрела. И уже выше по коду эксперентировать.

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

          Вот этот код для Мафии 2
          Rapid Fire
          Пришлось искать при полном выходе из функции выстрела.

          [ENABLE]
          aobscanmodule(RapidFire,Mafia II Definitive Edition.exe,F3 0F ? ? ? ? ? ? E8 ? ? ? ? 48 8B ? ? ? ? ? 48 8B ? ? ? ? ? ? 48 85)
          alloc(newmem,$1000,RapidFire)
          label(return)
          registersymbol(RapidFire)
          
          newmem:
            cmp r15,10
            jne short @F
            xorps xmm0,xmm0
          @@:
            movss [rbx+00000234],xmm0
            jmp return
          
          RapidFire:
            jmp newmem
            nop 3
          return:
          
          [DISABLE]
          RapidFire:
          db F3 0F 11 83 34 02 00 00
          unregistersymbol(RapidFire)
          dealloc(newmem)
          {
          // ORIGINAL CODE - INJECTION POINT: Mafia II Definitive Edition.exe+BF7F7
          Mafia II Definitive Edition.exe+BF7C9: E8 B2 01 00 00           - call "Mafia II Definitive Edition.exe"+BF980
          Mafia II Definitive Edition.exe+BF7CE: 48 8B CB                 - mov rcx,rbx
          Mafia II Definitive Edition.exe+BF7D1: E8 DA F8 FF FF           - call "Mafia II Definitive Edition.exe"+BF0B0
          Mafia II Definitive Edition.exe+BF7D6: 48 8B CB                 - mov rcx,rbx
          Mafia II Definitive Edition.exe+BF7D9: E8 42 F8 FF FF           - call "Mafia II Definitive Edition.exe"+BF020
          Mafia II Definitive Edition.exe+BF7DE: 48 8B 83 C0 02 00 00     - mov rax,[rbx+000002C0]
          Mafia II Definitive Edition.exe+BF7E5: 33 D2                    - xor edx,edx
          Mafia II Definitive Edition.exe+BF7E7: 48 8B CB                 - mov rcx,rbx
          Mafia II Definitive Edition.exe+BF7EA: F3 0F 10 40 5C           - movss xmm0,[rax+5C]
          Mafia II Definitive Edition.exe+BF7EF: F3 0F 59 05 C9 45 90 01  - mulss xmm0,["Mafia II Definitive Edition.exe"+19C3DC0]
          // ---------- INJECTING HERE ----------
          Mafia II Definitive Edition.exe+BF7F7: F3 0F 11 83 34 02 00 00  - movss [rbx+00000234],xmm0
          // ---------- DONE INJECTING  ----------
          Mafia II Definitive Edition.exe+BF7FF: E8 CC 4A 00 00           - call "Mafia II Definitive Edition.exe"+C42D0
          Mafia II Definitive Edition.exe+BF804: 48 8B 8B 88 02 00 00     - mov rcx,[rbx+00000288]
          Mafia II Definitive Edition.exe+BF80B: 48 8B B4 24 18 01 00 00  - mov rsi,[rsp+00000118]
          Mafia II Definitive Edition.exe+BF813: 48 85 C9                 - test rcx,rcx
          Mafia II Definitive Edition.exe+BF816: 0F 84 99 00 00 00        - je "Mafia II Definitive Edition.exe"+BF8B5
          Mafia II Definitive Edition.exe+BF81C: 48 8B 83 C0 02 00 00     - mov rax,[rbx+000002C0]
          Mafia II Definitive Edition.exe+BF823: 8B 50 24                 - mov edx,[rax+24]
          Mafia II Definitive Edition.exe+BF826: 8B C2                    - mov eax,edx
          Mafia II Definitive Edition.exe+BF828: C1 E8 04                 - shr eax,04
          Mafia II Definitive Edition.exe+BF82B: A8 01                    - test al,01
          }
          

          Тут пришлось обнулять регистр xmm0/

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

            А этот no recoil нашёлся уже в структуре оружия.

            [ENABLE]
            aobscanmodule(NoRecoil,Mafia II Definitive Edition.exe,F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? E8 ? ? ? ? F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? 48 8B)
            aobscanmodule(NoRecoil_02,Mafia II Definitive Edition.exe,F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? E8 ? ? ? ? F3 0F ? ? ? ? ? ? F3 0F ? ? ? ? ? ? 48 8B)
            alloc(newmem,$1000)
            label(return)
            label(return_02)
            registersymbol(NoRecoil)
            registersymbol(NoRecoil_02)
            
            newmem:
              movss xmm1,[rbx+000000A8]
              xorps xmm1,xmm1
              mulss xmm0,[rbx+000000A4]
              xorps xmm0,xmm0
              jmp return
            
              newmem+24:
              mulss xmm0,[rdx+000000A4]
              xorps xmm0,xmm0
              jmp return_02
            
            NoRecoil+1D:
              jmp far newmem
              nop 2
            return:
            
            NoRecoil_02:
              jmp newmem+24
              nop 3
            return_02:
            
            [DISABLE]
            NoRecoil+1D:
            db F3 0F 10 8B A8 00 00 00 F3 0F 59 83 A4 00 00 00
            NoRecoil_02:
            db F3 0F 59 82 A4 00 00 00 F3 0F 59 86 3C 02 00 00 F3 0F 11 86 98 00 00 00
            unregistersymbol(*)
            dealloc(*)
            {
            // ORIGINAL CODE - INJECTION POINT: Mafia II Definitive Edition.exe+BF06C
            Mafia II Definitive Edition.exe+BF037: 48 8B C8                       - mov rcx,rax
            Mafia II Definitive Edition.exe+BF03A: 48 8B F8                       - mov rdi,rax
            Mafia II Definitive Edition.exe+BF03D: E8 DE D9 9A 00                 - call "Mafia II Definitive Edition.exe"+A6CA20
            Mafia II Definitive Edition.exe+BF042: 48 8B 96 C0 02 00 00           - mov rdx,[rsi+000002C0]
            Mafia II Definitive Edition.exe+BF049: 48 8B CF                       - mov rcx,rdi
            Mafia II Definitive Edition.exe+BF04C: 48 8B DA                       - mov rbx,rdx
            Mafia II Definitive Edition.exe+BF04F: F3 0F 59 82 A4 00 00 00        - mulss xmm0,[rdx+000000A4]
            Mafia II Definitive Edition.exe+BF057: F3 0F 59 86 3C 02 00 00        - mulss xmm0,[rsi+0000023C]
            Mafia II Definitive Edition.exe+BF05F: F3 0F 11 86 98 00 00 00        - movss [rsi+00000098],xmm0
            Mafia II Definitive Edition.exe+BF067: E8 B4 D9 9A 00                 - call "Mafia II Definitive Edition.exe"+A6CA20
            // ---------- INJECTING HERE ----------
            Mafia II Definitive Edition.exe+BF06C: F3 0F 10 8B A8 00 00 00        - movss xmm1,[rbx+000000A8]
            // ---------- DONE INJECTING  ----------
            Mafia II Definitive Edition.exe+BF074: F3 0F 59 83 A4 00 00 00        - mulss xmm0,[rbx+000000A4]
            Mafia II Definitive Edition.exe+BF07C: 48 8B 5C 24 30                 - mov rbx,[rsp+30]
            Mafia II Definitive Edition.exe+BF081: F3 0F 59 8E 3C 02 00 00        - mulss xmm1,[rsi+0000023C]
            Mafia II Definitive Edition.exe+BF089: C7 86 A0 00 00 00 00 00 00 00  - mov [rsi+000000A0],00000000
            Mafia II Definitive Edition.exe+BF093: F3 0F 58 C8                    - addss xmm1,xmm0
            Mafia II Definitive Edition.exe+BF097: F3 0F 11 8E 9C 00 00 00        - movss [rsi+0000009C],xmm1
            Mafia II Definitive Edition.exe+BF09F: 48 8B 74 24 38                 - mov rsi,[rsp+38]
            Mafia II Definitive Edition.exe+BF0A4: 48 83 C4 20                    - add rsp,20
            Mafia II Definitive Edition.exe+BF0A8: 5F                             - pop rdi
            Mafia II Definitive Edition.exe+BF0A9: C3                             - ret 
            }
            

            Как можно заметить из кода везде идёт обнуление xmm регистров.

            M 1 ответ Последний ответ Ответить Цитировать 0
            • M
              Mr.Xleb @Partizan1078
              отредактировано

              @Partizan1078 большое спасибо. Буду пробовать.

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

                @Mr-Xleb Игра какая?

                M 1 ответ Последний ответ Ответить Цитировать 0
                • M
                  Mr.Xleb @Partizan1078
                  отредактировано

                  @Partizan1078 решил попробовать на первом FarCry. Получилось убрать отдачу и разброс.

                  1 ответ Последний ответ Ответить Цитировать 0
                  • P
                    Pitronic @Mr.Xleb
                    отредактировано Pitronic

                    Пользователь @Mr-Xleb написал в Функции No Spread, No Recoil, Rapid Fire.:

                    Rapid Fire

                    Сначало ищи значение на патроны(те которые в обойме, а не общее колличество), ставишь бряк узнаёшь смещение. Дальше такие действия. Ищешь в деапазоне от начала структуры до конца структуры. При поиске ставь спидхаг замедли в десять раз. Ищи тип float редко duoble. Делаешь выстрел и сразу ищи неизвестное значение. Пережди, отсей уменьшилось (изначальное значение таймера там всегда ноль) Сново стреляешь, сразу же отсев увеличилось. И так далее выстрел - отсев увеличилось, переждал отсев уменьшилось.

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