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

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

Доброго времени суток. Отчаялся от безуспешных попыток написать фильтр отделяющий своё здоровье от здоровья врага и открытием карты. Прошу помощи.

Я новичок в этой сфере, посмотрев все уроки от gamehacklab получилось частично создать парочку скриптов на мапхак , бесконечную  энергию , убрать туман войны, но занявшись god_mode обнаружил, что без вашей помощи мне не обойтись. Прикреплю наработки скриптов (сильно не смейтесь, я только учусь, буду рад поправкам и советам)

Спойлер

\\  Бесконечная энергия 

[ENABLE]
aobscanmodule(ennn,BattleForge.exe,D9 47 54 D9 44 24 14)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [edi+54],(float)600
  mov [edi+58],(float)600
  mov [edi+68],(float)300
  mov [edi+6C],(float)300
code:
  fld dword ptr [edi+54]
  fld dword ptr [esp+14]
  jmp return

ennn:
  jmp newmem
  nop
  nop
return:
registersymbol(ennn)

[DISABLE]
ennn:
  db D9 47 54 D9 44 24 14

unregistersymbol(ennn)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BattleForge.exe"+1195A2A

"BattleForge.exe"+1195A07: 8B 47 60              -  mov eax,[edi+60]
"BattleForge.exe"+1195A0A: DD 05 10 86 C5 01     -  fld qword ptr [BattleForge.exe+1858610]
"BattleForge.exe"+1195A10: 85 C0                 -  test eax,eax
"BattleForge.exe"+1195A12: D8 C9                 -  fmul st(0),st(1)
"BattleForge.exe"+1195A14: 89 44 24 28           -  mov [esp+28],eax
"BattleForge.exe"+1195A18: DB 44 24 28           -  fild dword ptr [esp+28]
"BattleForge.exe"+1195A1C: 7D 06                 -  jnl BattleForge.exe+1195A24
"BattleForge.exe"+1195A1E: D8 05 04 93 A6 01     -  fadd dword ptr [BattleForge.exe+1669304]
"BattleForge.exe"+1195A24: DE F9                 -  fdivp st(1),st(0)
"BattleForge.exe"+1195A26: D9 5C 24 14           -  fstp dword ptr [esp+14]
// ---------- INJECTING HERE ----------
"BattleForge.exe"+1195A2A: D9 47 54              -  fld dword ptr [edi+54]
"BattleForge.exe"+1195A2D: D9 44 24 14           -  fld dword ptr [esp+14]
// ---------- DONE INJECTING  ----------
"BattleForge.exe"+1195A31: DE D9                 -  fcompp
"BattleForge.exe"+1195A33: DF E0                 -  fnstsw ax
"BattleForge.exe"+1195A35: F6 C4 01              -  test ah,01
"BattleForge.exe"+1195A38: 75 13                 -  jne BattleForge.exe+1195A4D
"BattleForge.exe"+1195A3A: 83 7D 34 13           -  cmp dword ptr [ebp+34],13
"BattleForge.exe"+1195A3E: 75 0D                 -  jne BattleForge.exe+1195A4D
"BattleForge.exe"+1195A40: 8B CD                 -  mov ecx,ebp
"BattleForge.exe"+1195A42: DD D8                 -  fstp st(0)
"BattleForge.exe"+1195A44: E8 F7 4F FB FF        -  call BattleForge.exe+114AA40
"BattleForge.exe"+1195A49: D9 44 24 24           -  fld dword ptr [esp+24]
}

 

Спойлер

// MapHack

[ENABLE]

aobscanmodule(maphack,BattleForge.exe,8D 3C 51 33 C9)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  nop
  nop
  nop
  xor ecx,ecx
  jmp return

maphack:
  jmp code
return:
registersymbol(maphack)

[DISABLE]

maphack:
  db 8D 3C 51 33 C9

unregistersymbol(maphack)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BattleForge.exe"+BC175F

