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

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

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

вот инструкция отнимания здоровья: movss [ecx+1C],xmm0

 Смещение ecx+1C Это текущее здоровье

 Смещение ecx+78 максимально значение

Вот Aob код:

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,Game.dll,CC 0F 11 41 1C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  movss [ecx+1C],xmm0
  jmp return

INJECT:
  jmp code
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db CC 0F 11 41 1C

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

пробовал:

Mov eax,[ecx+78]
mov [ecx+1C],eax

но игра вылетала при ударе

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

Так попробуй...

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

[ENABLE]
aobscanmodule(INJECT,Game.dll,CC 0F 11 41 1C)
alloc(newmem,$1000)
label(return)

newmem:
movss xmm0,[ecx+78]
movss [ecx+1C],xmm0
jmp return

INJECT:
jmp newmem
return:
registersymbol(INJECT)

[DISABLE]
INJECT:
db CC 0F 11 41 1C
unregistersymbol(INJECT)
dealloc(newmem)

 

 

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

6 часов назад, ZoraVl сказал:

но игра вылетала при ударе

Так как ты не сохраняешь значение регистра eax, а скорее всего (раз игра вылетает) оно дальше по коду игры используется.

 

 

Объединю различные варианты написания твоего скрипта - это тебе на будущее (фильтр свой/чужой здесь не рассматривается):

1. Передача max HP через свободный (или сохранённый push/pop регистр):

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,Game.dll,F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)

newmem:
  movss [ecx+1C],xmm0
  push eax
  mov eax,[ecx+78]
  mov [ecx+1C],eax
  pop eax

code:  
  jmp return

INJECT:
  jmp code
return:

[DISABLE]
INJECT:
  db CC 0F 11 41 1C

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

2. Передача max HP через FPU регистр:

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,Game.dll,F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)

newmem:
  movss [ecx+1C],xmm0
  fld [ecx+78]        // fld, если HP во float, если integer то fild
  fstp [ecx+1C]       // fsto, если HP во float, если integer то fistp

code:
  jmp return

INJECT:
  jmp code
return:

[DISABLE]
INJECT:
  db CC 0F 11 41 1C

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

3. Записывание максимального значения HP сразу в игровой регистр (способ,, который тебе написал krocki:

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,Game.dll,F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)

newmem:
  movss xmm0,[ecx+78]

code:
  movss [ecx+1C],xmm0
  jmp return

INJECT:
  jmp code
return:

[DISABLE]
INJECT:
  db CC 0F 11 41 1C

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

4. Передача max HP через стек:

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,Game.dll,F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)

newmem:
  movss [ecx+1C],xmm0
  push [ecx+78]
  pop [ecx+1C]

code:
  jmp return

INJECT:
  jmp code
return:

[DISABLE]
INJECT:
  db CC 0F 11 41 1C

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

5. Простой NOP инструкции отнимания HP:

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

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2016-07-31
  Author : ?????????

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJECT,Game.dll,F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
registersymbol(INJECT)
INJECT:
  db 90 90 90 90

[DISABLE]
INJECT:
  db F3 0F 5C C1 

unregistersymbol(INJECT)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C3A5

"Game.dll"+3C376: 0F 85 D5 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C37C: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C383: 0F 85 C8 00 00 00        -  jne Game.dll+3C451
"Game.dll"+3C389: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C38E: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C394: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C397: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C39A: 72 1C                    -  jb Game.dll+3C3B8
"Game.dll"+3C39C: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+3C3A1: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+3C3A5: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C3AA: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C3AF: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C3B3: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C3B8: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C3BC: 53                       -  push ebx
"Game.dll"+3C3BD: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C3C0: 56                       -  push esi
"Game.dll"+3C3C1: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C3C8: 74 36                    -  je Game.dll+3C400
"Game.dll"+3C3CA: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

Ну пожалуй хватит и этих способов.:D

 

ЗЫ: Ниже выложены более правильные скрипты (так как по сигнатуре, которую дал ZoraVL, находит кучу инструкций) + добавил ещё один вариант скрипта. Также выложил там табличку. 

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

Подскажи пожалуйста, фильтр мне делать так-же как и ты делал в 7 days to die? У врагов ХП тоже не отнимается

p.s почему-то скрипты не работают твои... может видео записать, и там подробно объяснить что и как я хочу сделать?

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

4 минуты назад, ZoraVl сказал:

почему-то скрипты не работают твои... может видео записать, и там подробно объяснить что и как я хочу сделать?

Сообщение было отправлено случайно, я их ещё не дописал, сейчас попробуй. Ещё пару способов добавлю

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

11 минуту назад, ZoraVl сказал:

Подскажи пожалуйста, фильтр мне делать так-же как и ты делал в 7 days to die? У врагов ХП тоже не отнимается

Фильтр делать можно различными способами (в зависимости от кода игры), способов много. Попробуй начать со стандартного способа СЕ, который рассматривается в 9 шагу Туториала СЕ.

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

PS:

почему у тебя:

