Перейти к содержанию

Помогите найти значение.


Гость FanatAcc

Рекомендуемые сообщения

Столкнулся с такой проблемой, не могу додуматься как попытаться найти плавающие значение кулдауна (время которого невозможно нажать какой либо спел) в ММО игре можно ли это время как-то заморозить чтобы не ждать кд? Например кд 4 минуты после применения заклинания нужно ждать 4 минуты, как это время убрать? В СЕ шарю не много. Прошу поподробней.

Ссылка на комментарий
Поделиться на другие сайты

Может не стоит тратить время и искать кулдаун, а найти флаг который не позволяет использовать способность? 100% вариант искать неизвестное изменилось/ не изменилось, найдётся все.

 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, partoftheworlD сказал:

Может не стоит тратить время и искать кулдаун, а найти флаг который не позволяет использовать способность? 100% вариант искать неизвестное изменилось/ не изменилось, найдётся все.

Человек вроде как говорит о ОНЛАЙН игре :D Думаю нету смысла искать такое в онлайн игре. Хотя всякое возможное.

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, what228 сказал:

Человек вроде как говорит о ОНЛАЙН игре :D Думаю нету смысла искать такое в онлайн игре. Хотя всякое возможное.

Главное что-нибудь найти от чего можно оттолкнуться, а после стоит решать проблемы по порядку, даже если со стороны сервера идёт это значение, как вариант всегда есть подделка запроса:D Придумать можно же разные варианты, а вот будут ли они работать.

 

зы В Wow же делали всякие разные хаки, где можно было летать, убивать всех на сервере.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

18 минут назад, partoftheworlD сказал:

зы В Wow же делали всякие разные хаки, где можно было летать, убивать всех на сервере.

Ну в WoW и я подобное делал ( Пиратки ).
Но просто есть разница между пираткой на которой шанс слабой защиты больше чем на каком-то AAA проекте типа Tera\Lineage 2\RF\AA ну и т.д.
Но опять же нужно знать что хочет сделать ТС

 

offtopic.gif
P.S. Не много оффтопика. Ребят ни кто не знает какой нибудь сайт с кистями и прочем для ФШ?
Изменено пользователем what228
Ссылка на комментарий
Поделиться на другие сайты

Только что, what228 сказал:

Но просто есть разница между пираткой на которой шанс слабой защиты больше чем на каком-то проекте типа Tera\Lineage 2\RF\AA ну и т.д.

Не играл в этот жанр, так что не знаю с чем даже сравнить чтобы понять.

 

1 минуту назад, what228 сказал:

Но опять же нужно знать что хочет сделать ТС

1 час назад, FanatAcc сказал:

как попытаться найти плавающие значение кулдауна

 

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

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, FanatAcc сказал:

можно ли это время как-то заморозить чтобы не ждать кд?

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

А посоветовать, ну не знаю, лично я онлайн игры не ломал, тем более, если они многопользовательские.

Могу только для примера выложить свои скрипты для King's Bounty - The Legend (но во-первых она локальная, во-вторых пошаговая стратегия) :

1. Скрипт "Without Holiday Spirits":

Скрытый текст