"BattleForge.exe"+BC173D: 39 46 58              -  cmp [esi+58],eax
"BattleForge.exe"+BC1740: 89 54 24 20           -  mov [esp+20],edx
"BattleForge.exe"+BC1744: D9 6C 24 18           -  fldcw [esp+18]
"BattleForge.exe"+BC1748: 89 44 24 44           -  mov [esp+44],eax
"BattleForge.exe"+BC174C: 76 59                 -  jna BattleForge.exe+BC17A7
"BattleForge.exe"+BC174E: 8B 4C 24 20           -  mov ecx,[esp+20]
"BattleForge.exe"+BC1752: 8D 14 08              -  lea edx,[eax+ecx]
"BattleForge.exe"+BC1755: 0F AF 53 04           -  imul edx,[ebx+04]
"BattleForge.exe"+BC1759: 03 54 24 1C           -  add edx,[esp+1C]
"BattleForge.exe"+BC175D: 8B 0B                 -  mov ecx,[ebx]
// ---------- INJECTING HERE ----------
"BattleForge.exe"+BC175F: 8D 3C 51              -  lea edi,[ecx+edx*2]
"BattleForge.exe"+BC1762: 33 C9                 -  xor ecx,ecx
// ---------- DONE INJECTING  ----------
"BattleForge.exe"+BC1764: 39 4E 54              -  cmp [esi+54],ecx
"BattleForge.exe"+BC1767: 76 32                 -  jna BattleForge.exe+BC179B
"BattleForge.exe"+BC1769: 0F B7 54 24 28        -  movzx edx,word ptr [esp+28]
"BattleForge.exe"+BC176E: 8B FF                 -  mov edi,edi
"BattleForge.exe"+BC1770: 0F B7 07              -  movzx eax,word ptr [edi]
"BattleForge.exe"+BC1773: F7 D8                 -  neg eax
"BattleForge.exe"+BC1775: 8D 1C 02              -  lea ebx,[edx+eax]
"BattleForge.exe"+BC1778: C1 F8 10              -  sar eax,10
"BattleForge.exe"+BC177B: C1 FB 10              -  sar ebx,10
"BattleForge.exe"+BC177E: 24 3F                 -  and al,3F
}

 

Спойлер

// Туман войны
[ENABLE]

aobscanmodule(fog,BattleForge.exe,24 3F 0A D8 88 5D 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  nop
  nop
  or bl,al
  mov [ebp+00],bl
  jmp return

fog:
  jmp code
  nop
  nop
return:
registersymbol(fog)

[DISABLE]

fog:
  db 24 3F 0A D8 88 5D 00

unregistersymbol(fog)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BattleForge.exe"+BC177E

"BattleForge.exe"+BC1762: 33 C9                 -  xor ecx,ecx
"BattleForge.exe"+BC1764: 39 4E 54              -  cmp [esi+54],ecx
"BattleForge.exe"+BC1767: 76 32                 -  jna BattleForge.exe+BC179B
"BattleForge.exe"+BC1769: 0F B7 54 24 28        -  movzx edx,word ptr [esp+28]
"BattleForge.exe"+BC176E: 8B FF                 -  mov edi,edi
"BattleForge.exe"+BC1770: 0F B7 07              -  movzx eax,word ptr [edi]
"BattleForge.exe"+BC1773: F7 D8                 -  neg eax
"BattleForge.exe"+BC1775: 8D 1C 02              -  lea ebx,[edx+eax]
"BattleForge.exe"+BC1778: C1 F8 10              -  sar eax,10
"BattleForge.exe"+BC177B: C1 FB 10              -  sar ebx,10
// ---------- INJECTING HERE ----------
"BattleForge.exe"+BC177E: 24 3F                 -  and al,3F
"BattleForge.exe"+BC1780: 0A D8                 -  or bl,al
"BattleForge.exe"+BC1782: 88 5D 00              -  mov [ebp+00],bl
// ---------- DONE INJECTING  ----------
"BattleForge.exe"+BC1785: 83 C1 01              -  add ecx,01
"BattleForge.exe"+BC1788: 83 C7 02              -  add edi,02
"BattleForge.exe"+BC178B: 83 C5 01              -  add ebp,01
"BattleForge.exe"+BC178E: 3B 4E 54              -  cmp ecx,[esi+54]
"BattleForge.exe"+BC1791: 72 DD                 -  jb BattleForge.exe+BC1770
"BattleForge.exe"+BC1793: 8B 5C 24 2C           -  mov ebx,[esp+2C]
"BattleForge.exe"+BC1797: 8B 44 24 44           -  mov eax,[esp+44]
"BattleForge.exe"+BC179B: 83 C0 01              -  add eax,01
"BattleForge.exe"+BC179E: 3B 46 58              -  cmp eax,[esi+58]
"BattleForge.exe"+BC17A1: 89 44 24 44           -  mov [esp+44],eax
}

 

