GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти
    1. Главная
    2. Templar
    3. Сообщения
    • Профиль
    • Подписки 1
    • Подписчики 0
    • Темы 2
    • Сообщения 4
    • Группы 0

    Сообщения

    Последние Лучшие сообщения Спорные
    • RE: Stalker Shadow of Chernobyl - движок OGSR - функция без перезарядки

      @LIRW

      Да, у меня получилось сделать. Спасибо за образец!

      написал в Взлом игр (средний уровень и выше)
      TemplarT
      Templar
    • Stalker Shadow of Chernobyl - движок OGSR - функция без перезарядки

      Хочу разобраться, как на последних движках первого Сталкера реализовать функцию без перезарядки.

      Цитата LIRW -
      Функция патрон в игре "add qword ptr [rbx+00000B20],-60" а не с которой работаешь в таблице. Я может по позже реализую её.. Принцип там прост (на первый взгляд) в ранних версиях, бралось максимальное количество патрон, пере умножалось на 60 (что такое 60 ? - это вычитая реального патрона за выстрел ) и накидывалось значение на него, ниже по офсету в -8 которое. То есть получалось. К примеру 30 патроны... и реализация такая: Ну типа такого....
      mov eax,[rcx+xxxxxxxx]
      imul eax,eax,60
      add eax,xxxxxxxx
      mov qword [rcx+xxxxxxxx],rax
      А с той функцией, что работаешь... Максимальное значение загнать в неё..
      Оно там по выше... вот и всё!

      Вот приволожу функцию из игры ниже -

      { Game   : xrEngine.exe
        Version: 
        Date   : 2025-02-01
        Author : Templar
      
        This script does blah blah blah
      }
      
      [ENABLE]
      
      aobscanmodule(NoReload,xrEngine.exe,01 B3 58 0B 00 00) // should be unique
      alloc(newmem,$1000,NoReload)
      
      label(code)
      label(return)
      
      newmem:
      
      code:
        add [rbx+00000B58],esi
        jmp return
      
      NoReload:
        jmp newmem
        nop
      return:
      registersymbol(NoReload)
      
      [DISABLE]
      
      NoReload:
        db 01 B3 58 0B 00 00
      
      unregistersymbol(NoReload)
      dealloc(newmem)
      
      {
      Address of signature = xrEngine.exe + 0x003EB539
      "\x01\xB3\x00\x00\x00\x00\x49\x8B", "xx????xx"
      "01 B3 ? ? ? ? 49 8B"
      // ORIGINAL CODE - INJECTION POINT: xrEngine.exe+3EB539
      
      xrEngine.exe+3EB510: 48 8B 47 A0              - mov rax,[rdi-60]
      xrEngine.exe+3EB514: 48 85 C0                 - test rax,rax
      xrEngine.exe+3EB517: 74 10                    - je xrEngine.exe+3EB529
      xrEngine.exe+3EB519: 01 08                    - add [rax],ecx
      xrEngine.exe+3EB51B: 48 8B 47 A0              - mov rax,[rdi-60]
      xrEngine.exe+3EB51F: 83 38 00                 - cmp dword ptr [rax],00
      xrEngine.exe+3EB522: 75 05                    - jne xrEngine.exe+3EB529
      xrEngine.exe+3EB524: 48 83 67 A0 00           - and qword ptr [rdi-60],00
      xrEngine.exe+3EB529: 48 83 83 B8 0B 00 00 A0  - add qword ptr [rbx+00000BB8],-60
      xrEngine.exe+3EB531: 4C 8D 9C 24 B0 00 00 00  - lea r11,[rsp+000000B0]
      // ---------- INJECTING HERE ----------
      xrEngine.exe+3EB539: 01 B3 58 0B 00 00        - add [rbx+00000B58],esi
      // ---------- DONE INJECTING  ----------
      xrEngine.exe+3EB53F: 49 8B 5B 20              - mov rbx,[r11+20]
      xrEngine.exe+3EB543: 49 8B 73 30              - mov rsi,[r11+30]
      xrEngine.exe+3EB547: 49 8B 6B 28              - mov rbp,[r11+28]
      xrEngine.exe+3EB54B: 49 8B 7B 38              - mov rdi,[r11+38]
      xrEngine.exe+3EB54F: 41 0F 28 73 F0           - movaps xmm6,[r11-10]
      xrEngine.exe+3EB554: 41 0F 28 7B E0           - movaps xmm7,[r11-20]
      xrEngine.exe+3EB559: 45 0F 28 43 D0           - movaps xmm8,[r11-30]
      xrEngine.exe+3EB55E: 45 0F 28 4B C0           - movaps xmm9,[r11-40]
      xrEngine.exe+3EB563: 49 8B E3                 - mov rsp,r11
      xrEngine.exe+3EB566: 41 5F                    - pop r15
      }
      
      написал в Взлом игр (средний уровень и выше)
      TemplarT
      Templar
    • Книги для изучения языка C++

      Приветствую всех.

      Пожалуйста, поделитесь опытом.
      С какими книгами лучше ознакомиться в первую очередь?
      Неважно, платные книги или нет.
      Главное чтобы было проще разобраться с материалом.

      написал в Общий
      TemplarT
      Templar
    • RE: Шифровка

      Один из способов. Это отсеивать неизвестное значение. Изменилось оно или нет. Чтобы было проще отсеивать можно использовать спидхак или останавливать процесс игры горячей клавишей в Cheat Engine.

      написал в Взлом игр (начинающим)
      TemplarT
      Templar