Thanks a lot for the table, a lot of useful scripts.
Please find below a script to find the pointer to the value of "Earned Mastery Points" :
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>90964</ID>
<Description>"Get Earned Mastery Points"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ACValhalla.exe
Version:
Date : 2021-01-21
Author : Acecel
This script does blah blah blah
}
[ENABLE]
aobscanmodule(aob_mastery_points_earned,ACValhalla.exe,8B 9A 2C 01 00 00) // should be unique
alloc(newmem,$1000,aob_mastery_points_earned)
registersymbol(EarnedMastery)
label(code)
label(return)
label(EarnedMastery)
newmem:
mov [EarnedMastery],rdx
code:
mov ebx,[rdx+0000012C]
jmp return
EarnedMastery:
dq 0
aob_mastery_points_earned:
jmp newmem
nop
return:
registersymbol(aob_mastery_points_earned)
[DISABLE]
aob_mastery_points_earned:
db 8B 9A 2C 01 00 00
unregistersymbol(aob_mastery_points_earned)
unregistersymbol(EarnedMastery)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+246E945
ACValhalla.exe+246E91F: 0F 46 F1 - cmovbe esi,ecx
ACValhalla.exe+246E922: 41 89 75 08 - mov [r13+08],esi
ACValhalla.exe+246E926: 89 B2 28 01 00 00 - mov [rdx+00000128],esi
ACValhalla.exe+246E92C: 41 8B 55 08 - mov edx,[r13+08]
ACValhalla.exe+246E930: 8B C2 - mov eax,edx
ACValhalla.exe+246E932: 41 2B 45 0C - sub eax,[r13+0C]
ACValhalla.exe+246E936: 41 3B 55 0C - cmp edx,[r13+0C]
ACValhalla.exe+246E93A: 44 0F 43 C0 - cmovae r8d,eax
ACValhalla.exe+246E93E: B8 01 00 00 00 - mov eax,00000001
ACValhalla.exe+246E943: EB 32 - jmp ACValhalla.exe+246E977
// ---------- INJECTING HERE ----------
ACValhalla.exe+246E945: 8B 9A 2C 01 00 00 - mov ebx,[rdx+0000012C]
// ---------- DONE INJECTING ----------
ACValhalla.exe+246E94B: 03 CB - add ecx,ebx
ACValhalla.exe+246E94D: 3B CE - cmp ecx,esi
ACValhalla.exe+246E94F: 0F 46 F1 - cmovbe esi,ecx
ACValhalla.exe+246E952: 41 89 75 10 - mov [r13+10],esi
ACValhalla.exe+246E956: 89 B2 2C 01 00 00 - mov [rdx+0000012C],esi
ACValhalla.exe+246E95C: 41 8B 55 10 - mov edx,[r13+10]
ACValhalla.exe+246E960: 8B C2 - mov eax,edx
ACValhalla.exe+246E962: 41 2B 45 14 - sub eax,[r13+14]
ACValhalla.exe+246E966: 41 3B 55 14 - cmp edx,[r13+14]
ACValhalla.exe+246E96A: 44 0F 43 C0 - cmovae r8d,eax
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>90965</ID>
<Description>"Earned Mastery Points"</Description>
<LastState Value="301" RealAddress="1BEA16C3B4C"/>
<ShowAsSigned>0</ShowAsSigned>
<Color>800080</Color>
<VariableType>4 Bytes</VariableType>
<Address>EarnedMastery</Address>
<Offsets>
<Offset>12C</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
You need to get a mastery point for the value to be updated, but if you change it the new value will be kept definitely by the game unlike the script in the table (which is only temporarily).
And about the original script you can also find the value "Mastery Point Used" just after which may be interesting to view/edit, like this :
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>90911</ID>
<Description>"Get Mastery Points (Earned & Used)"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{
Game : ACValhalla.exe
Version :
Date : 2021-01-04
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(getMastery,$process,8B 41 10 8B 51 14 39)
registersymbol(getMastery)
registersymbol(baseMastery)
alloc(newgetMastery,100,getMastery)
label(codegetMastery)
label(returngetMastery)
label(baseMastery)
newgetMastery:
mov [baseMastery],rcx
codegetMastery:
mov eax,[rcx+10]
mov edx,[rcx+14]
jmp returngetMastery
baseMastery:
dq 0
getMastery:
jmp newgetMastery
nop
returngetMastery:
[DISABLE]
getMastery:
db 8B 41 10 8B 51 14
unregistersymbol(getMastery)
unregistersymbol(baseMastery)
dealloc(newgetMastery)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe.link+18D37910
ACValhalla.exe.link+18D378BB: 48 C7 C0 00 00 01 00 - mov rax,00010000
ACValhalla.exe.link+18D378C2: 48 F7 E3 - mul rbx
ACValhalla.exe.link+18D378C5: 29 D2 - sub edx,edx
ACValhalla.exe.link+18D378C7: 53 - push rbx
ACValhalla.exe.link+18D378C8: 81 C2 DF D4 9E 44 - add edx,449ED4DF
ACValhalla.exe.link+18D378CE: BE A2 87 1B E2 - mov esi,E21B87A2
ACValhalla.exe.link+18D378D3: 21 F2 - and edx,esi
ACValhalla.exe.link+18D378D5: C1 FA 11 - sar edx,11
ACValhalla.exe.link+18D378D8: 52 - push rdx
ACValhalla.exe.link+18D378D9: 48 BA 1C 75 96 FD F6 7F 00 00 - mov rdx,ACValhalla.exe.link+E2EF51C
ACValhalla.exe.link+18D378E3: 48 87 14 24 - xchg [rsp],rdx
ACValhalla.exe.link+18D378E7: 7A 02 - jp ACValhalla.exe.link+18D378EB
ACValhalla.exe.link+18D378E9: C3 - ret
ACValhalla.exe.link+18D378EA: 31 BE D7 C1 3D 6C - xor [rsi+6C3DC1D7],edi
ACValhalla.exe.link+18D378F0: BA E9 6A 0E 70 - mov edx,700E6AE9
ACValhalla.exe.link+18D378F5: 0F AC F2 08 - shrd edx,esi,08
ACValhalla.exe.link+18D378F9: C1 E6 0D - shl esi,0D
ACValhalla.exe.link+18D378FC: 48 8D 64 24 08 - lea rsp,[rsp+08]
ACValhalla.exe.link+18D37901: 0F 84 89 CF B1 F1 - je ACValhalla.exe.link+A854890
ACValhalla.exe.link+18D37907: 66 0F 1F 84 00 00 00 00 00 - nop word ptr [rax+rax+00000000]
// ---------- INJECTING HERE ----------
ACValhalla.exe.link+18D37910: 8B 41 10 - mov eax,[rcx+10]
// ---------- DONE INJECTING ----------
ACValhalla.exe.link+18D37913: 8B 51 14 - mov edx,[rcx+14]
ACValhalla.exe.link+18D37916: 39 D0 - cmp eax,edx
ACValhalla.exe.link+18D37918: 73 03 - jae ACValhalla.exe.link+18D3791D
ACValhalla.exe.link+18D3791A: 31 C0 - xor eax,eax
ACValhalla.exe.link+18D3791C: C3 - ret
ACValhalla.exe.link+18D3791D: 29 D0 - sub eax,edx
ACValhalla.exe.link+18D3791F: C3 - ret
ACValhalla.exe.link+18D37920: 50 - push rax
ACValhalla.exe.link+18D37921: 45 29 D2 - sub r10d,r10d
ACValhalla.exe.link+18D37924: 41 81 F2 9A 76 16 11 - xor r10d,1116769A
ACValhalla.exe.link+18D3792B: 44 01 D0 - add eax,r10d
ACValhalla.exe.link+18D3792E: 44 09 14 24 - or [rsp],r10d
ACValhalla.exe.link+18D37932: 45 09 D3 - or r11d,r10d
ACValhalla.exe.link+18D37935: 2B 04 24 - sub eax,[rsp]
ACValhalla.exe.link+18D37938: 03 04 24 - add eax,[rsp]
ACValhalla.exe.link+18D3793B: 4C 8D 04 24 - lea r8,[rsp]
ACValhalla.exe.link+18D3793F: 49 81 C0 1E 9A 2D A0 - add r8,FFFFFFFFA02D9A1E
ACValhalla.exe.link+18D37946: 45 29 98 E2 65 D2 5F - sub [r8+5FD265E2],r11d
ACValhalla.exe.link+18D3794D: 2B 04 24 - sub eax,[rsp]
ACValhalla.exe.link+18D37950: 4C 89 0C 24 - mov [rsp],r9
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>90912</ID>
<Description>"Earned Mastery Points"</Description>
<ShowAsSigned>0</ShowAsSigned>
<Color>800080</Color>
<VariableType>4 Bytes</VariableType>
<Address>baseMastery</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>90947</ID>
<Description>"Used Mastery Points"</Description>
<ShowAsSigned>0</ShowAsSigned>
<Color>800080</Color>
<VariableType>4 Bytes</VariableType>
<Address>baseMastery</Address>
<Offsets>
<Offset>10+4</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>