Спойлер

// GodMode
[ENABLE]

aobscanmodule(BRANNOK,BattleForge.exe,D9 40 50 EB 02 D9 EE D9)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
push dword ptr [eax+54]
pop dword ptr [eax+50]
code:
  fld dword ptr [eax+50]
  jmp BattleForge.exe+DBB903
  jmp return

BRANNOK:
  jmp newmem
return:
registersymbol(BRANNOK)

[DISABLE]

BRANNOK:
  db D9 40 50 EB 02

unregistersymbol(BRANNOK)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "BattleForge.exe"+DBB8FC

"BattleForge.exe"+DBB8E0: 83 7E 34 01        -  cmp dword ptr [esi+34],01
"BattleForge.exe"+DBB8E4: 75 2D              -  jne BattleForge.exe+DBB913
"BattleForge.exe"+DBB8E6: 6A 08              -  push 08
"BattleForge.exe"+DBB8E8: 8B CE              -  mov ecx,esi
"BattleForge.exe"+DBB8EA: E8 41 F8 35 00     -  call BattleForge.exe+111B130
"BattleForge.exe"+DBB8EF: 85 C0              -  test eax,eax
"BattleForge.exe"+DBB8F1: 74 0E              -  je BattleForge.exe+DBB901
"BattleForge.exe"+DBB8F3: 6A 08              -  push 08
"BattleForge.exe"+DBB8F5: 8B CE              -  mov ecx,esi
"BattleForge.exe"+DBB8F7: E8 04 F8 35 00     -  call BattleForge.exe+111B100
// ---------- INJECTING HERE ----------
"BattleForge.exe"+DBB8FC: D9 40 50           -  fld dword ptr [eax+50]
"BattleForge.exe"+DBB8FF: EB 02              -  jmp BattleForge.exe+DBB903
// ---------- DONE INJECTING  ----------
"BattleForge.exe"+DBB901: D9 EE              -  fldz 
"BattleForge.exe"+DBB903: D9 5C 24 10        -  fstp dword ptr [esp+10]
"BattleForge.exe"+DBB907: D9 44 24 10        -  fld dword ptr [esp+10]
"BattleForge.exe"+DBB90B: D8 44 24 0C        -  fadd dword ptr [esp+0C]
"BattleForge.exe"+DBB90F: D9 5C 24 0C        -  fstp dword ptr [esp+0C]
"BattleForge.exe"+DBB913: 83 C7 04           -  add edi,04
"BattleForge.exe"+DBB916: 3B 7B 04           -  cmp edi,[ebx+04]
"BattleForge.exe"+DBB919: 75 B5              -  jne BattleForge.exe+DBB8D0
"BattleForge.exe"+DBB91B: 5E                 -  pop esi
"BattleForge.exe"+DBB91C: D9 44 24 08        -  fld dword ptr [esp+08]
}

 

AmQupuwnRQyiuPrtKdANWQ.pngezgif-5-4b9b13386430.gif

Поделиться сообщением


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

Привет, трассировку кода пробовал? У меня есть в одном из видео, как я с помощью трассировки определяю, где код расходится для игрока и врагов, и там я делаю инъекцию, чтобы работало только для игрока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 16.03.2019 в 14:36, Xipho сказал:

Привет, трассировку кода пробовал? У меня есть в одном из видео, как я с помощью трассировки определяю, где код расходится для игрока и врагов, и там я делаю инъекцию, чтобы работало только для игрока.

Если вы про урок Staple Intersection на примере игры "серьёзный сэм" , то да, пробовал, и через экранное значение, ничего не вышло(опыта маловато). 

Спойлер

(это экранное значение) складывается ощущение, что собственное здоровье и здоровье врагов в разных регистрах, но инструкция обрабатывает их одна. 

kQwphEHBQtOgpTITZ_aw0g.png

Спойлер

3khxqqsBTAigUxAaFrU3OQ.png

 

Изменено пользователем BoratObama

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, BoratObama сказал:

Если вы про урок Staple Intersection на примере игры "серьёзный сэм"

Посмотри еще вот этот урок

 

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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