<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>105665</ID>
      <Description>"Actiavate Mono First"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//Activate Mono First
[ENABLE]

[DISABLE]
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>105650</ID>
          <Description>"Unlimited Battle / Chest Items"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]


aobscanregion(aobItemsAllowed,GameManager:ChangeItemsAllowedToTake,GameManager:ChangeItemsAllowedToTake+200,48 63 87 38 04 00 00 03 C6 89 87 38 04 00 00 48 63 87 38 04 00 00 85 C0)

alloc(newmem,1024,aobItemsAllowed)
label(return)

newmem:
  mov eax,000003E7      // 999
  mov [rdi+00000438],eax
  jmp return

aobItemsAllowed:
  jmp newmem
  nop 11
return:

registersymbol(aobItemsAllowed)

[DISABLE]

aobItemsAllowed:
  db 48 63 87 38 04 00 00 03 C6 89 87 38 04 00 00

unregistersymbol(aobItemsAllowed)
dealloc(newmem)

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>105646</ID>
          <Description>"99 spaces on level up (Level Up first)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscan(INJECT,D3 49 63 86 CC 00 00 00 41 89 86 BC 00 00 00) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
  mov [r14+000000BC],#99
  jmp return

INJECT+08:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT+08:
  db 41 89 86 BC 00 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4b2

LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+476: 49 BB A0 72 DC 2B 36 01 00 00  - mov r11,UnityEngine.GameObject:SetActive
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+480: 41 FF D3                       - call r11
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+483: 49 8B CE                       - mov rcx,r14
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+486: 49 BB A0 D4 4B 04 37 01 00 00  - mov r11,LevelUpManager:SetupSpaces
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+490: 41 FF D3                       - call r11
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+493: 49 BA C0 08 FA 1B 37 01 00 00  - mov r10,000001371BFA08C0
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+49d: 90                             - nop 
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+49e: 49 BB B0 5F AA 01 37 01 00 00  - mov r11,UnityEngine.Object:FindObjectsOfType
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4a8: 41 FF D3                       - call r11
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4ab: 49 63 86 CC 00 00 00           - movsxd  rax,dword ptr [r14+000000CC]
// ---------- INJECTING HERE ----------
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4b2: 41 89 86 BC 00 00 00           - mov [r14+000000BC],eax
// ---------- DONE INJECTING  ----------
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4b9: 49 8B 4E 40                    - mov rcx,[r14+40]
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4bd: 83 39 00                       - cmp dword ptr [rcx],00
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4c0: 49 BA 28 01 16 DF 36 01 00 00  - mov r10,00000136DF160128
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4ca: 48 8D 6D 00                    - lea rbp,[rbp+00]
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4ce: 49 BB F0 6A 9E 00 37 01 00 00  - mov r11,UnityEngine.Component:GetComponentsInChildren
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4d8: 41 FF D3                       - call r11
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4db: 48 8B F0                       - mov rsi,rax
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4de: 33 FF                          - xor edi,edi
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4e0: E9 38 00 00 00                 - jmp LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+51d
LevelUpManager+&lt;LevelUp&gt;d__39:MoveNext+4e5: 66 66 90                       - nop 3
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>105644</ID>
          <Description>"Unlimited Memory Game Guesses (Make guess First)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Backpack Hero.exe
  Version: 
  Date   : 2026-01-06
  Author : Jordan

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,08 00 00 48 63 47 50 FF C8 89 47 50 48 8B 47 30) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
  mov [rdi+50],#6
  mov rax,[rdi+30]
  jmp return

INJECT+09:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT+09:
  db 89 47 50 48 8B 47 30

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Match2CardMaster:Flip+1ce

Match2CardMaster:Flip+19e: 49 BB 50 31 09 9F 35 01 00 00  - mov r11,System.Object:wbarrier_conc
Match2CardMaster:Flip+1a8: 41 FF D3                       - call r11
Match2CardMaster:Flip+1ab: 48 8B CE                       - mov rcx,rsi
Match2CardMaster:Flip+1ae: 83 3E 00                       - cmp dword ptr [rsi],00
Match2CardMaster:Flip+1b1: 48 8D 64 24 00                 - lea rsp,[rsp+00]
Match2CardMaster:Flip+1b6: 49 BB F0 82 91 05 37 01 00 00  - mov r11,Match2Card:FlipMe
Match2CardMaster:Flip+1c0: 41 FF D3                       - call r11
Match2CardMaster:Flip+1c3: E9 63 08 00 00                 - jmp Match2CardMaster:Flip+a2b
Match2CardMaster:Flip+1c8: 48 63 47 50                    - movsxd  rax,dword ptr [rdi+50]
Match2CardMaster:Flip+1cc: FF C8                          - dec eax
// ---------- INJECTING HERE ----------
Match2CardMaster:Flip+1ce: 89 47 50                       - mov [rdi+50],eax
// ---------- DONE INJECTING  ----------
Match2CardMaster:Flip+1d1: 48 8B 47 30                    - mov rax,[rdi+30]
Match2CardMaster:Flip+1d5: 48 89 85 D0 FE FF FF           - mov [rbp-00000130],rax
Match2CardMaster:Flip+1dc: 48 B8 78 B8 A1 BD 36 01 00 00  - mov rax,00000136BDA1B878
Match2CardMaster:Flip+1e6: 48 8B 00                       - mov rax,[rax]
Match2CardMaster:Flip+1e9: 48 8B C8                       - mov rcx,rax
Match2CardMaster:Flip+1ec: 48 BA 40 BB DC 00 37 01 00 00  - mov rdx,0000013700DCBB40
Match2CardMaster:Flip+1f6: 83 38 00                       - cmp dword ptr [rax],00
Match2CardMaster:Flip+1f9: 48 8D 64 24 00                 - lea rsp,[rsp+00]
Match2CardMaster:Flip+1fe: 49 BB 20 68 AA 01 37 01 00 00  - mov r11,LangaugeManager:GetTextByKey
Match2CardMaster:Flip+208: 41 FF D3                       - call r11
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>105657</ID>
          <Description>"Unlimited Forges (forge item first)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanregion(INJECT,Item2:ChangeStatusEffectValue,Item2:ChangeStatusEffectValue+200,41 89 45 2C 49 63 45 2C)