aobscanmodule(INJECT,Game.dll,CC 0F 11 41 1C)

Поменял во всех своих скриптах на:

aobscanmodule(INJECT,Game.dll,F3 0F 11 41 1C)

Вот теперь должны все пять работать и все будут бессмертны, останется только фильтр написать.

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

3 часа назад, Garik66 сказал:

Объединю различные варианты написания твоего скрипта - это тебе на будущее (фильтр свой/чужой здесь не рассматривается):

Вот все 5 + 1 скрипты (6 - версия с обнулением урона для нашего ГГ и увеличением урона для врагов):

1. God Mod v.1.1:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  subss xmm0,xmm1
  movss [ecx+1C],xmm0
  cmp esi,0               // За фильтр можно взять много чего, например:
  //cmp [ecx+08],(float)1 //, это у нашего ГГ, поэтому следующая инструкция будет уже
  //je code
  jne code                // если выбираешь другой фильтр, то эту строчку нужно закоментировать
  mov [ecx+1C],0          // OneHitKill
  jmp return

code:
  push eax
  mov eax,[ecx+78]        // Max HP
  mov [ecx+1C],eax        // Текущее HP
  pop eax
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

2. God Mod v.1.2:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  subss xmm0,xmm1
  movss [ecx+1C],xmm0
  cmp esi,0               // За фильтр можно взять много чего, например:
  //cmp [ecx+08],(float)1 //, это у нашего ГГ, поэтому следующая инструкция будет уже
  //je code
  jne code                // если выбираешь другой фильтр, то эту строчку нужно закоментировать
  mov [ecx+1C],0          // OneHitKill
  jmp return

code:
  fld [ecx+78]            // Max HP
  fstp [ecx+1C]           // Текущее HP
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

3. God Mod v.1.3:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  subss xmm0,xmm1
  cmp esi,0
  je @f
  movss xmm0,[ecx+78]     // Max HP
  jmp code

@@:
  xorps xmm0,xmm0         // OneHitKill

code:
  movss [ecx+1C],xmm0
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  subss xmm0,xmm1
  cmp esi,0
  je @f
  movss xmm0,[ecx+78]     // Max HP
  jmp code

@@:
  xorps xmm0,xmm0         // OneHitKill

code:
  movss [ecx+1C],xmm0
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

4. God Mod v.1.4:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  subss xmm0,xmm1
  movss [ecx+1C],xmm0
  cmp esi,0               // За фильтр можно взять много чего, например:
  //cmp [ecx+08],(float)1 //, это у нашего ГГ, поэтому следующая инструкция будет уже
  //je code
  jne code                // если выбираешь другой фильтр, то эту строчку нужно закоментировать
  mov [ecx+1C],0          // OneHitKill
  jmp return

code:
  push [ecx+78]           // Max HP
  pop [ecx+1C]            // Текущее HP
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

5. God Mod v.1.5:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  cmp esi,0
  jne code
  xorps xmm0,xmm0     // OneHitKill

code:
  movss [ecx+1C],xmm0
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

