I had no idea you could put ridiculous values in overlimit.
Here's a very quick and basic script for that, the max legit upgrade value is 15, it's changing to 10000 when you upgrade it, change the value inside the script to the desire value if you need.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>217939</ID>
<Description>"10000 Overlimit"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : MEGATON MUSASHI W.exe
Version:
Date : 2024-05-15
Author : jonaaa20
This script does blah blah blah
}
[ENABLE]
aobscanmodule(aob_overlimit,GameAssembly.dll,89 43 78 44 88 7B 70) // should be unique
alloc(newmem,$1000,aob_overlimit)
label(code)
label(return)
newmem:
code:
mov [rbx+78],#10000
mov [rbx+70],r15b
jmp return
aob_overlimit:
jmp newmem
nop 2
return:
registersymbol(aob_overlimit)
[DISABLE]
aob_overlimit:
db 89 43 78 44 88 7B 70
unregistersymbol(aob_overlimit)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+19203CB
GameAssembly.dll+19203AD: 84 C0 - test al,al
GameAssembly.dll+19203AF: 75 11 - jne GameAssembly.dll+19203C2
GameAssembly.dll+19203B1: 45 33 C9 - xor r9d,r9d
GameAssembly.dll+19203B4: 45 8D 41 01 - lea r8d,[r9+01]
GameAssembly.dll+19203B8: E8 93 1D 00 00 - call GameAssembly.dll+1922150
GameAssembly.dll+19203BD: 89 47 14 - mov [rdi+14],eax
GameAssembly.dll+19203C0: EB 48 - jmp GameAssembly.dll+192040A
GameAssembly.dll+19203C2: 8B 73 78 - mov esi,[rbx+78]
GameAssembly.dll+19203C5: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+19203C8: 8D 46 01 - lea eax,[rsi+01]
// ---------- INJECTING HERE ----------
GameAssembly.dll+19203CB: 89 43 78 - mov [rbx+78],eax
// ---------- DONE INJECTING ----------
GameAssembly.dll+19203CE: 44 88 7B 70 - mov [rbx+70],r15b
GameAssembly.dll+19203D2: E8 89 06 00 00 - call GameAssembly.dll+1920A60
GameAssembly.dll+19203D7: 48 8B 0D 6A EB 76 04 - mov rcx,[GameAssembly.dll+608EF48]
GameAssembly.dll+19203DE: 8B 6B 78 - mov ebp,[rbx+78]
GameAssembly.dll+19203E1: 44 8B 73 14 - mov r14d,[rbx+14]
GameAssembly.dll+19203E5: 8B 5B 10 - mov ebx,[rbx+10]
GameAssembly.dll+19203E8: 44 39 B9 E0 00 00 00 - cmp [rcx+000000E0],r15d
GameAssembly.dll+19203EF: 75 05 - jne GameAssembly.dll+19203F6
GameAssembly.dll+19203F1: E8 7A 87 BA FE - call GameAssembly.il2cpp_field_static_set_value+4320
GameAssembly.dll+19203F6: 44 8B CB - mov r9d,ebx
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Also when you try to upgrade the level, it will instantly upgrade to 60 (you can adjust to any value you want, 100, 200, 500, whatever you want):
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"Instant Level 60 When Upgrading"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : MEGATON MUSASHI W.exe
Version:
Date : 2024-05-15
Author : jonaaa20
This script does blah blah blah
}
[ENABLE]
aobscanmodule(aob_upgrade,GameAssembly.dll,41 89 47 2C 4C 89 BE 00 05 00 00) // should be unique
alloc(newmem,$1000,aob_upgrade)
label(code)
label(return)
newmem:
code:
mov [r15+2C],#60
mov [rsi+00000500],r15
jmp return
aob_upgrade:
jmp newmem
nop 6
return:
registersymbol(aob_upgrade)
[DISABLE]
aob_upgrade:
db 41 89 47 2C 4C 89 BE 00 05 00 00
unregistersymbol(aob_upgrade)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+DE93C8
GameAssembly.dll+DE938F: 48 8B 6C 24 58 - mov rbp,[rsp+58]
GameAssembly.dll+DE9394: 8B 9C 24 A8 00 00 00 - mov ebx,[rsp+000000A8]
GameAssembly.dll+DE939B: 48 8B 08 - mov rcx,[rax]
GameAssembly.dll+DE939E: 48 85 C9 - test rcx,rcx
GameAssembly.dll+DE93A1: 0F 84 B7 04 00 00 - je GameAssembly.dll+DE985E
GameAssembly.dll+DE93A7: E9 F4 FE FF FF - jmp GameAssembly.dll+DE92A0
GameAssembly.dll+DE93AC: 48 8B B4 24 A0 00 00 00 - mov rsi,[rsp+000000A0]
GameAssembly.dll+DE93B4: 4C 8D 35 05 07 57 05 - lea r14,[GameAssembly.dll+6359AC0]
GameAssembly.dll+DE93BB: 8B 84 24 B8 00 00 00 - mov eax,[rsp+000000B8]
GameAssembly.dll+DE93C2: 8B 0D 88 AA 54 05 - mov ecx,[GameAssembly.dll+6333E50]
// ---------- INJECTING HERE ----------
GameAssembly.dll+DE93C8: 41 89 47 2C - mov [r15+2C],eax
// ---------- DONE INJECTING ----------
GameAssembly.dll+DE93CC: 4C 89 BE 00 05 00 00 - mov [rsi+00000500],r15
GameAssembly.dll+DE93D3: 85 C9 - test ecx,ecx
GameAssembly.dll+DE93D5: 74 48 - je GameAssembly.dll+DE941F
GameAssembly.dll+DE93D7: 4C 8D 86 00 05 00 00 - lea r8,[rsi+00000500]
GameAssembly.dll+DE93DE: 49 C1 E8 0C - shr r8,0C
GameAssembly.dll+DE93E2: 41 81 E0 FF FF 1F 00 - and r8d,001FFFFF
GameAssembly.dll+DE93E9: 41 8B C0 - mov eax,r8d
GameAssembly.dll+DE93EC: 48 C1 E8 06 - shr rax,06
GameAssembly.dll+DE93F0: 41 83 E0 3F - and r8d,3F
GameAssembly.dll+DE93F4: 49 8D 14 C6 - lea rdx,[r14+rax*8]
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>