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

    Сообщения

    Последние Лучшие сообщения Спорные
    • Чудо однако, если кто еще не видел.

      https://rutube.ru/shorts/4a6a50decd78a6d824eb3318515cf8ff?r=wd

      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

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

       movq xmm0,[edi+28]
        pxor xmm0, xmm0
        jmp FastWork+e
        jmp return
      
      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

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

       movq xmm0,[edi+28]
        movq xmm1,[edi+28]
        jmp FastWork+A
        jmp return
      
      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

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

      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

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

      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

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

      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

      @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 утра встать.

      написал в Общий
      G
      garik66
    • RE: Infectonator Survivors [Steam]

      @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(*)
      
      написал в Общий
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih и еще вариант:
      Найти указатели на адрес и написать простейший скрипт

      [ENABLE]
      //code from here to '[DISABLE]' will be used to enable the cheat
      mov[адрес с указателями],1
       
       
      [DISABLE]
      //code from here till the end of the code will be used to disable the cheat
      mov[адрес с указателями],0
      
      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih для того чтобы сделать все в одном скрипте нужно изучать игровой код. В этом случае СЕ-ных логов не достаточно.

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih отпишись, после проверки - интересно.

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih судя, по описанному тобой, скрипт с флагом тоже скорее всего тебе не поможет.
      Но давай попробуем

      1. добавь скрипт в таблицу
      [ENABLE]
      alloc(newmem,2048,Player:UpdatePlacement+b23)
      label(returnhere)
      label(originalcode)
      label(exit)
      label(Flag)
      registersymbol(Flag)
      
      newmem:
      cmp [Flag],1
      jne @f
      mov [rdi+00000790] ,#1
      jmp originalcode
      
      @@:
      mov [rdi+00000790] ,0
      
      originalcode:
      movzx eax,byte ptr [rdi+00000790]
      
      exit:
      jmp returnhere
      
      Flag:
      dd 1
      
      Player:UpdatePlacement+b23:
      jmp newmem
      nop 2
      returnhere:
      
      [DISABLE]
      unregistersymbol(Flag)
      dealloc(newmem)
      Player:UpdatePlacement+b23:
      db 0F B6 87 90 07 00 00
      
      1. теперь нужно добавить в таблицу адрес Flag, после активации скрипта.
        По умолчанию будет в нем 1, перед отключением скрипта в адресе нужно поставить в адресе Flag 0.
      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @LIRW первый скрипт, это и есть запись напрямую, со слов ТС это не сработало, видимо дальше по коду перезаписывается.
      с флагами более большой скрипт планировал предложить 3 вариантом.
      Второй мой скрипт это уже прыжок куда-надо, но ТС пока не отписался сработало или нет.

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

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

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih попробуй так

      define(address,Player:UpdatePlacement+b23)
      define(bytes,0F B6 87 90 07 00 00)
      
      [ENABLE]
      
      assert(address,bytes)
      alloc(newmem,$1000,Player:UpdatePlacement+b23)
      
      label(code)
      label(return)
      
      newmem:
      
      code:
      jmp Player:UpdatePlacement+b53
      jmp return
      
      address:
      jmp newmem
      nop 2
      return:
      
      [DISABLE]
      address:
      db bytes
      // movzx eax,byte ptr [rdi+00000790]
      
      dealloc(newmem)
      
      {
      // ORIGINAL CODE - INJECTION POINT: Player:UpdatePlacement+b23
      
      Player:UpdatePlacement+aee: 49 BB 5C 35 61 23 DA 02 00 00 - mov r11,000002DA2361355C
      Player:UpdatePlacement+af8: 41 FF D3 - call r11
      Player:UpdatePlacement+afb: E9 33 03 00 00 - jmp Player:UpdatePlacement+e33
      Player:UpdatePlacement+b00: 48 8B 8F 38 06 00 00 - mov rcx,[rdi+00000638]
      Player:UpdatePlacement+b07: 33 D2 - xor edx,edx
      Player:UpdatePlacement+b09: 48 8D 64 24 00 - lea rsp,[rsp+00]
      Player:UpdatePlacement+b0e: 49 BB 10 07 AE 93 DB 02 00 00 - mov r11,UnityEngine.Object:op_Inequality
      Player:UpdatePlacement+b18: 41 FF D3 - call r11
      Player:UpdatePlacement+b1b: 85 C0 - test eax,eax
      Player:UpdatePlacement+b1d: 0F 84 10 03 00 00 - je Player:UpdatePlacement+e33
      // ---------- INJECTING HERE ----------
      Player:UpdatePlacement+b23: 0F B6 87 90 07 00 00 - movzx eax,byte ptr [rdi+00000790]
      // ---------- DONE INJECTING ----------
      Player:UpdatePlacement+b2a: 85 C0 - test eax,eax
      Player:UpdatePlacement+b2c: 75 25 - jne Player:UpdatePlacement+b53
      Player:UpdatePlacement+b2e: 48 8B CF - mov rcx,rdi
      Player:UpdatePlacement+b31: 48 8B 95 C8 FE FF FF - mov rdx,[rbp-00000138]
      Player:UpdatePlacement+b38: 45 33 C0 - xor r8d,r8d
      Player:UpdatePlacement+b3b: 66 66 90 - nop 3
      Player:UpdatePlacement+b3e: 49 BB 50 41 1B 25 DA 02 00 00 - mov r11,Player:HaveRequirements
      Player:UpdatePlacement+b48: 41 FF D3 - call r11
      Player:UpdatePlacement+b4b: 85 C0 - test eax,eax
      Player:UpdatePlacement+b4d: 0F 84 95 02 00 00 - je Player:UpdatePlacement+de8
      }
      
      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Как при отключении скрипта вернуть или (записать) в адрес значение ?

      @Asusih без кода игры (хотя бы логов. которые создает СЕ по умолчанию, при создании скрипта) тяжело что-то посоветовать. Но попробуй не записывать в нужный адрес игры значение, а подгружать его извне, короче попробуй так и отпишись о результатах.

      [ENABLE]
      alloc(newmem,2048,Player:UpdatePlacement+b23)
      label(returnhere)
      label(originalcode)
      label(exit)
      label(odin)
      
      newmem:
      //mov [rdi+00000790] ,#1
      
      originalcode:
      //movzx eax,byte ptr [rdi+00000790]
      movzx eax,byte ptr [odin]
      
      exit:
      jmp returnhere
      
      odin:
      dd 1
      
      Player:UpdatePlacement+b23:
      jmp newmem
      nop 2
      returnhere:
      
      [DISABLE]
      dealloc(newmem)
      Player:UpdatePlacement+b23:
      db 0F B6 87 90 07 00 00
      
      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Роскомнадзор (РКН) заблокировал мессенджер Discord на территории России

      @LIRW а я думал, почему он не обновляется, предполагал, что это у меня локально.
      ну жаль, удобный был.

      написал в Общий
      G
      garik66
    • RE: Pocket Rogues 1 убийство = +1 лвл

      @CoinsDMG Замечательно.:+1:

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Pocket Rogues 1 убийство = +1 лвл

      @CoinsDMG ну не видя всего кода игры приходится предполагать :)))

      написал в Взлом игр (начинающим)
      G
      garik66
    • RE: Pocket Rogues 1 убийство = +1 лвл

      @CoinsDMG хотя прыжок нужен, меня сбила твоя фраза "мне нужно, чтобы после каждого повышения уровня у меня был текущий опыт на единицу меньше от максимального". Иначе всегда опыт меньше на 1 будет.

      newmem:
        pash ebx
        mov ebx,[rax+00000628]
        sub ebx,1
        cmp [rax+00000624]ebx
        jnl code
        mov [rax+00000624]ebx
      
      code:
        pop ebx
        movss xmm1,[rax+00000624]
      
      написал в Взлом игр (начинающим)
      G
      garik66