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

I am Weapon Revival


LIRW

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

I am Weapon Revival

Просмотреть файл

Бессмертие. 

Бесконечные патроны. 

Без перезарядки оружия. 

Много очков на покупку или модернизацию. 

Легкие убийства. 

 

PS: 

Сначала запускаем игру - потом трейнер и опции активируем после использования того или иного из опций. На пример хотим бессмертие - надо потратить не много жизни и активировать опцию бессмертие. Так же и с патронами - выстрелил один раз и можно активировать. Игра просто на юнити какая то лагучая, трясучая.  

 

DEMO GAMEPLAY: 

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

 

 

 


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

  • 1 месяц спустя...

Для Codex версии скрипты - так как трейнер лень делать в силу того, что игра как бы не особо актуальна.  

Бессмертие. 

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

{ Game   : IAmWeaponRevival.exe
  Version: 
  Date   : 2016-07-28
  Author : LIRW2015

  This script does blah blah blah
}

[ENABLE]

aobscan(LiFe,D9 98 A8 00 00 00 83 EC) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(Health)

newmem:



code:
  fld [Health]
  fstp dword ptr [eax+000000A8]
  jmp return

  Health:
  dq (float)4000

LiFe:
  jmp code
  nop
return:
registersymbol(LiFe)

[DISABLE]

LiFe:
  db D9 98 A8 00 00 00

unregistersymbol(LiFe)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 02545104

025450F0: 8D 65 FC              -  lea esp,[ebp-04]
025450F3: 5E                    -  pop esi
025450F4: C9                    -  leave 
025450F5: C3                    -  ret 
025450F6: 00 00                 -  add [eax],al
025450F8: 55                    -  push ebp
025450F9: 8B EC                 -  mov ebp,esp
025450FB: 83 EC 08              -  sub esp,08
025450FE: D9 45 0C              -  fld dword ptr [ebp+0C]
02545101: 8B 45 08              -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
02545104: D9 98 A8 00 00 00     -  fstp dword ptr [eax+000000A8]
// ---------- DONE INJECTING  ----------
0254510A: 83 EC 08              -  sub esp,08
0254510D: 6A 00                 -  push 00
0254510F: 50                    -  push eax
02545110: 8B 00                 -  mov eax,[eax]
02545112: 90                    -  nop 
02545113: 90                    -  nop 
02545114: 90                    -  nop 
02545115: FF 90 B4 00 00 00     -  call dword ptr [eax+000000B4]
0254511B: 83 C4 10              -  add esp,10
0254511E: C9                    -  leave 
}

 

Без перезарядки оружия. 

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

{ Game   : IAmWeaponRevival.exe
  Version: 
  Date   : 2016-07-28
  Author : LIRW2015

  This script does blah blah blah
}

[ENABLE]

aobscan(Reload,8B 80 A4 00 00 00 C9 C3 00 00 00 00 00 00 00 55) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

  fild [eax+000000A8]
  fistp [eax+000000A4]

code:
  mov eax,[eax+000000A4]
  jmp return

Reload:
  jmp newmem
  nop
return:
registersymbol(Reload)

[DISABLE]

Reload:
  db 8B 80 A4 00 00 00

unregistersymbol(Reload)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 062E2D51

062E2D36: 00 00              -  add [eax],al
062E2D38: 68 58 5B 95 0B     -  push 0B955B58
062E2D3D: E9 E6 D2 D5 FE     -  jmp 05040028
062E2D42: 00 00              -  add [eax],al
062E2D44: 00 00              -  add [eax],al
062E2D46: 00 00              -  add [eax],al
062E2D48: 55                 -  push ebp
062E2D49: 8B EC              -  mov ebp,esp
062E2D4B: 83 EC 08           -  sub esp,08
062E2D4E: 8B 45 08           -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
062E2D51: 8B 80 A4 00 00 00  -  mov eax,[eax+000000A4]
// ---------- DONE INJECTING  ----------
062E2D57: C9                 -  leave 
062E2D58: C3                 -  ret 
062E2D59: 00 00              -  add [eax],al
062E2D5B: 00 00              -  add [eax],al
062E2D5D: 00 00              -  add [eax],al
062E2D5F: 00 55 8B           -  add [ebp-75],dl
062E2D62: EC                 -  in al,dx
062E2D63: 83 EC 08           -  sub esp,08
062E2D66: 8B 05 60 0F 01 05  -  mov eax,[05010F60]
062E2D6C: 83 EC 08           -  sub esp,08
}

 

