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

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

Могу дать сырое решение

 

1. Нажимаем на "H" - снимаются по 10-ке плохие параметры (усталость, голод и прочее)

2. Нажимаем на "J" - добавляется 1 очко способностей

 

Много раз нажимаем на H и J и параметры обновляются у всех персонажей.

 

Dead bermuda4.jpg

 

При установке указать правильный путь до Cheat.dll в таблице .CT.

Фрагмент

  testdllpath:			// Путь до dll
   db 'D:\Cheat.dll',0

 

Я сделал dll с двумя классами. Подгружается через Cheat Engine через CT таблицу

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

using System;
using UnityEngine;

namespace NamespaceCheats
{
  public class Cheats
  {
    public static void Main()
    {
      GameObject go = new GameObject();
      go.name = "CheatsActionsKey";
      go.AddComponent<ActionsKey>();
    }
  }
}

 

 

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

using UnityEngine;

namespace NamespaceCheats
{
  public class ActionsKey: MonoBehaviour
  {      
    void Update()
    {
      if (Input.GetKey(KeyCode.H))
      {           
        foreach (CharacterEntity character  in CharacterEntity.__Characters)
        {
          character.AddToDepressionStateValue(-10, false);
          character.AddToFatigueStateValue(-10, false);
          character.AddToHungerStateValue(-10, false);
          character.AddToInjuryStateValue(-10, false);
          character.AddToSicknessStateValue(-1, false);
        }       
      }
        
      if (Input.GetKey(KeyCode.J))
      {            
        foreach (CharacterEntity character  in CharacterEntity.__Characters)
        {
          character.AddToTraitXp(1);
          character.AddToXpAndLevelUp(1);
        }        
      }
    }     
  } 
}

 

 

Dead bermuda.jpg Dead bermuda2.jpg  Dead bermuda3.jpg

Cheat.dll

Dead In Bermuda.CT

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

Привет Всем.

Времени было мало, но кое - что все же изменил.

Ссылка на таблицу: https://yadi.sk/d/NfpXJ9v13KgMUV

Заранее извиняюсь за то, что увы не знаю как загрузить таблицу на сайт. Тыкался - тыкался и ничего не нашел. Может так искал.:wacko:

Основные/Дополнительные Параметры Группы:

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

{ Game   : Dead In Bermuda.exe
  Version: 
  Date   : 2017-06-27
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]
aobscan(Psyho,D9 40 08 D9 5D F4 D9 45 F4 D9 5D F4 D9 45 F4 EB) // should be unique b0
aobscan(Disease,D9 40 08 D9 5D F4 D9 45 F4 D9 5D F4 D9 45 F4 E9 87) // should be unique b8
aobscan(Noattack,D9 40 08 D9 5D F4 D9 45 F4 D9 5D F4 D9 45 F4 E9 54) // should be unique b4
aobscan(Sleep,D9 40 08 D9 5D F4 D9 45 F4 D9 5D F4 D9 45 F4 E9 BA) // should be unique ac
aobscan(Hungry,D9 40 08 D9 5D F4 D9 45 F4 D9 5D F4 D9 45 F4 E9 ED) // should be unique a8



alloc(newmem,$2048)
label(newmem1)
label(newmem2)
label(newmem3)
label(newmem4)
label(code1)
label(code2)
label(code3)
label(code4)
label(return)
label(return1)
label(return2)
label(return3)
label(return4)
registersymbol(Psyho)
registersymbol(Sleep)
registersymbol(Noattack)
registersymbol(Hungry)
registersymbol(Disease)

newmem:
  mov [eax+08], (float)0

code:
  fld dword ptr [eax+08]
  fstp dword ptr [ebp-0C]
  jmp return

newmem1:
  mov [eax+08], (float)0

code1:
  fld dword ptr [eax+08]
  fstp dword ptr [ebp-0C]
  jmp return1

newmem2:
  mov [eax+08], (float)0

code2:
  fld dword ptr [eax+08]
  fstp dword ptr [ebp-0C]
  jmp return2

