<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="31">
  <CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"子弹"</Description>
      <LastState Activated="1"/>
      <Color>FF0000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Zelter.exe
  Version: 
  Date   : 2020-10-24
  Author : Administrator

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,GameAssembly.dll,FF 48 30 48 8B 4B 50) // should be unique
alloc(newmem,$1000,"GameAssembly.dll"+2278AE)

label(code)
label(return)

newmem:
  mov [rax+30],3e7
  mov rcx,[rbx+50]
  jmp return

code:
  dec [rax+30]
  mov rcx,[rbx+50]
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db FF 48 30 48 8B 4B 50

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "GameAssembly.dll"+2278AE

"GameAssembly.dll"+227880: E8 5B 82 53 00        -  call GameAssembly.dll+75FAE0
"GameAssembly.dll"+227885: 48 85 ED              -  test rbp,rbp
"GameAssembly.dll"+227888: 0F 84 1C 02 00 00     -  je GameAssembly.dll+227AAA
"GameAssembly.dll"+22788E: 48 8B 47 10           -  mov rax,[rdi+10]
"GameAssembly.dll"+227892: 48 8B CD              -  mov rcx,rbp
"GameAssembly.dll"+227895: 4C 8B 05 7C C4 6D 01  -  mov r8,[GameAssembly.dll+1903D18]
"GameAssembly.dll"+22789C: 8B 54 B0 20           -  mov edx,[rax+rsi*4+20]
"GameAssembly.dll"+2278A0: E8 8B AF CD 00        -  call GameAssembly.dll+F02830
"GameAssembly.dll"+2278A5: 48 85 C0              -  test rax,rax
"GameAssembly.dll"+2278A8: 0F 84 FC 01 00 00     -  je GameAssembly.dll+227AAA
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+2278AE: FF 48 30              -  dec [rax+30]
"GameAssembly.dll"+2278B1: 48 8B 4B 50           -  mov rcx,[rbx+50]
// ---------- DONE INJECTING  ----------
"GameAssembly.dll"+2278B5: 48 85 C9              -  test rcx,rcx
"GameAssembly.dll"+2278B8: 0F 84 EC 01 00 00     -  je GameAssembly.dll+227AAA
"GameAssembly.dll"+2278BE: 33 D2                 -  xor edx,edx
"GameAssembly.dll"+2278C0: E8 9B 12 09 00        -  call GameAssembly.dll+2B8B60
"GameAssembly.dll"+2278C5: 48 8B 05 64 7F 6E 01  -  mov rax,[GameAssembly.dll+190F830]
"GameAssembly.dll"+2278CC: F6 80 2F 01 00 00 02  -  test byte ptr [rax+0000012F],02
"GameAssembly.dll"+2278D3: 74 18                 -  je GameAssembly.dll+2278ED
"GameAssembly.dll"+2278D5: 83 B8 E0 00 00 00 00  -  cmp dword ptr [rax+000000E0],00
"GameAssembly.dll"+2278DC: 75 0F                 -  jne GameAssembly.dll+2278ED
"GameAssembly.dll"+2278DE: 48 8B C8              -  mov rcx,rax
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>120</Key>
          </Keys>
          <Description>有声音代表开启</Description>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"回血"</Description>
      <VariableType>Float</VariableType>
      <Address>"GameAssembly.dll"+0190BA08</Address>
      <Offsets>
        <Offset>20</Offset>
        <Offset>58</Offset>
        <Offset>370</Offset>
        <Offset>B8</Offset>
        <Offset>50</Offset>
      </Offsets>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>121</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
    <CheatEntry>
      <ID>4</ID>
      <Description>"捡东西物品变多"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Zelter.exe
  Version: 
  Date   : 2020-10-25
  Author : Administrator

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT,GameAssembly.dll,01 50 18 48 8B 41 18) // should be unique
alloc(newmem,$1000,"GameAssembly.dll"+3C88D5)

label(code)
label(return)

newmem:
  mov [rax+18],3e7
  mov rax,[rcx+18]
  jmp return
code:
  add [rax+18],edx
  mov rax,[rcx+18]
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 01 50 18 48 8B 41 18

unregistersymbol(INJECT)
dealloc(newmem)

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

"GameAssembly.dll"+3C88B0: 48 89 5C 24 08        -  mov [rsp+08],rbx
"GameAssembly.dll"+3C88B5: 48 89 74 24 10        -  mov [rsp+10],rsi
"GameAssembly.dll"+3C88BA: 57                    -  push rdi
"GameAssembly.dll"+3C88BB: 48 83 EC 20           -  sub rsp,20
"GameAssembly.dll"+3C88BF: 48 8B 41 18           -  mov rax,[rcx+18]
"GameAssembly.dll"+3C88C3: 33 FF                 -  xor edi,edi
"GameAssembly.dll"+3C88C5: 45 0F B6 C8           -  movzx r9d,r8l
"GameAssembly.dll"+3C88C9: 48 8B D9              -  mov rbx,rcx
"GameAssembly.dll"+3C88CC: 48 85 C0              -  test rax,rax
"GameAssembly.dll"+3C88CF: 0F 84 D8 00 00 00     -  je GameAssembly.dll+3C89AD
// ---------- INJECTING HERE ----------
"GameAssembly.dll"+3C88D5: 01 50 18              -  add [rax+18],edx
"GameAssembly.dll"+3C88D8: 48 8B 41 18           -  mov rax,[rcx+18]
// ---------- DONE INJECTING  ----------
"GameAssembly.dll"+3C88DC: 48 85 C0              -  test rax,rax
"GameAssembly.dll"+3C88DF: 0F 84 C8 00 00 00     -  je GameAssembly.dll+3C89AD
"GameAssembly.dll"+3C88E5: 8B 70 18              -  mov esi,[rax+18]
"GameAssembly.dll"+3C88E8: 8B 48 1C              -  mov ecx,[rax+1C]
"GameAssembly.dll"+3C88EB: 3B F1                 -  cmp esi,ecx
"GameAssembly.dll"+3C88ED: 0F 8F 8E 00 00 00     -  jg GameAssembly.dll+3C8981
"GameAssembly.dll"+3C88F3: 85 F6                 -  test esi,esi
"GameAssembly.dll"+3C88F5: 0F 8F 91 00 00 00     -  jg GameAssembly.dll+3C898C
"GameAssembly.dll"+3C88FB: 45 84 C0              -  test r8l,r8l
"GameAssembly.dll"+3C88FE: 0F 85 88 00 00 00     -  jne GameAssembly.dll+3C898C
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>122</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