Бесконечные патроны. 

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

{ Game   : IAmWeaponRevival.exe
  Version: 
  Date   : 2016-07-28
  Author : LIRW2015

  This script does blah blah blah
}

[ENABLE]

aobscan(Ammo,8B 80 80 00 00 00 33) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

  fild [eax+0000007C]
  fistp [eax+00000080]

code:
  mov eax,[eax+00000080]
  jmp return

Ammo:
  jmp newmem
  nop
return:
registersymbol(Ammo)

[DISABLE]

Ammo:
  db 8B 80 80 00 00 00

unregistersymbol(Ammo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 062EB9E3

062EB9CC: 50                             -  push eax
062EB9CD: E8 A6 53 D5 FE                 -  call 05040D78
062EB9D2: 00 00                          -  add [eax],al
062EB9D4: 00 00                          -  add [eax],al
062EB9D6: 00 00                          -  add [eax],al
062EB9D8: 55                             -  push ebp
062EB9D9: 8B EC                          -  mov ebp,esp
062EB9DB: 83 EC 08                       -  sub esp,08
062EB9DE: 8B 45 08                       -  mov eax,[ebp+08]
062EB9E1: 39 00                          -  cmp [eax],eax
// ---------- INJECTING HERE ----------
062EB9E3: 8B 80 80 00 00 00              -  mov eax,[eax+00000080]
// ---------- DONE INJECTING  ----------
062EB9E9: 33 D2                          -  xor edx,edx
062EB9EB: C9                             -  leave 
062EB9EC: C3                             -  ret 
062EB9ED: 00 00                          -  add [eax],al
062EB9EF: 00 55 8B                       -  add [ebp-75],dl
062EB9F2: EC                             -  in al,dx
062EB9F3: 57                             -  push edi
062EB9F4: 83 EC 04                       -  sub esp,04
062EB9F7: 8B 7D 08                       -  mov edi,[ebp+08]
062EB9FA: 8B 87 90 00 00 00              -  mov eax,[edi+00000090]
}

 

Убийство с одного выстрела.  

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

{ Game   : IAmWeaponRevival.exe
  Version: 
  Date   : 2016-07-28
  Author : LIRW2015

  This script does blah blah blah
}

[ENABLE]

aobscan(OneKill,D9 47 58 D9 EE D9) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

  cmp [edi+58],(float)0
  jl code
  mov dword ptr [edi+58],(float)0

code:
  fld dword ptr [edi+58]
  fldz 
  jmp return

OneKill:
  jmp newmem
return:
registersymbol(OneKill)

[DISABLE]

OneKill:
  db D9 47 58 D9 EE

unregistersymbol(OneKill)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 062FBAD6

062FBAB4: 85 C0              -  test eax,eax
062FBAB6: 0F 85 45 02 00 00  -  jne 062FBD01
062FBABC: 8B 47 48           -  mov eax,[edi+48]
062FBABF: 0F B6 40 55        -  movzx eax,byte ptr [eax+55]
062FBAC3: 85 C0              -  test eax,eax
062FBAC5: 0F 85 36 02 00 00  -  jne 062FBD01
062FBACB: D9 47 58           -  fld dword ptr [edi+58]
062FBACE: D9 45 0C           -  fld dword ptr [ebp+0C]
062FBAD1: DE C1              -  faddp 
062FBAD3: D9 5F 58           -  fstp dword ptr [edi+58]
// ---------- INJECTING HERE ----------
062FBAD6: D9 47 58           -  fld dword ptr [edi+58]
062FBAD9: D9 EE              -  fldz 
// ---------- DONE INJECTING  ----------
062FBADB: D9 87 80 00 00 00  -  fld dword ptr [edi+00000080]
062FBAE1: 83 EC 04           -  sub esp,04
062FBAE4: 83 EC 04           -  sub esp,04
062FBAE7: D9 1C 24           -  fstp dword ptr [esp]
062FBAEA: 83 EC 04           -  sub esp,04
062FBAED: D9 1C 24           -  fstp dword ptr [esp]
062FBAF0: 83 EC 04           -  sub esp,04
062FBAF3: D9 1C 24           -  fstp dword ptr [esp]
062FBAF6: E8 CD B5 2D FF     -  call 055D70C8
062FBAFB: 83 C4 10           -  add esp,10
}

 