newmem3:
  mov [eax+08], (float)0

code3:
  fld dword ptr [eax+08]
  fstp dword ptr [ebp-0C]
  jmp return3

newmem4:
  mov [eax+08], (float)0

code4:
  fld dword ptr [eax+08]
  fstp dword ptr [ebp-0C]
  jmp return4

Psyho:
  jmp newmem
  db 90
return:

Sleep:
  jmp newmem1
  db 90
return1:

Noattack:
  jmp newmem2
  db 90
return2:

Hungry:
  jmp newmem3
  db 90
return3:

Disease:
  jmp newmem4
  db 90
return4:

[DISABLE]

Psyho:
  db D9 40 08 D9 5D F4
Sleep:
  db D9 40 08 D9 5D F4
Noattack:
  db D9 40 08 D9 5D F4
Hungry:
  db D9 40 08 D9 5D F4
Disease:
  db D9 40 08 D9 5D F4

unregistersymbol(Psyho)
unregistersymbol(Sleep)
unregistersymbol(Noattack)
unregistersymbol(Hungry)
unregistersymbol(Disease)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1403D049

""+1403D02A: 83 EC 08           -  sub esp,08
""+1403D02D: 68 60 0E D0 0E     -  push 0ED00E60
""+1403D032: 57                 -  push edi
""+1403D033: E8 28 4F 68 F1     -  call 056C1F60
""+1403D038: 83 C4 10           -  add esp,10
""+1403D03B: 85 C0              -  test eax,eax
""+1403D03D: 74 1B              -  je 1403D05A
""+1403D03F: 8B 86 B8 00 00 00  -  mov eax,[esi+000000B8]
""+1403D045: 8B C8              -  mov ecx,eax
""+1403D047: 39 09              -  cmp [ecx],ecx
// ---------- INJECTING HERE ----------
""+1403D049: D9 40 08           -  fld dword ptr [eax+08]
""+1403D04C: D9 5D F4           -  fstp dword ptr [ebp-0C]
// ---------- DONE INJECTING  ----------
""+1403D04F: D9 45 F4           -  fld dword ptr [ebp-0C]
""+1403D052: D9 5D F4           -  fstp dword ptr [ebp-0C]
""+1403D055: D9 45 F4           -  fld dword ptr [ebp-0C]
""+1403D058: EB 24              -  jmp 1403D07E
""+1403D05A: 83 EC 08           -  sub esp,08
""+1403D05D: 57                 -  push edi
""+1403D05E: 68 10 23 2A 17     -  push 172A2310
""+1403D063: E8 10 49 68 F1     -  call 056C1978
""+1403D068: 83 C4 10           -  add esp,10
""+1403D06B: 83 EC 08           -  sub esp,08
}

 

Тут с этим скриптом мне в ЛС помог LIRW, Предложенный им скрипт оказался работоспособным. Но по его желанию я не стану его выкладывать в общий доступ. При желании - скину в ЛС участникам форума. Решение было представлено довольно таки интересное.

Я же выложил свои 5 скриптов объединенные в 1 - более громоздки, но причину я описал выше.

Добавить 1 талант (Таргет мышкой над персонажем):

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

{ Game   : Dead In Bermuda.exe
  Version: 
  Date   : 2017-06-27
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]
aobscan(points,8B 87 10 01 00 00 8B D9) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(flag)
registersymbol(points)
registersymbol(flag)

newmem:
  cmp [flag],1
  jne code
  mov [flag],0
  add [edi+00000110],#1

flag:
Dd 0

code:
  mov eax,[edi+00000110]
  jmp return

points:
  jmp newmem
  db 90
return:

[DISABLE]
points:
  db 8B 87 10 01 00 00

unregistersymbol(points)
unregistersymbol(flag)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1706B24F

""+1706B232: 85 C0                 -  test eax,eax
""+1706B234: 0F 84 6F 00 00 00     -  je 1706B2A9
""+1706B23A: 8B 46 44              -  mov eax,[esi+44]
""+1706B23D: 83 EC 0C              -  sub esp,0C
""+1706B240: 50                    -  push eax
""+1706B241: 39 00                 -  cmp [eax],eax
""+1706B243: E8 78 99 39 EE        -  call 05404BC0
""+1706B248: 83 C4 10              -  add esp,10
""+1706B24B: 8B C8                 -  mov ecx,eax
""+1706B24D: 39 3F                 -  cmp [edi],edi
// ---------- INJECTING HERE ----------
""+1706B24F: 8B 87 10 01 00 00     -  mov eax,[edi+00000110]
// ---------- DONE INJECTING  ----------
""+1706B255: 8B D9                 -  mov ebx,ecx
""+1706B257: 85 C0                 -  test eax,eax
""+1706B259: 7E 36                 -  jle 1706B291
""+1706B25B: 8B 46 2C              -  mov eax,[esi+2C]
""+1706B25E: 83 EC 0C              -  sub esp,0C
""+1706B261: 50                    -  push eax
""+1706B262: 39 00                 -  cmp [eax],eax
""+1706B264: E8 E7 0A 3A EE        -  call 0540BD50
""+1706B269: 83 C4 10              -  add esp,10
""+1706B26C: 83 EC 04              -  sub esp,04
}

 

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

[ENABLE]
flag:
  Dd 1

[DISABLE]
flag:
  Dd 0

 

Ресурсы, Ремонт, быстрая постройка:

Ресурсы по 100:

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

{ Game   : Dead In Bermuda.exe
  Version: 
  Date   : 2017-06-27
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]
aobscan(Resour,8B 40 0C 85 C0 0F 8F DE) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Resour)

newmem:
  mov [eax+0C],#100

code:
  mov eax,[eax+0C]
  test eax,eax
  jmp return

Resour:
  jmp newmem
return:

[DISABLE]
Resour:
  db 8B 40 0C 85 C0

unregistersymbol(Resour)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1406AF57

""+1406AF3C: 83 EC 08           -  sub esp,08
""+1406AF3F: 53                 -  push ebx
""+1406AF40: 50                 -  push eax
""+1406AF41: E8 2A 0C 67 F1     -  call 056DBB70
""+1406AF46: 83 C4 10           -  add esp,10
""+1406AF49: 8B 45 F0           -  mov eax,[ebp-10]
""+1406AF4C: 8B 48 0C           -  mov ecx,[eax+0C]
""+1406AF4F: 03 CE              -  add ecx,esi
""+1406AF51: 89 48 0C           -  mov [eax+0C],ecx
""+1406AF54: 8B 45 F0           -  mov eax,[ebp-10]
// ---------- INJECTING HERE ----------
""+1406AF57: 8B 40 0C           -  mov eax,[eax+0C]
""+1406AF5A: 85 C0              -  test eax,eax
// ---------- DONE INJECTING  ----------
""+1406AF5C: 0F 8F DE 00 00 00  -  jg 1406B040
""+1406AF62: 8B 43 30           -  mov eax,[ebx+30]
""+1406AF65: 8B 4D F0           -  mov ecx,[ebp-10]
""+1406AF68: 83 EC 08           -  sub esp,08
""+1406AF6B: 51                 -  push ecx
""+1406AF6C: 50                 -  push eax
""+1406AF6D: 39 00              -  cmp [eax],eax
""+1406AF6F: E8 F0 01 00 00     -  call 1406B164
""+1406AF74: 83 C4 10           -  add esp,10
""+1406AF77: 8B 43 20           -  mov eax,[ebx+20]
}

 

Библиотека и мастерская 100% (Прочность):

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

{ Game   : Dead In Bermuda.exe
  Version: 
  Date   : 2017-06-27
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]
aobscan(Repair2,D9 80 90 00 00 00 C9) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(Repair2)

newmem:
  mov [eax+00000090], (float)100

code:
  fld dword ptr [eax+00000090]
  jmp return

Repair2:
  jmp newmem
  db 90
return:

[DISABLE]
Repair2:
  db D9 80 90 00 00 00

unregistersymbol(Repair2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 140384F9

""+140384E5: 00 00                 -  add [eax],al
""+140384E7: 00 55 8B              -  add [ebp-75],dl
""+140384EA: EC                    -  in al,dx
""+140384EB: 83 EC 08              -  sub esp,08
""+140384EE: C9                    -  leave 
""+140384EF: C3                    -  ret 
""+140384F0: 55                    -  push ebp
""+140384F1: 8B EC                 -  mov ebp,esp
""+140384F3: 83 EC 08              -  sub esp,08
""+140384F6: 8B 45 08              -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
""+140384F9: D9 80 90 00 00 00     -  fld dword ptr [eax+00000090]
// ---------- DONE INJECTING  ----------
""+140384FF: C9                    -  leave 
""+14038500: C3                    -  ret 
""+14038501: 00 00                 -  add [eax],al
""+14038503: 00 00                 -  add [eax],al
""+14038505: 00 00                 -  add [eax],al
""+14038507: 00 55 8B              -  add [ebp-75],dl
""+1403850A: EC                    -  in al,dx
""+1403850B: 83 EC 08              -  sub esp,08
""+1403850E: 8B 45 08              -  mov eax,[ebp+08]
""+14038511: D9 80 94 00 00 00     -  fld dword ptr [eax+00000094]
}

 

Быстрая постройка В мастерской:

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

{ Game   : Dead In Bermuda.exe
  Version: 
  Date   : 2017-06-27
  Author : ALEXSP

  This script does blah blah blah
}

[ENABLE]
aobscan(ISSLE,88 10 D9 00 83 EC 0C) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(ISSLE)

newmem:
  mov [eax], (float)1000

code:
  fld dword ptr [eax]
  sub esp,0C
  jmp return

ISSLE+02:
  jmp newmem
return:

[DISABLE]
ISSLE+02:
  db D9 00 83 EC 0C

unregistersymbol(ISSLE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1403EE91

""+1403EE70: E8 A3 D8 69 F1     -  call 056DC718
""+1403EE75: 83 C4 10           -  add esp,10
""+1403EE78: 8B C8              -  mov ecx,eax
""+1403EE7A: 8B 45 D4           -  mov eax,[ebp-2C]
""+1403EE7D: 8B D1              -  mov edx,ecx
""+1403EE7F: 39 12              -  cmp [edx],edx
""+1403EE81: 8B 49 40           -  mov ecx,[ecx+40]
""+1403EE84: 39 48 0C           -  cmp [eax+0C],ecx
""+1403EE87: 0F 86 36 01 00 00  -  jbe 1403EFC3
""+1403EE8D: 8D 44 88 10        -  lea eax,[eax+ecx*4+10]
// ---------- INJECTING HERE ----------
""+1403EE91: D9 00              -  fld dword ptr [eax]
""+1403EE93: 83 EC 0C           -  sub esp,0C
// ---------- DONE INJECTING  ----------
""+1403EE96: 83 EC 04           -  sub esp,04
""+1403EE99: D9 1C 24           -  fstp dword ptr [esp]
""+1403EE9C: E8 2F F7 6D F1     -  call 0571E5D0
""+1403EEA1: 83 C4 10           -  add esp,10
""+1403EEA4: 8B D0              -  mov edx,eax
""+1403EEA6: 8B 45 DC           -  mov eax,[ebp-24]
""+1403EEA9: 8B 4D D8           -  mov ecx,[ebp-28]
""+1403EEAC: 52                 -  push edx
""+1403EEAD: DB 04 24           -  fild dword ptr [esp]
""+1403EEB0: D9 1C 24           -  fstp dword ptr [esp]
}

 

На этом пока все. В ближайшее время постараюсь найти нужную инструкцию для пойнтера. Очень уж охота создать нормальную таблицу со статами.

Опыта пока мало :o - хотелок много B). Посмотрел несколько видео Garik66 почерпнул у него аккуратность написания скриптов, ну и еще много интересного узнал. 

Спасибо всем за участие. Как и всегда.

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

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

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

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