6. God Mod v.1.6:

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

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

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(GodMod,Game.dll,CA 72 1C F3 0F 10 41 1C F3 0F 5C C1 F3 0F 11 41 1C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  cmp esi,0
  jne @f
  movss xmm1,xmm0        // OneHitKill
  jmp code

@@:
  xorps xmm1,xmm1

code:
  subss xmm0,xmm1
  movss [ecx+1C],xmm0
  jmp return

GodMod+08:
  jmp newmem
  db 90 90 90 90
return:

[DISABLE]
GodMod+08:
  db F3 0F 5C C1 F3 0F 11 41 1C

unregistersymbol(GodMod)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+3C601

"Game.dll"+3C5CF: 80 BF 00 12 00 00 00     -  cmp byte ptr [edi+00001200],00
"Game.dll"+3C5D6: 0F 85 D5 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5DC: 80 BF 01 12 00 00 00     -  cmp byte ptr [edi+00001201],00
"Game.dll"+3C5E3: 0F 85 C8 00 00 00        -  jne Game.dll+3C6B1
"Game.dll"+3C5E9: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+3C5EE: 8D 8F 54 08 00 00        -  lea ecx,[edi+00000854]
"Game.dll"+3C5F4: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+3C5F7: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+3C5FA: 72 1C                    -  jb Game.dll+3C618
"Game.dll"+3C5FC: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
// ---------- INJECTING HERE ----------
"Game.dll"+3C601: F3 0F 5C C1              -  subss xmm0,xmm1
"Game.dll"+3C605: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+3C60A: F3 0F 10 41 24           -  movss xmm0,[ecx+24]
"Game.dll"+3C60F: F3 0F 58 C1              -  addss xmm0,xmm1
"Game.dll"+3C613: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+3C618: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+3C61C: 53                       -  push ebx
"Game.dll"+3C61D: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+3C620: 56                       -  push esi
"Game.dll"+3C621: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+3C628: 74 36                    -  je Game.dll+3C660
"Game.dll"+3C62A: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

Во всех 6 скриптах также есть One Hit Kill.

 

Табличка для ленивых :D:

Grim Dawn.CT

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

  • 1 год спустя...

Всем здрасте, сразу хочу извинится ибо безжалостно спионерил скрипт у "krocki",от себя же добавил фильтр, в итоге получился рабочий скрипт на бессмертие протагониста, враги все дохнут, а мы нет.

 

Скрипт под спойлером.

Spoiler

{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2017-10-12
  Author : Mr.Virus
  This script does blah blah blah
}
[ENABLE]
 
aobscanmodule(GOD,Game.dll,F3 0F 11 41 1C 0F)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
  cmp [ecx+8],(float)1
  jne code
  movss xmm0,[ecx+78]
  movss [ecx+1C],xmm0
  jmp return
code:
  movss [ecx+1C],xmm0
  jmp return
GOD:
  jmp newmem
return:
registersymbol(GOD)
[DISABLE]
GOD:
  db F3 0F 11 41 1C
unregistersymbol(GOD)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+40E7F
"Game.dll"+40E51: 0F 85 D3 00 00 00        -  jne Game.dll+40F2A
"Game.dll"+40E57: 38 87 BA 12 00 00        -  cmp [edi+000012BA],al
"Game.dll"+40E5D: 0F 85 C7 00 00 00        -  jne Game.dll+40F2A
"Game.dll"+40E63: F3 0F 10 4D 08           -  movss xmm1,[ebp+08]
"Game.dll"+40E68: 8D 8F CC 08 00 00        -  lea ecx,[edi+000008CC]
"Game.dll"+40E6E: 0F 57 D2                 -  xorps xmm2,xmm2
"Game.dll"+40E71: 0F 2F CA                 -  comiss xmm1,xmm2
"Game.dll"+40E74: 72 1B                    -  jb Game.dll+40E91
"Game.dll"+40E76: F3 0F 10 41 1C           -  movss xmm0,[ecx+1C]
"Game.dll"+40E7B: F3 0F 5C C1              -  subss xmm0,xmm1
// ---------- INJECTING HERE ----------
"Game.dll"+40E7F: F3 0F 11 41 1C           -  movss [ecx+1C],xmm0
// ---------- DONE INJECTING  ----------
"Game.dll"+40E84: 0F 28 C1                 -  movaps xmm0,xmm1
"Game.dll"+40E87: F3 0F 58 41 24           -  addss xmm0,[ecx+24]
"Game.dll"+40E8C: F3 0F 11 41 24           -  movss [ecx+24],xmm0
"Game.dll"+40E91: 80 7D 14 00              -  cmp byte ptr [ebp+14],00
"Game.dll"+40E95: 53                       -  push ebx
"Game.dll"+40E96: 8B 5D 0C                 -  mov ebx,[ebp+0C]
"Game.dll"+40E99: 56                       -  push esi
"Game.dll"+40E9A: C6 81 A0 04 00 00 01     -  mov byte ptr [ecx+000004A0],01
"Game.dll"+40EA1: 74 36                    -  je Game.dll+40ED9
"Game.dll"+40EA3: 83 3B 01                 -  cmp dword ptr [ebx],01
}

 

 

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

11 минуту назад, MrVirus сказал:

от себя же добавил фильтр

Фильтр "твой" уже давно же написан:

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

  cmp esi,0               // За фильтр можно взять много чего, например:
  //cmp [ecx+08],(float)1 //, это у нашего ГГ, поэтому следующая инструкция будет уже
  //je code
  jne code                // если выбираешь другой фильтр, то эту строчку нужно закоментировать
  mov [ecx+1C],0          // OneHitKill

 

Смотри пост ранее.

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

Мой  не большой вклад как бы :)  под стим версию. Так как игра в стиме есть... А то, что выше там лежит не канает.. Но оно то и понятно, решил заморозить поинты, ну что бы не отнимались... Сделал строчку в 20 байт - с 3_мя местами совпадает. Сделал 50 байт :rolleyes: тоже самое.. Попробовал 100 и бросил. Сделал на обычном чтении - там не велика разница. А как в игре выносливостью пользоваться я так и не понял :unsure: на всё по жмакал, не вышло и бросил. Наверное от этого я и не люблю этот древний Рим.

.Grim Dawn.CT

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

44 минуты назад, DeadCraft сказал:

А скорость бега/атаки/каста прикрутить кто то может ?

А этот не работает или этот?
Может быть обновлю под актуальную GOG версию ( 1.0.2.0 )

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

GDTH не работает под ГОГ версию (да и вряд ли работает на 1.0.2.0) , а твой трейнер аналогично из-за новой версии игры.

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

13 минуты назад, DeadCraft сказал:

GDTH не работает под ГОГ версию (да и вряд ли работает на 1.0.2.0) , а твой трейнер аналогично из-за новой версии игры.

Тебе только скорость бега\атаки\каста нужна?

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

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

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

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