Много очков. 

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

{ Game   : IAmWeaponRevival.exe
  Version: 
  Date   : 2016-07-28
  Author : LIRW2015

  This script does blah blah blah
}

[ENABLE]

aobscan(MegaScore,8B 51 0C 03 55 10) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

  mov [ecx+0C],#100000000

code:
  mov edx,[ecx+0C]
  add edx,[ebp+10]
  jmp return

MegaScore:
  jmp newmem
  nop
return:
registersymbol(MegaScore)

[DISABLE]

MegaScore:
  db 8B 51 0C 03 55 10

unregistersymbol(MegaScore)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 02549CCE

02549CB0: 55                    -  push ebp
02549CB1: 8B EC                 -  mov ebp,esp
02549CB3: 83 EC 08              -  sub esp,08
02549CB6: 8B 45 08              -  mov eax,[ebp+08]
02549CB9: 8B 48 0C              -  mov ecx,[eax+0C]
02549CBC: 8B 45 0C              -  mov eax,[ebp+0C]
02549CBF: 39 41 0C              -  cmp [ecx+0C],eax
02549CC2: 0F 86 57 00 00 00     -  jbe 02549D1F
02549CC8: 8D 4C 81 10           -  lea ecx,[ecx+eax*4+10]
02549CCC: 8B 09                 -  mov ecx,[ecx]
// ---------- INJECTING HERE ----------
02549CCE: 8B 51 0C              -  mov edx,[ecx+0C]
02549CD1: 03 55 10              -  add edx,[ebp+10]
// ---------- DONE INJECTING  ----------
02549CD4: 89 51 0C              -  mov [ecx+0C],edx
02549CD7: 3D 03 00 00 00        -  cmp eax,00000003
02549CDC: 75 33                 -  jne 02549D11
02549CDE: 8B 05 50 0F 01 05     -  mov eax,[05010F50]
02549CE4: 8B 4D 08              -  mov ecx,[ebp+08]
02549CE7: 8B 49 0C              -  mov ecx,[ecx+0C]
02549CEA: 83 79 0C 03           -  cmp dword ptr [ecx+0C],03
02549CEE: 0F 86 1F 00 00 00     -  jbe 02549D13
02549CF4: 8B 49 1C              -  mov ecx,[ecx+1C]
02549CF7: 8B 49 0C              -  mov ecx,[ecx+0C]
}

 

Скрипты вместе с байтами копировал - может пригодится для поиска. Так как мало ли - игра на Юнити.

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

37 минуты назад, LIRW сказал:

Бессмертие. 

Этот скрипт, ты опасно делаешь (хорошо что нету вылетов), т.к. у тебя в верхнем регистре FPU остаётся текущее значение НР, 

Для безопасности я бы сделал проще скрипт:

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

code:
  //fld [Health]                 // это не нужно - рисковано (либо предварительно нужно вытащить значение из верхнего регистра), в другой игре точно получишь вылет.
  fstp dword ptr [eax+000000A8]
  mov [eax+000000A8],(float)4000 // получим тот же результат, но без риска.
  jmp return

 

 

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

55 минут назад, Garik66 сказал:

в другой игре точно получишь вылет.

В первой что ли Игорь так делаю и норм всё - не вылетало. Хотя Игорь я заметил не большие как бы сказать (странные притормаживания) но особо этому значения не придал. Но у меня видяхя сам знаешь какая.Игра просто такая попалась - там либо сразу записать, либо в сохранение. Разницы особой не было, но на той слишком уж сигнатура странная была и пришлось на этой сделать. Так что не чего страшного - игре то особой разницы нету от куда загружать значение.  Игорь - в любом случаи был бы вылет, не стал бы так делать :) ну у меня не разу не вылетало. А делал так раза 3 наверное - ну зависит как и говорю же от игры. Обычно я такие инструкции не беру под жизнь или под что либо другое. Только под Убийство с одного выстрела - да и как говорится, кто не рискует тот не пьёт шампанского :-D

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

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

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

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

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