Garik66

Bionic Commando No Reload (или как писать фильтры для подобных игр)

3 сообщения в этой теме

В продолжение обсуждения в этой теме, решил записать видео-урок:

 

 

Скрипт "No Reload":

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

{ Game   : bionic_commando.exe
  Version: 
  Date   : 2016-10-19
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(ammo,bionic_commando.exe,89 0E 8B 50 04 89 56 04 83 78) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(ammo)

newmem:
  cmp edx,4
  jne code
  cmp [esi+14],40000000
  jne code
  push ebx
  mov ebx,[esi+08]
  cmp [ebx+10],6D6D615F
  pop ebx
  jne code

  mov ecx,(float)100

code:
  mov [esi],ecx
  mov edx,[eax+04]
  jmp return

ammo:
  jmp newmem
return:

[DISABLE]
ammo:
  db 89 0E 8B 50 04

unregistersymbol(ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "bionic_commando.exe"+47762F

"bionic_commando.exe"+477611: 83 78 04 00           -  cmp dword ptr [eax+04],00
"bionic_commando.exe"+477615: 75 08                 -  jne bionic_commando.exe+47761F
"bionic_commando.exe"+477617: 80 4F 06 02           -  or byte ptr [edi+06],02
"bionic_commando.exe"+47761B: 33 FF                 -  xor edi,edi
"bionic_commando.exe"+47761D: EB 02                 -  jmp bionic_commando.exe+477621
"bionic_commando.exe"+47761F: 8B F8                 -  mov edi,eax
"bionic_commando.exe"+477621: 85 FF                 -  test edi,edi
"bionic_commando.exe"+477623: 0F 85 A3 00 00 00     -  jne bionic_commando.exe+4776CC
"bionic_commando.exe"+477629: 8B 44 24 24           -  mov eax,[esp+24]
"bionic_commando.exe"+47762D: 8B 08                 -  mov ecx,[eax]
// ---------- INJECTING HERE ----------
"bionic_commando.exe"+47762F: 89 0E                 -  mov [esi],ecx
"bionic_commando.exe"+477631: 8B 50 04              -  mov edx,[eax+04]
// ---------- DONE INJECTING  ----------
"bionic_commando.exe"+477634: 89 56 04              -  mov [esi+04],edx
"bionic_commando.exe"+477637: 83 78 04 04           -  cmp dword ptr [eax+04],04
"bionic_commando.exe"+47763B: 0F 8C B7 00 00 00     -  jl bionic_commando.exe+4776F8
"bionic_commando.exe"+477641: 8B 00                 -  mov eax,[eax]
"bionic_commando.exe"+477643: F6 40 05 03           -  test byte ptr [eax+05],03
"bionic_commando.exe"+477647: 0F 84 AB 00 00 00     -  je bionic_commando.exe+4776F8
"bionic_commando.exe"+47764D: 8A 45 05              -  mov al,[ebp+05]
"bionic_commando.exe"+477650: A8 04                 -  test al,04
"bionic_commando.exe"+477652: 0F 84 A0 00 00 00     -  je bionic_commando.exe+4776F8
"bionic_commando.exe"+477658: 8B 4B 10              -  mov ecx,[ebx+10]
}

 

И сама табличка:

bionic_commando.CT

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

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


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

Гарик, а чего ты опять по старинке, копи/пастом переходишь в место прыжка? Ведь твое видео тогда могло бы было быть короче теперешнего на целых несколько секунд... :)

0

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


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

Гарик, а чего ты опять по старинке, копи/пастом переходишь в место прыжка? Ведь твое видео тогда могло бы было быть короче теперешнего на целых несколько секунд... :)

Чтобы если нужно ещё раз куда попасть, адрес оставался в памяти и можно было опять его вызвать.

0

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас