Page 4 of 7

Re: Gems of War [STEAM]

Posted: Mon Feb 27, 2023 10:36 pm
by marcelodsales
Anyone with the new table for version 6.8?

Re: Gems of War [STEAM]

Posted: Sat Apr 15, 2023 10:32 pm
by balenaucigasa
marcelodsales wrote:
Mon Feb 27, 2023 10:36 pm
Anyone with the new table for version 6.8?
Updated

Re: Gems of War [STEAM]

Posted: Sun Apr 16, 2023 9:37 am
by Cissa90
I made some cheats to gain keys/gold/maps/souls etc on each battle. Dunno how ban safe it is lol. Also edited the mana cheat a bit so it is always full when used with start with full mana.
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>200</ID>
      <Description>"Full Mana Always (Use with start with full mana)"</Description>
      <Options moAlwaysHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(ManaGain,GameAssembly.dll,89 47 28 8B 45 F0) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov eax,(int)99
  mov [edi+28],eax
  mov eax,[ebp-10]
  jmp return

ManaGain:
  jmp newmem
  nop
return:
registersymbol(ManaGain)

[DISABLE]

ManaGain:
  db 89 47 28 8B 45 F0

unregistersymbol(ManaGain)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+20C472

GameAssembly.dll+20C451: 66 0F 6E 45 0C     - movd xmm0,[ebp+0C]
GameAssembly.dll+20C456: 8B 77 28           - mov esi,[edi+28]
GameAssembly.dll+20C459: 0F 5B C0           - cvtdq2ps xmm0,xmm0
GameAssembly.dll+20C45C: 6A 00              - push 00
GameAssembly.dll+20C45E: 51                 - push ecx
GameAssembly.dll+20C45F: F3 0F 59 C1        - mulss xmm0,xmm1
GameAssembly.dll+20C463: F3 0F 11 04 24     - movss [esp],xmm0
GameAssembly.dll+20C468: E8 B3 CF ED 00     - call GameAssembly.dll+10E9420
GameAssembly.dll+20C46D: 03 C6              - add eax,esi
GameAssembly.dll+20C46F: 83 C4 08           - add esp,08
// ---------- INJECTING HERE ----------
GameAssembly.dll+20C472: 89 47 28           - mov [edi+28],eax
// ---------- DONE INJECTING  ----------
GameAssembly.dll+20C475: 8B 45 F0           - mov eax,[ebp-10]
GameAssembly.dll+20C478: 85 C0              - test eax,eax
GameAssembly.dll+20C47A: 0F 84 BD 00 00 00  - je GameAssembly.dll+20C53D
GameAssembly.dll+20C480: 53                 - push ebx
GameAssembly.dll+20C481: 8B C8              - mov ecx,eax
GameAssembly.dll+20C483: E8 A8 4D E5 FF     - call GameAssembly.il2cpp_class_get_static_field_data+50
GameAssembly.dll+20C488: 8B 4D 0C           - mov ecx,[ebp+0C]
GameAssembly.dll+20C48B: 8B 55 E8           - mov edx,[ebp-18]
GameAssembly.dll+20C48E: 8B 75 F4           - mov esi,[ebp-0C]
GameAssembly.dll+20C491: 29 08              - sub [eax],ecx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>201</ID>
          <Description>"FullMana1"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(FullMana,GameAssembly.dll,6A 00 51 89 41 28 E8 9C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  push 00
  push ecx
  mov eax,(int)99
  mov [ecx+28],eax
  jmp return

FullMana:
  jmp newmem
  nop
return:
registersymbol(FullMana)

[DISABLE]

FullMana:
  db 6A 00 51 89 41 28

unregistersymbol(FullMana)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+214349

GameAssembly.dll+214336: 8A 4D 0C        - mov cl,[ebp+0C]
GameAssembly.dll+214339: 88 48 66        - mov [eax+66],cl
GameAssembly.dll+21433C: 5D              - pop ebp
GameAssembly.dll+21433D: C3              - ret 
GameAssembly.dll+21433E: CC              - int 3 
GameAssembly.dll+21433F: CC              - int 3 
PuzzleTroop.SetMana: 55              - push ebp
PuzzleTroop.SetMana+1: 8B EC           - mov ebp,esp
GameAssembly.dll+214343: 8B 4D 08        - mov ecx,[ebp+08]
GameAssembly.dll+214346: 8B 45 0C        - mov eax,[ebp+0C]
// ---------- INJECTING HERE ----------
GameAssembly.dll+214349: 6A 00           - push 00
// ---------- DONE INJECTING  ----------
GameAssembly.dll+21434B: 51              - push ecx
GameAssembly.dll+21434C: 89 41 28        - mov [ecx+28],eax
GameAssembly.dll+21434F: E8 9C 11 00 00  - call PuzzleTroop.UpdateManaDisplay
GameAssembly.dll+214354: 83 C4 08        - add esp,08
GameAssembly.dll+214357: 5D              - pop ebp
GameAssembly.dll+214358: C3              - ret 
GameAssembly.dll+214359: CC              - int 3 
GameAssembly.dll+21435A: CC              - int 3 
GameAssembly.dll+21435B: CC              - int 3 
GameAssembly.dll+21435C: CC              - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>202</ID>
          <Description>"FullMana2"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(INJECT,GameAssembly.dll,08 66 0F 6E 48 28) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [eax+28],(int)99
  movd xmm1,[eax+28]
  jmp return

INJECT+01:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT+01:
  db 66 0F 6E 48 28

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+20EC26

GameAssembly.dll+20EC19: 5D                       - pop ebp
GameAssembly.dll+20EC1A: C3                       - ret 
GameAssembly.dll+20EC1B: CC                       - int 3 
GameAssembly.dll+20EC1C: CC                       - int 3 
GameAssembly.dll+20EC1D: CC                       - int 3 
GameAssembly.dll+20EC1E: CC                       - int 3 
GameAssembly.dll+20EC1F: CC                       - int 3 
PuzzleTroop.GetManaPercentage: 55                       - push ebp
PuzzleTroop.GetManaPercentage+1: 8B EC                    - mov ebp,esp
GameAssembly.dll+20EC23: 8B 45 08                 - mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+20EC26: 66 0F 6E 48 28           - movd xmm1,[eax+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+20EC2B: 66 0F 6E 40 2C           - movd xmm0,[eax+2C]
GameAssembly.dll+20EC30: 0F 5B C9                 - cvtdq2ps xmm1,xmm1
GameAssembly.dll+20EC33: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
GameAssembly.dll+20EC36: F3 0F 5E C8              - divss xmm1,xmm0
GameAssembly.dll+20EC3A: F3 0F 59 0D 48 C6 AF 0A  - mulss xmm1,[GameAssembly.dll+172C648]
GameAssembly.dll+20EC42: F3 0F 11 4D 08           - movss [ebp+08],xmm1
GameAssembly.dll+20EC47: D9 45 08                 - fld dword ptr [ebp+08]
GameAssembly.dll+20EC4A: 5D                       - pop ebp
GameAssembly.dll+20EC4B: C3                       - ret 
GameAssembly.dll+20EC4C: CC                       - int 3 
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>221</ID>
      <Description>"After Battle Rewards (Open Bounty Window In Match To Update Values)"</Description>
      <LastState Value="" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>216</ID>
          <Description>"Max Maps"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(Maps,GameAssembly.dll,8B 51 50 8B 41 5C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [ecx+50],(int)10
  mov edx,[ecx+50]
  mov eax,[ecx+5C]
  jmp return

Maps:
  jmp newmem
  nop
return:
registersymbol(Maps)

[DISABLE]

Maps:
  db 8B 51 50 8B 41 5C

unregistersymbol(Maps)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+3CE336

GameAssembly.dll+3CE329: 5E        - pop esi
GameAssembly.dll+3CE32A: 5B        - pop ebx
GameAssembly.dll+3CE32B: 5D        - pop ebp
GameAssembly.dll+3CE32C: C3        - ret 
GameAssembly.dll+3CE32D: CC        - int 3 
GameAssembly.dll+3CE32E: CC        - int 3 
GameAssembly.dll+3CE32F: CC        - int 3 
PuzzlePlayer.GetEarnedMaps: 55        - push ebp
PuzzlePlayer.GetEarnedMaps+1: 8B EC     - mov ebp,esp
GameAssembly.dll+3CE333: 8B 4D 08  - mov ecx,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+3CE336: 8B 51 50  - mov edx,[ecx+50]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+3CE339: 8B 41 5C  - mov eax,[ecx+5C]
GameAssembly.dll+3CE33C: 3B D0     - cmp edx,eax
GameAssembly.dll+3CE33E: 7E 05     - jle GameAssembly.dll+3CE345
GameAssembly.dll+3CE340: 89 41 50  - mov [ecx+50],eax
GameAssembly.dll+3CE343: 5D        - pop ebp
GameAssembly.dll+3CE344: C3        - ret 
GameAssembly.dll+3CE345: 8B C2     - mov eax,edx
GameAssembly.dll+3CE347: 5D        - pop ebp
GameAssembly.dll+3CE348: C3        - ret 
GameAssembly.dll+3CE349: CC        - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>217</ID>
          <Description>"Max Keys"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(Keys,GameAssembly.dll,8B 51 2C 8B 41 60) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [ecx+2C],(int)5
  mov edx,[ecx+2C]
  mov eax,[ecx+60]
  jmp return

Keys:
  jmp newmem
  nop
return:
registersymbol(Keys)

[DISABLE]

Keys:
  db 8B 51 2C 8B 41 60

unregistersymbol(Keys)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+3CE246

GameAssembly.dll+3CE239: CC        - int 3 
GameAssembly.dll+3CE23A: CC        - int 3 
GameAssembly.dll+3CE23B: CC        - int 3 
GameAssembly.dll+3CE23C: CC        - int 3 
GameAssembly.dll+3CE23D: CC        - int 3 
GameAssembly.dll+3CE23E: CC        - int 3 
GameAssembly.dll+3CE23F: CC        - int 3 
PuzzlePlayer.GetEarnedKeys: 55        - push ebp
GameAssembly.dll+3CE241: 8B EC     - mov ebp,esp
GameAssembly.dll+3CE243: 8B 4D 08  - mov ecx,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+3CE246: 8B 51 2C  - mov edx,[ecx+2C]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+3CE249: 8B 41 60  - mov eax,[ecx+60]
GameAssembly.dll+3CE24C: 3B D0     - cmp edx,eax
GameAssembly.dll+3CE24E: 7E 05     - jle GameAssembly.dll+3CE255
GameAssembly.dll+3CE250: 89 41 2C  - mov [ecx+2C],eax
GameAssembly.dll+3CE253: 5D        - pop ebp
GameAssembly.dll+3CE254: C3        - ret 
GameAssembly.dll+3CE255: 8B C2     - mov eax,edx
GameAssembly.dll+3CE257: 5D        - pop ebp
GameAssembly.dll+3CE258: C3        - ret 
GameAssembly.dll+3CE259: CC        - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>218</ID>
          <Description>"Max Gold"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(GetMaxGold,GameAssembly.dll,8B 51 40 8B 41 54) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [ecx+40],(int)100
  mov edx,[ecx+40]
  mov eax,[ecx+54]
  jmp return

GetMaxGold:
  jmp newmem
  nop
return:
registersymbol(GetMaxGold)

[DISABLE]

GetMaxGold:
  db 8B 51 40 8B 41 54

unregistersymbol(GetMaxGold)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+3CE206

GameAssembly.dll+3CE1F9: CC              - int 3 
GameAssembly.dll+3CE1FA: CC              - int 3 
GameAssembly.dll+3CE1FB: CC              - int 3 
GameAssembly.dll+3CE1FC: CC              - int 3 
GameAssembly.dll+3CE1FD: CC              - int 3 
GameAssembly.dll+3CE1FE: CC              - int 3 
GameAssembly.dll+3CE1FF: CC              - int 3 
PuzzlePlayer.GetEarnedGold: 55              - push ebp
PuzzlePlayer.GetEarnedGold+1: 8B EC           - mov ebp,esp
GameAssembly.dll+3CE203: 8B 4D 08        - mov ecx,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+3CE206: 8B 51 40        - mov edx,[ecx+40]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+3CE209: 8B 41 54        - mov eax,[ecx+54]
GameAssembly.dll+3CE20C: 3B D0           - cmp edx,eax
GameAssembly.dll+3CE20E: 7E 05           - jle GameAssembly.dll+3CE215
GameAssembly.dll+3CE210: 89 41 40        - mov [ecx+40],eax
GameAssembly.dll+3CE213: 8B D0           - mov edx,eax
GameAssembly.dll+3CE215: 8B 49 44        - mov ecx,[ecx+44]
GameAssembly.dll+3CE218: B8 1F 85 EB 51  - mov eax,51EB851F
GameAssembly.dll+3CE21D: 83 C1 64        - add ecx,64
GameAssembly.dll+3CE220: 0F AF CA        - imul ecx,edx
GameAssembly.dll+3CE223: F7 E9           - imul ecx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>219</ID>
          <Description>"Max Kills"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(MaxKills,GameAssembly.dll,8B 51 70 8B 41 64) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [ecx+70],(int)60
  mov edx,[ecx+70]
  mov eax,[ecx+64]
  jmp return

MaxKills:
  jmp newmem
  nop
return:
registersymbol(MaxKills)

[DISABLE]

MaxKills:
  db 8B 51 70 8B 41 64

unregistersymbol(MaxKills)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+3CE266

GameAssembly.dll+3CE259: CC        - int 3 
GameAssembly.dll+3CE25A: CC        - int 3 
GameAssembly.dll+3CE25B: CC        - int 3 
GameAssembly.dll+3CE25C: CC        - int 3 
GameAssembly.dll+3CE25D: CC        - int 3 
GameAssembly.dll+3CE25E: CC        - int 3 
GameAssembly.dll+3CE25F: CC        - int 3 
PuzzlePlayer.GetEarnedKills: 55        - push ebp
PuzzlePlayer.GetEarnedKills+1: 8B EC     - mov ebp,esp
GameAssembly.dll+3CE263: 8B 4D 08  - mov ecx,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+3CE266: 8B 51 70  - mov edx,[ecx+70]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+3CE269: 8B 41 64  - mov eax,[ecx+64]
GameAssembly.dll+3CE26C: 3B D0     - cmp edx,eax
GameAssembly.dll+3CE26E: 7E 05     - jle GameAssembly.dll+3CE275
GameAssembly.dll+3CE270: 89 41 70  - mov [ecx+70],eax
GameAssembly.dll+3CE273: 5D        - pop ebp
GameAssembly.dll+3CE274: C3        - ret 
GameAssembly.dll+3CE275: 8B C2     - mov eax,edx
GameAssembly.dll+3CE277: 5D        - pop ebp
GameAssembly.dll+3CE278: C3        - ret 
GameAssembly.dll+3CE279: CC        - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>220</ID>
          <Description>"Max Souls Earned"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanmodule(EarnedSouls,GameAssembly.dll,8B 51 48 8B 41 58) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [ecx+48],(int)40
  mov edx,[ecx+48]
  mov eax,[ecx+58]
  jmp return

EarnedSouls:
  jmp newmem
  nop
return:
registersymbol(EarnedSouls)

[DISABLE]

EarnedSouls:
  db 8B 51 48 8B 41 58

unregistersymbol(EarnedSouls)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+3CE476

GameAssembly.dll+3CE469: CC              - int 3 
GameAssembly.dll+3CE46A: CC              - int 3 
GameAssembly.dll+3CE46B: CC              - int 3 
GameAssembly.dll+3CE46C: CC              - int 3 
GameAssembly.dll+3CE46D: CC              - int 3 
GameAssembly.dll+3CE46E: CC              - int 3 
GameAssembly.dll+3CE46F: CC              - int 3 
PuzzlePlayer.GetEarnedSouls: 55              - push ebp
GameAssembly.dll+3CE471: 8B EC           - mov ebp,esp
GameAssembly.dll+3CE473: 8B 4D 08        - mov ecx,[ebp+08]
// ---------- INJECTING HERE ----------
GameAssembly.dll+3CE476: 8B 51 48        - mov edx,[ecx+48]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+3CE479: 8B 41 58        - mov eax,[ecx+58]
GameAssembly.dll+3CE47C: 3B D0           - cmp edx,eax
GameAssembly.dll+3CE47E: 7E 05           - jle GameAssembly.dll+3CE485
GameAssembly.dll+3CE480: 89 41 48        - mov [ecx+48],eax
GameAssembly.dll+3CE483: 8B D0           - mov edx,eax
GameAssembly.dll+3CE485: 8B 49 4C        - mov ecx,[ecx+4C]
GameAssembly.dll+3CE488: B8 1F 85 EB 51  - mov eax,51EB851F
GameAssembly.dll+3CE48D: 83 C1 64        - add ecx,64
GameAssembly.dll+3CE490: 0F AF CA        - imul ecx,edx
GameAssembly.dll+3CE493: F7 E9           - imul ecx
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Gems of War [STEAM]

Posted: Wed Apr 26, 2023 10:59 pm
by AlanPMZ
Could we please get an update? I think it updated today

Thanks :)

Re: Gems of War [STEAM]

Posted: Tue May 16, 2023 9:36 am
by poeffschen
That would be awesome!

Re: Gems of War [STEAM]

Posted: Wed Jun 07, 2023 6:36 am
by sorairofox
Anyone with the new table for version 6.9?

Re: Gems of War [STEAM]

Posted: Sat Jun 10, 2023 5:57 am
by northfrost
Could you post the version 6.9 table? i cant find the link

Re: Gems of War [STEAM]

Posted: Tue Jul 04, 2023 1:28 pm
by sandrosergio
versao 6.9 ????

Re: Gems of War [STEAM]

Posted: Fri Aug 11, 2023 7:44 pm
by actual_skeleton
The OP says its updated for 7.0 but I guess I'm not smart enough to find the link?

EDIT: Well since I couldn't find the link I decided to try to make my own, so far I have unlimited mana working. It applies to both you and the enemy, so use troops with extra turns. Skeleton works pretty good, just spam its ability and you will win without the enemy team getting a turn.

Re: Gems of War [STEAM]

Posted: Sun Sep 03, 2023 4:43 pm
by balenaucigasa
actual_skeleton wrote:
Fri Aug 11, 2023 7:44 pm
The OP says its updated for 7.0 but I guess I'm not smart enough to find the link?
download/file.php?id=52912

Re: Gems of War [STEAM]

Posted: Tue Sep 26, 2023 5:26 am
by Enarkz
Doesnt work for me :/

Re: Gems of War [STEAM]

Posted: Wed Sep 27, 2023 4:04 am
by Enarkz
Any update ? the part of the script to add keys doesnt work anymore

Re: Gems of War [STEAM]

Posted: Thu Sep 28, 2023 8:56 pm
by Enarkz
update plssss

Re: Gems of War [STEAM]

Posted: Mon Oct 09, 2023 11:17 pm
by Enarkz
Pls anyone who update it send paypal via mp so i can give you 10 bucks

Re: Gems of War [STEAM]

Posted: Tue Oct 17, 2023 3:24 pm
by aquila59
Hi, can anyone update the table to 7.1 please ?