{ Game   : KB.exe
  Version: 
  Date   : 2016-07-30
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(HolidaySpirits,KB.exe,01 68 08 83 78 08 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(HolidaySpirits)

newmem:
  jmp HolidaySpirits+9

code:
  add [eax+08],ebp
  cmp dword ptr [eax+08],00
  jmp return

HolidaySpirits:
  jmp newmem
  db 90 90
return:

[DISABLE]
HolidaySpirits:
  db 01 68 08 83 78 08 00

unregistersymbol(HolidaySpirits)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+C9B4D

"KB.exe"+C9B2F: CC                             -  int 3 
"KB.exe"+C9B30: 57                             -  push edi
"KB.exe"+C9B31: 33 FF                          -  xor edi,edi
"KB.exe"+C9B33: 39 BE 04 03 00 00              -  cmp [esi+00000304],edi
"KB.exe"+C9B39: 0F 86 8C 00 00 00              -  jbe KB.exe+C9BCB
"KB.exe"+C9B3F: 53                             -  push ebx
"KB.exe"+C9B40: 55                             -  push ebp
"KB.exe"+C9B41: 83 CD FF                       -  or ebp,-01
"KB.exe"+C9B44: 8B 86 00 03 00 00              -  mov eax,[esi+00000300]
"KB.exe"+C9B4A: 8B 04 B8                       -  mov eax,[eax+edi*4]
// ---------- INJECTING HERE ----------
"KB.exe"+C9B4D: 01 68 08                       -  add [eax+08],ebp
"KB.exe"+C9B50: 83 78 08 00                    -  cmp dword ptr [eax+08],00
// ---------- DONE INJECTING  ----------
"KB.exe"+C9B54: 7F 66                          -  jg KB.exe+C9BBC
"KB.exe"+C9B56: 8B 8E 00 03 00 00              -  mov ecx,[esi+00000300]
"KB.exe"+C9B5C: 83 3C B9 00                    -  cmp dword ptr [ecx+edi*4],00
"KB.exe"+C9B60: 8D 04 B9                       -  lea eax,[ecx+edi*4]
"KB.exe"+C9B63: 74 10                          -  je KB.exe+C9B75
"KB.exe"+C9B65: 8B 00                          -  mov eax,[eax]
"KB.exe"+C9B67: 85 C0                          -  test eax,eax
"KB.exe"+C9B69: 74 0A                          -  je KB.exe+C9B75
"KB.exe"+C9B6B: 8B 10                          -  mov edx,[eax]
"KB.exe"+C9B6D: 8B C8                          -  mov ecx,eax
}

 

2. "Cooldown abilities of units - one round":

Скрытый текст

{ Game   : KB.exe
  Version: 
  Date   : 2016-07-31
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(abilities,KB.exe,8B 88 94 00 00 00 8B 80) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(abilities)

newmem:
  mov [eax+00000094],0

code:
  mov ecx,[eax+00000094]
  jmp return

abilities:
  jmp newmem
  nop
return:

[DISABLE]
abilities:
  db 8B 88 94 00 00 00

unregistersymbol(abilities)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+191383

"KB.exe"+19135B: C1 E8 09              -  shr eax,09
"KB.exe"+19135E: A8 01                 -  test al,01
"KB.exe"+191360: 0F 85 3A 0B 00 00     -  jne KB.exe+191EA0
"KB.exe"+191366: 8B 44 24 1C           -  mov eax,[esp+1C]
"KB.exe"+19136A: 8B 4C 24 2C           -  mov ecx,[esp+2C]
"KB.exe"+19136E: 8B 55 0C              -  mov edx,[ebp+0C]
"KB.exe"+191371: 89 84 8A 6C 03 00 00  -  mov [edx+ecx*4+0000036C],eax
"KB.exe"+191378: 8B 90 98 00 00 00     -  mov edx,[eax+00000098]
"KB.exe"+19137E: 41                    -  inc ecx
"KB.exe"+19137F: 89 4C 24 2C           -  mov [esp+2C],ecx
// ---------- INJECTING HERE ----------
"KB.exe"+191383: 8B 88 94 00 00 00     -  mov ecx,[eax+00000094]
// ---------- DONE INJECTING  ----------
"KB.exe"+191389: 8B 80 8C 00 00 00     -  mov eax,[eax+0000008C]
"KB.exe"+19138F: 89 44 24 40           -  mov [esp+40],eax
"KB.exe"+191393: 8B 45 08              -  mov eax,[ebp+08]
"KB.exe"+191396: 8B B0 94 00 00 00     -  mov esi,[eax+00000094]
"KB.exe"+19139C: 8B 98 8C 00 00 00     -  mov ebx,[eax+0000008C]
"KB.exe"+1913A2: 89 4C 24 30           -  mov [esp+30],ecx
"KB.exe"+1913A6: 89 54 24 70           -  mov [esp+70],edx
"KB.exe"+1913AA: 8B FB                 -  mov edi,ebx
"KB.exe"+1913AC: 85 F6                 -  test esi,esi
"KB.exe"+1913AE: 74 14                 -  je KB.exe+1913C4
}

 

3. "Infinite abilities units":

Скрытый текст

{ Game   : KB.exe
  Version: 
  Date   : 2016-07-31
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(abilities1,KB.exe,8B A9 8C 00 00 00 68) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(abilities1)

newmem:
  mov [ecx+0000008C],2

code:
  mov ebp,[ecx+0000008C]
  jmp return

abilities1:
  jmp newmem
  db 90
return:


[DISABLE]
abilities1:
  db 8B A9 8C 00 00 00

unregistersymbol(abilities1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+4B8C0

"KB.exe"+4B8A2: 50                       -  push eax
"KB.exe"+4B8A3: 51                       -  push ecx
"KB.exe"+4B8A4: 68 38 18 F8 00           -  push KB.exe+B81838
"KB.exe"+4B8A9: 8D 44 24 3C              -  lea eax,[esp+3C]
"KB.exe"+4B8AD: 50                       -  push eax
"KB.exe"+4B8AE: E8 BD 27 FD FF           -  call KB.exe+1E070
"KB.exe"+4B8B3: 83 C4 04                 -  add esp,04
"KB.exe"+4B8B6: 8B F0                    -  mov esi,eax
"KB.exe"+4B8B8: E8 23 27 FD FF           -  call KB.exe+1DFE0
"KB.exe"+4B8BD: 8B 4F 30                 -  mov ecx,[edi+30]
// ---------- INJECTING HERE ----------
"KB.exe"+4B8C0: 8B A9 8C 00 00 00        -  mov ebp,[ecx+0000008C]
// ---------- DONE INJECTING  ----------
"KB.exe"+4B8C6: 68 14 29 F8 00           -  push KB.exe+B82914
"KB.exe"+4B8CB: 8D 54 24 34              -  lea edx,[esp+34]
"KB.exe"+4B8CF: 52                       -  push edx
"KB.exe"+4B8D0: E8 9B 27 FD FF           -  call KB.exe+1E070
"KB.exe"+4B8D5: 8B F0                    -  mov esi,eax
"KB.exe"+4B8D7: 8B 0E                    -  mov ecx,[esi]
"KB.exe"+4B8D9: 85 C9                    -  test ecx,ecx
"KB.exe"+4B8DB: 74 09                    -  je KB.exe+4B8E6
"KB.exe"+4B8DD: 8B 01                    -  mov eax,[ecx]
"KB.exe"+4B8DF: 8B 50 0C                 -  mov edx,[eax+0C]
}

 

Как выходил на адреса - честно говоря уже и не помню - скорее всего копался в "регионе памяти" (структурах юнитов и духов).

Ссылка на комментарий
Поделиться на другие сайты

согласен с partoftheworlDПри невозможности использовать скил, игра наверняка выдает какое-либо сообщение(но а иначе никак). Ищешь это сообщение (ansi/unicode) далее ставишь на него бряк на доступ(достаточно на первый символ) и еще раз пытаешься использовать скил вовремя действия кд. После этих действий игра словит бряк, но скорее всего на каком-нибудь memcpy или lstrcpy(из нее нужно найти выход, тк мы работаем с модулем игры, а не сис вызовами), и теперь уже можешь разбирать цепочки функций, дабы понять, что могло заставить игру перейти к этому участку кода, когда это поймешь - поймешь как можно обойти кд. Но к сожалению только для клиента :D , потому что разработчики не такие дурачки, чтобы забыть о серверной проверки cooldown умений.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.