alloc(newmem,$1000,INJECT)
label(return)

newmem:
  // Force value written into [r13+2C]
  mov dword ptr [r13+2C],#5
  movsxd rax,dword ptr [r13+2C]
  jmp return

INJECT:
  jmp newmem
  nop 3
return:

registersymbol(INJECT)

[DISABLE]

INJECT:
  db 41 89 45 2C 49 63 45 2C

unregistersymbol(INJECT)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>105660</ID>
          <Description>"Set to 100 gold on change (gain gold first)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]


aobscanregion(SETGOLDRET,GameManager:ChangeGold,GameManager:ChangeGold+1200,48 8B 5D C8 48 8B 75 D0 48 8B 7D D8 4C 8B 65 E0)

alloc(newmem,$1000,SETGOLDRET)
label(return)

newmem:
  mov dword ptr [rdi+000003FC],64
  mov rbx,[rbp-38]
  mov rsi,[rbp-30]
  mov rdi,[rbp-28]
  mov r12,[rbp-20]
  jmp return

SETGOLDRET:
  jmp newmem
  nop 7
return:

registersymbol(SETGOLDRET)

[DISABLE]

SETGOLDRET:
  db 48 8B 5D C8 48 8B 75 D0 48 8B 7D D8 4C 8B 65 E0

unregistersymbol(SETGOLDRET)
dealloc(newmem)

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>105663</ID>
          <Description>"999 Exp on gain (gain exp first)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscanregion(PlayerAddExpInject,Player:AddExperience,Player:AddExperience+400,89 87 A0 00 00 00 48 63 87 A8 00 00 00)

alloc(newmem,$1000,PlayerAddExpInject)
label(return)

newmem:
  add eax,#999
  mov [rdi+000000A0],eax
  jmp return

PlayerAddExpInject:
  jmp newmem
  nop 8
return:

registersymbol(PlayerAddExpInject)

[DISABLE]

PlayerAddExpInject:
  db 89 87 A0 00 00 00 48 63 87 A8 00 00 00

unregistersymbol(PlayerAddExpInject)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Player:AddExperience+e0

Player:AddExperience+a9: 48 8B 00                       - mov rax,[rax]
Player:AddExperience+ac: 48 8B C8                       - mov rcx,rax
Player:AddExperience+af: 48 BA 40 A4 CB 68 38 02 00 00  - mov rdx,0000023868CBA440
Player:AddExperience+b9: 4C 63 85 40 FF FF FF           - movsxd  r8,dword ptr [rbp-000000C0]
Player:AddExperience+c0: 83 38 00                       - cmp dword ptr [rax],00
Player:AddExperience+c3: 66 66 90                       - nop 3
Player:AddExperience+c6: 49 BB A0 DB 64 6D 38 02 00 00  - mov r11,PlayerStatTracking:AddStat
Player:AddExperience+d0: 41 FF D3                       - call r11
Player:AddExperience+d3: 48 63 87 A0 00 00 00           - movsxd  rax,dword ptr [rdi+000000A0]
Player:AddExperience+da: 03 85 40 FF FF FF              - add eax,[rbp-000000C0]
// ---------- INJECTING HERE ----------
Player:AddExperience+e0: 89 87 A0 00 00 00              - mov [rdi+000000A0],eax
// ---------- DONE INJECTING  ----------
Player:AddExperience+e6: 48 63 87 A8 00 00 00           - movsxd  rax,dword ptr [rdi+000000A8]
Player:AddExperience+ed: 48 8B 4F 40                    - mov rcx,[rdi+40]
Player:AddExperience+f1: 48 8B 89 90 00 00 00           - mov rcx,[rcx+00000090]
Player:AddExperience+f8: 48 8B D1                       - mov rdx,rcx
Player:AddExperience+fb: 83 3A 00                       - cmp dword ptr [rdx],00
Player:AddExperience+fe: 48 63 49 18                    - movsxd  rcx,dword ptr [rcx+18]
Player:AddExperience+102: FF C9                          - dec ecx
Player:AddExperience+104: 3B C1                          - cmp eax,ecx
Player:AddExperience+106: 0F 8D EA 01 00 00              - jnl Player:AddExperience+2f6
Player:AddExperience+10c: 48 8B 47 58                    - mov rax,[rdi+58]
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>xSpawnRelic</Name>
      <Address>161FFBB0010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>xRarity</Name>
      <Address>161FFBB0000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
</CheatTable>
