87532
"Inf Health"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-13
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(infHealth,ACValhalla.exe,0F B6 87 39 01 00 00 A8 01 0F 84 2C 1A 00 00 A8 02)
registersymbol(infHealth)
alloc(newinfHealth,100,infHealth)
label(codeinfHealth)
label(returninfHealth)
newinfHealth:
cmp [rdi+B8],1
jne codeinfHealth
xor eax,eax
inc eax
jmp returninfHealth
codeinfHealth:
movzx eax,byte ptr [rdi+00000139]
jmp returninfHealth
infHealth:
jmp newinfHealth
nop 2
returninfHealth:
[DISABLE]
infHealth:
db 0F B6 87 39 01 00 00
unregistersymbol(infHealth)
dealloc(newinfHealth)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+2128C57
ACValhalla.exe+212335F: CC - int 3
ACValhalla.exe+2123360: 40 55 - push rbp
ACValhalla.exe+2123362: 56 - push rsi
ACValhalla.exe+2123363: 41 56 - push r14
ACValhalla.exe+2123365: 48 8D AC 24 30 FD FF FF - lea rbp,[rsp-000002D0]
ACValhalla.exe+212336D: 48 81 EC D0 03 00 00 - sub rsp,000003D0
ACValhalla.exe+2123374: 48 8B 05 4D 0C 93 03 - mov rax,[ACValhalla.exe+5A53FC8]
ACValhalla.exe+212337B: 48 33 C4 - xor rax,rsp
ACValhalla.exe+212337E: 48 89 85 60 02 00 00 - mov [rbp+00000260],rax
ACValhalla.exe+2123385: 48 83 79 28 00 - cmp qword ptr [rcx+28],00
ACValhalla.exe+212338A: 4C 8B F2 - mov r14,rdx
ACValhalla.exe+212338D: 48 8B F1 - mov rsi,rcx
ACValhalla.exe+2123390: 0F 84 9A 19 00 00 - je ACValhalla.exe+2124D30
ACValhalla.exe+2123396: 48 8B 41 30 - mov rax,[rcx+30]
ACValhalla.exe+212339A: 48 89 BC 24 C8 03 00 00 - mov [rsp+000003C8],rdi
ACValhalla.exe+21233A2: 48 8B 78 08 - mov rdi,[rax+08]
ACValhalla.exe+21233A6: 48 C1 E7 20 - shl rdi,20
ACValhalla.exe+21233AA: 48 C1 FF 3F - sar rdi,3F
ACValhalla.exe+21233AE: 48 23 38 - and rdi,[rax]
ACValhalla.exe+21233B1: 0F 84 71 19 00 00 - je ACValhalla.exe+2124D28
// ---------- INJECTING HERE ----------
ACValhalla.exe+21233B7: 0F B6 87 39 01 00 00 - movzx eax,byte ptr [rdi+00000139]
// ---------- DONE INJECTING ----------
ACValhalla.exe+21233BE: A8 01 - test al,01
ACValhalla.exe+21233C0: 0F 84 62 19 00 00 - je ACValhalla.exe+2124D28
ACValhalla.exe+21233C6: A8 02 - test al,02
ACValhalla.exe+21233C8: 75 0D - jne ACValhalla.exe+21233D7
ACValhalla.exe+21233CA: E8 E1 22 31 FF - call ACValhalla.exe+14356B0
ACValhalla.exe+21233CF: 84 C0 - test al,al
ACValhalla.exe+21233D1: 0F 84 51 19 00 00 - je ACValhalla.exe+2124D28
ACValhalla.exe+21233D7: 48 8B 46 28 - mov rax,[rsi+28]
ACValhalla.exe+21233DB: 48 8B 40 68 - mov rax,[rax+68]
ACValhalla.exe+21233DF: 48 89 45 D0 - mov [rbp-30],rax
ACValhalla.exe+21233E3: 48 85 C0 - test rax,rax
ACValhalla.exe+21233E6: 0F 84 3C 19 00 00 - je ACValhalla.exe+2124D28
ACValhalla.exe+21233EC: 33 D2 - xor edx,edx
ACValhalla.exe+21233EE: 48 8B CF - mov rcx,rdi
ACValhalla.exe+21233F1: E8 4A C7 82 00 - call ACValhalla.exe+294FB40
ACValhalla.exe+21233F6: 84 C0 - test al,al
ACValhalla.exe+21233F8: 75 22 - jne ACValhalla.exe+212341C
ACValhalla.exe+21233FA: 48 8B 4E 28 - mov rcx,[rsi+28]
ACValhalla.exe+21233FE: 45 33 C0 - xor r8d,r8d
ACValhalla.exe+2123401: C6 86 63 02 00 00 01 - mov byte ptr [rsi+00000263],01
}
87604
"One Hit Kills (sets Enemy Health to 1)"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-15
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(example,ACValhalla.exe,83 B9 38 01 00 00 00 41)
registersymbol(example)
alloc(newexample,100,example)
label(codeexample)
label(returnexample)
newexample:
test edx,edx
js codeexample
xor edx,edx
inc edx
codeexample:
cmp dword ptr [rcx+00000138],00
jmp returnexample
example:
jmp newexample
nop 2
returnexample:
[DISABLE]
example:
db 83 B9 38 01 00 00 00
unregistersymbol(example)
dealloc(newexample)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+ABED9FF
ACValhalla.exe+ABED9A9: 4C 0B 04 24 - or r8,[rsp]
ACValhalla.exe+ABED9AD: 48 89 1C 24 - mov [rsp],rbx
ACValhalla.exe+ABED9B1: 48 F7 D3 - not rbx
ACValhalla.exe+ABED9B4: 48 21 1C 24 - and [rsp],rbx
ACValhalla.exe+ABED9B8: 5B - pop rbx
ACValhalla.exe+ABED9B9: 48 33 1C 24 - xor rbx,[rsp]
ACValhalla.exe+ABED9BD: 52 - push rdx
ACValhalla.exe+ABED9BE: 48 8D 54 24 08 - lea rdx,[rsp+08]
ACValhalla.exe+ABED9C3: 48 8D 92 05 0E 2A DF - lea rdx,[rdx-20D5F1FB]
ACValhalla.exe+ABED9CA: 4C 89 BA FB F1 D5 20 - mov [rdx+20D5F1FB],r15
ACValhalla.exe+ABED9D1: 4C 8D 3D 29 D7 A7 09 - lea r15,[ACValhalla.exe+1466B101]
ACValhalla.exe+ABED9D8: 48 8B 14 24 - mov rdx,[rsp]
ACValhalla.exe+ABED9DC: 48 8D 64 24 08 - lea rsp,[rsp+08]
ACValhalla.exe+ABED9E1: 4C 87 3C 24 - xchg [rsp],r15
ACValhalla.exe+ABED9E5: C3 - ret
ACValhalla.exe+ABED9E6: 66 2E 0F 1F 84 00 00 00 00 00 - nop word ptr cs:[rax+rax+00000000]
ACValhalla.exe+ABED9F0: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+ABED9F5: 48 89 74 24 10 - mov [rsp+10],rsi
ACValhalla.exe+ABED9FA: 57 - push rdi
ACValhalla.exe+ABED9FB: 48 83 EC 20 - sub rsp,20
// ---------- INJECTING HERE ----------
ACValhalla.exe+ABED9FF: 83 B9 38 01 00 00 00 - cmp dword ptr [rcx+00000138],00
// ---------- DONE INJECTING ----------
ACValhalla.exe+ABEDA06: 41 0F B6 F0 - movzx esi,r8l
ACValhalla.exe+ABEDA0A: 89 D7 - mov edi,edx
ACValhalla.exe+ABEDA0C: 48 89 CB - mov rbx,rcx
ACValhalla.exe+ABEDA0F: 7D 04 - jnl ACValhalla.exe+ABEDA15
ACValhalla.exe+ABEDA11: 85 D2 - test edx,edx
ACValhalla.exe+ABEDA13: 78 4C - js ACValhalla.exe+ABEDA61
ACValhalla.exe+ABEDA15: E8 46 92 60 F7 - call ACValhalla.exe+21F6C60
ACValhalla.exe+ABEDA1A: 85 FF - test edi,edi
ACValhalla.exe+ABEDA1C: 79 43 - jns ACValhalla.exe+ABEDA61
ACValhalla.exe+ABEDA1E: 40 84 F6 - test sil,sil
ACValhalla.exe+ABEDA21: 75 3E - jne ACValhalla.exe+ABEDA61
ACValhalla.exe+ABEDA23: F7 43 10 FF 7F 00 00 - test [rbx+10],00007FFF
ACValhalla.exe+ABEDA2A: 74 35 - je ACValhalla.exe+ABEDA61
ACValhalla.exe+ABEDA2C: C6 83 5D 01 00 00 01 - mov byte ptr [rbx+0000015D],01
ACValhalla.exe+ABEDA33: 45 31 C0 - xor r8d,r8d
ACValhalla.exe+ABEDA36: 8B 15 84 51 39 FB - mov edx,[ACValhalla.exe+5F82BC0]
ACValhalla.exe+ABEDA3C: 48 89 D9 - mov rcx,rbx
ACValhalla.exe+ABEDA3F: E8 3C 29 B7 F5 - call ACValhalla.exe+760380
ACValhalla.exe+ABEDA44: F7 83 8C 01 00 00 FF 7F 00 00 - test [rbx+0000018C],00007FFF
ACValhalla.exe+ABEDA4E: 76 11 - jna ACValhalla.exe+ABEDA61
}
28
"Inf Stamina"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-12
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(infStamina,ACValhalla.exe,48 89 7C 24 20 41 56 48 83 EC 60 4C 8B F2)
registersymbol(infStamina)
aobscanmodule(infStaminaDodge,ACValhalla.exe,FF FF C3 CC CC CC CC 40 53 48 83 EC 30)
registersymbol(infStaminaDodge)
aobscanmodule(infStaminaMax,ACValhalla.exe,F3 0F 10 47 0C F3 41)
registersymbol(infStaminaMax)
infStamina:
ret
infStaminaDodge+07:
ret
infStaminaMax+4:
db 10
[DISABLE]
infStamina:
db 48 89 7C 24 20
infStaminaDodge+07:
db 40 53 48 83 EC 30
infStaminaMax+4:
db 0C
unregistersymbol(infStamina)
unregistersymbol(infStaminaDodge)
unregistersymbol(infStaminaMax)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+2251B40
ACValhalla.exe+2251B1F: 48 8B CB - mov rcx,rbx
ACValhalla.exe+2251B22: E8 49 37 CC FF - call ACValhalla.exe+1F15270
ACValhalla.exe+2251B27: 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACValhalla.exe+2251B2C: 48 83 C4 20 - add rsp,20
ACValhalla.exe+2251B30: 5F - pop rdi
ACValhalla.exe+2251B31: C3 - ret
ACValhalla.exe+2251B32: CC - int 3
ACValhalla.exe+2251B33: CC - int 3
ACValhalla.exe+2251B34: CC - int 3
ACValhalla.exe+2251B35: CC - int 3
ACValhalla.exe+2251B36: CC - int 3
ACValhalla.exe+2251B37: CC - int 3
ACValhalla.exe+2251B38: CC - int 3
ACValhalla.exe+2251B39: CC - int 3
ACValhalla.exe+2251B3A: CC - int 3
ACValhalla.exe+2251B3B: CC - int 3
ACValhalla.exe+2251B3C: CC - int 3
ACValhalla.exe+2251B3D: CC - int 3
ACValhalla.exe+2251B3E: CC - int 3
ACValhalla.exe+2251B3F: CC - int 3
// ---------- INJECTING HERE ----------
ACValhalla.exe+2251B40: 48 89 5C 24 08 - mov [rsp+08],rbx
// ---------- DONE INJECTING ----------
ACValhalla.exe+2251B45: 57 - push rdi
ACValhalla.exe+2251B46: 48 83 EC 40 - sub rsp,40
ACValhalla.exe+2251B4A: 8B 42 10 - mov eax,[rdx+10]
ACValhalla.exe+2251B4D: 48 8B F9 - mov rdi,rcx
ACValhalla.exe+2251B50: 25 FF 7F 00 00 - and eax,00007FFF
ACValhalla.exe+2251B55: 83 F8 01 - cmp eax,01
ACValhalla.exe+2251B58: 72 06 - jb ACValhalla.exe+2251B60
ACValhalla.exe+2251B5A: 48 8B 42 08 - mov rax,[rdx+08]
ACValhalla.exe+2251B5E: EB 07 - jmp ACValhalla.exe+2251B67
ACValhalla.exe+2251B60: 48 8D 05 59 CC 94 02 - lea rax,[ACValhalla.exe+4B9E7C0]
ACValhalla.exe+2251B67: 48 8B 00 - mov rax,[rax]
ACValhalla.exe+2251B6A: 48 8B 58 08 - mov rbx,[rax+08]
ACValhalla.exe+2251B6E: 48 C1 E3 20 - shl rbx,20
ACValhalla.exe+2251B72: 48 C1 FB 3F - sar rbx,3F
ACValhalla.exe+2251B76: 48 23 18 - and rbx,[rax]
ACValhalla.exe+2251B79: 0F 84 E2 00 00 00 - je ACValhalla.exe+2251C61
ACValhalla.exe+2251B7F: 0F B6 83 39 01 00 00 - movzx eax,byte ptr [rbx+00000139]
ACValhalla.exe+2251B86: A8 01 - test al,01
ACValhalla.exe+2251B88: 0F 84 D3 00 00 00 - je ACValhalla.exe+2251C61
ACValhalla.exe+2251B8E: A8 02 - test al,02
}
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+246ECC0
ACValhalla.exe+246EC84: 4C 8B DA - mov r11,rdx
ACValhalla.exe+246EC87: 33 D2 - xor edx,edx
ACValhalla.exe+246EC89: 41 81 E1 FF 7F 00 00 - and r9d,00007FFF
ACValhalla.exe+246EC90: 76 29 - jna ACValhalla.exe+246ECBB
ACValhalla.exe+246EC92: 4C 8B 51 08 - mov r10,[rcx+08]
ACValhalla.exe+246EC96: 4D 8B 1B - mov r11,[r11]
ACValhalla.exe+246EC99: 0F 1F 80 00 00 00 00 - nop dword ptr [rax+00000000]
ACValhalla.exe+246ECA0: 8D 04 D5 00 00 00 00 - lea eax,[rdx*8+00000000]
ACValhalla.exe+246ECA7: 4E 39 1C 10 - cmp [rax+r10],r11
ACValhalla.exe+246ECAB: 74 09 - je ACValhalla.exe+246ECB6
ACValhalla.exe+246ECAD: FF C2 - inc edx
ACValhalla.exe+246ECAF: 41 3B D1 - cmp edx,r9d
ACValhalla.exe+246ECB2: 73 07 - jae ACValhalla.exe+246ECBB
ACValhalla.exe+246ECB4: EB EA - jmp ACValhalla.exe+246ECA0
ACValhalla.exe+246ECB6: E9 C5 F5 FF FF - jmp ACValhalla.exe+246E280
ACValhalla.exe+246ECBB: C3 - ret
ACValhalla.exe+246ECBC: CC - int 3
ACValhalla.exe+246ECBD: CC - int 3
ACValhalla.exe+246ECBE: CC - int 3
ACValhalla.exe+246ECBF: CC - int 3
// ---------- INJECTING HERE ----------
ACValhalla.exe+246ECC0: 40 53 - push rbx
// ---------- DONE INJECTING ----------
ACValhalla.exe+246ECC2: 48 83 EC 30 - sub rsp,30
ACValhalla.exe+246ECC6: 0F 29 74 24 20 - movaps [rsp+20],xmm6
ACValhalla.exe+246ECCB: 48 8B D9 - mov rbx,rcx
ACValhalla.exe+246ECCE: 0F 28 F1 - movaps xmm6,xmm1
ACValhalla.exe+246ECD1: E8 EA 10 04 FF - call ACValhalla.exe+14AFDC0
ACValhalla.exe+246ECD6: 48 8B 83 88 00 00 00 - mov rax,[rbx+00000088]
ACValhalla.exe+246ECDD: 48 8B 50 18 - mov rdx,[rax+18]
ACValhalla.exe+246ECE1: 48 8B 82 60 30 00 00 - mov rax,[rdx+00003060]
ACValhalla.exe+246ECE8: 48 8B 48 10 - mov rcx,[rax+10]
ACValhalla.exe+246ECEC: E8 AF FC 04 FF - call ACValhalla.exe+14BE9A0
ACValhalla.exe+246ECF1: 84 C0 - test al,al
ACValhalla.exe+246ECF3: 75 67 - jne ACValhalla.exe+246ED5C
ACValhalla.exe+246ECF5: 48 8B 0B - mov rcx,[rbx]
ACValhalla.exe+246ECF8: 0F 57 D2 - xorps xmm2,xmm2
ACValhalla.exe+246ECFB: 8B 43 08 - mov eax,[rbx+08]
ACValhalla.exe+246ECFE: 0F 57 C9 - xorps xmm1,xmm1
ACValhalla.exe+246ED01: 25 FF 7F 00 00 - and eax,00007FFF
ACValhalla.exe+246ED06: 8D 14 40 - lea edx,[rax+rax*2]
ACValhalla.exe+246ED09: C1 E2 02 - shl edx,02
ACValhalla.exe+246ED0C: 48 03 D1 - add rdx,rcx
}
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+23F8896
ACValhalla.exe+23F8847: EB 4D - jmp ACValhalla.exe+23F8896
ACValhalla.exe+23F8849: 49 8B CE - mov rcx,r14
ACValhalla.exe+23F884C: E8 4F 21 5B 00 - call ACValhalla.exe+29AA9A0
ACValhalla.exe+23F8851: EB 43 - jmp ACValhalla.exe+23F8896
ACValhalla.exe+23F8853: 0F 2F C1 - comiss xmm0,xmm1
ACValhalla.exe+23F8856: 72 07 - jb ACValhalla.exe+23F885F
ACValhalla.exe+23F8858: C6 87 81 00 00 00 00 - mov byte ptr [rdi+00000081],00
ACValhalla.exe+23F885F: 80 BF 82 00 00 00 00 - cmp byte ptr [rdi+00000082],00
ACValhalla.exe+23F8866: 74 2E - je ACValhalla.exe+23F8896
ACValhalla.exe+23F8868: 0F 2F 40 14 - comiss xmm0,[rax+14]
ACValhalla.exe+23F886C: 72 28 - jb ACValhalla.exe+23F8896
ACValhalla.exe+23F886E: C6 87 82 00 00 00 00 - mov byte ptr [rdi+00000082],00
ACValhalla.exe+23F8875: E8 66 62 9D 00 - call ACValhalla.exe+2DCEAE0
ACValhalla.exe+23F887A: 48 8B F0 - mov rsi,rax
ACValhalla.exe+23F887D: 48 85 C0 - test rax,rax
ACValhalla.exe+23F8880: 74 14 - je ACValhalla.exe+23F8896
ACValhalla.exe+23F8882: E8 D9 AB 1D FF - call ACValhalla.exe+15D3460
ACValhalla.exe+23F8887: 48 8D 96 30 01 00 00 - lea rdx,[rsi+00000130]
ACValhalla.exe+23F888E: 48 8B C8 - mov rcx,rax
ACValhalla.exe+23F8891: E8 1A 23 1F FF - call ACValhalla.exe+15EABB0
// ---------- INJECTING HERE ----------
ACValhalla.exe+23F8896: F3 0F 10 47 0C - movss xmm0,[rdi+0C]
// ---------- DONE INJECTING ----------
ACValhalla.exe+23F889B: F3 41 0F 5F C1 - maxss xmm0,xmm9
ACValhalla.exe+23F88A0: F3 0F 5D 47 10 - minss xmm0,[rdi+10]
ACValhalla.exe+23F88A5: 41 0F 2F C1 - comiss xmm0,xmm9
ACValhalla.exe+23F88A9: F3 0F 11 47 0C - movss [rdi+0C],xmm0
ACValhalla.exe+23F88AE: 77 09 - ja ACValhalla.exe+23F88B9
ACValhalla.exe+23F88B0: C6 87 83 00 00 00 01 - mov byte ptr [rdi+00000083],01
ACValhalla.exe+23F88B7: EB 0D - jmp ACValhalla.exe+23F88C6
ACValhalla.exe+23F88B9: 80 BF 83 00 00 00 00 - cmp byte ptr [rdi+00000083],00
ACValhalla.exe+23F88C0: 0F 84 CA 00 00 00 - je ACValhalla.exe+23F8990
ACValhalla.exe+23F88C6: 80 7F 14 00 - cmp byte ptr [rdi+14],00
ACValhalla.exe+23F88CA: 0F 85 8E 00 00 00 - jne ACValhalla.exe+23F895E
ACValhalla.exe+23F88D0: 83 7B 20 00 - cmp dword ptr [rbx+20],00
ACValhalla.exe+23F88D4: 0F 85 84 00 00 00 - jne ACValhalla.exe+23F895E
ACValhalla.exe+23F88DA: 41 0F 2F C1 - comiss xmm0,xmm9
ACValhalla.exe+23F88DE: 77 7A - ja ACValhalla.exe+23F895A
ACValhalla.exe+23F88E0: 48 83 7F 18 00 - cmp qword ptr [rdi+18],00
ACValhalla.exe+23F88E5: 74 73 - je ACValhalla.exe+23F895A
ACValhalla.exe+23F88E7: 41 8B 86 B8 00 00 00 - mov eax,[r14+000000B8]
ACValhalla.exe+23F88EE: 8B C8 - mov ecx,eax
ACValhalla.exe+23F88F0: 83 E1 07 - and ecx,07
}
36
"Inf Adrenaline"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-12
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(adrenalineMax,ACValhalla.exe,41 39 F0 41 0F 4E F0)
registersymbol(adrenalineMax)
adrenalineMax:
db 44 39 C6
[DISABLE]
adrenalineMax:
db 41 39 F0
unregistersymbol(adrenalineMax)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+ACFC12C
ACValhalla.exe+ACFC0E7: BD D3 F7 7F 00 - mov ebp,007FF7D3
ACValhalla.exe+ACFC0EC: 00 0F - add [rdi],cl
ACValhalla.exe+ACFC0EE: 1F - pop ds
ACValhalla.exe+ACFC0EF: 00 48 89 - add [rax-77],cl
ACValhalla.exe+ACFC0F2: 5C - pop rsp
ACValhalla.exe+ACFC0F3: 24 08 - and al,08
ACValhalla.exe+ACFC0F5: 48 89 74 24 10 - mov [rsp+10],rsi
ACValhalla.exe+ACFC0FA: 57 - push rdi
ACValhalla.exe+ACFC0FB: 48 83 EC 20 - sub rsp,20
ACValhalla.exe+ACFC0FF: 48 8D 99 B8 01 00 00 - lea rbx,[rcx+000001B8]
ACValhalla.exe+ACFC106: 89 D6 - mov esi,edx
ACValhalla.exe+ACFC108: 48 89 CF - mov rdi,rcx
ACValhalla.exe+ACFC10B: 48 85 DB - test rbx,rbx
ACValhalla.exe+ACFC10E: 74 08 - je ACValhalla.exe+ACFC118
ACValhalla.exe+ACFC110: 48 89 D9 - mov rcx,rbx
ACValhalla.exe+ACFC113: E8 D8 C6 82 F5 - call ACValhalla.exe+5287F0
ACValhalla.exe+ACFC118: 44 8B 87 44 01 00 00 - mov r8d,[rdi+00000144]
ACValhalla.exe+ACFC11F: 31 C0 - xor eax,eax
ACValhalla.exe+ACFC121: 8B 8F 40 01 00 00 - mov ecx,[rdi+00000140]
ACValhalla.exe+ACFC127: 85 F6 - test esi,esi
ACValhalla.exe+ACFC129: 0F 4E F0 - cmovle esi,eax
// ---------- INJECTING HERE ----------
ACValhalla.exe+ACFC12C: 41 39 F0 - cmp r8d,esi
// ---------- DONE INJECTING ----------
ACValhalla.exe+ACFC12F: 41 0F 4E F0 - cmovle esi,r8d
ACValhalla.exe+ACFC133: 39 F1 - cmp ecx,esi
ACValhalla.exe+ACFC135: 74 7E - je ACValhalla.exe+ACFC1B5
ACValhalla.exe+ACFC137: 89 F2 - mov edx,esi
ACValhalla.exe+ACFC139: E8 52 AE 43 F8 - call ACValhalla.exe+3136F90
ACValhalla.exe+ACFC13E: 8B 87 40 01 00 00 - mov eax,[rdi+00000140]
ACValhalla.exe+ACFC144: 39 C6 - cmp esi,eax
ACValhalla.exe+ACFC146: 72 1A - jb ACValhalla.exe+ACFC162
ACValhalla.exe+ACFC148: 3B 87 44 01 00 00 - cmp eax,[rdi+00000144]
ACValhalla.exe+ACFC14E: 75 12 - jne ACValhalla.exe+ACFC162
ACValhalla.exe+ACFC150: E8 8B 76 40 F8 - call ACValhalla.exe+31037E0
ACValhalla.exe+ACFC155: 8B 05 E7 0A 64 FD - mov eax,[ACValhalla.exe+833CC42]
ACValhalla.exe+ACFC15B: 66 31 05 29 F0 39 FE - xor [ACValhalla.exe+909B18B],ax
ACValhalla.exe+ACFC162: 48 8B 8F 38 01 00 00 - mov rcx,[rdi+00000138]
ACValhalla.exe+ACFC169: 31 D2 - xor edx,edx
ACValhalla.exe+ACFC16B: 89 F0 - mov eax,esi
ACValhalla.exe+ACFC16D: 89 B7 40 01 00 00 - mov [rdi+00000140],esi
ACValhalla.exe+ACFC173: F7 B1 84 00 00 00 - div [rcx+00000084]
ACValhalla.exe+ACFC179: 3B 87 48 01 00 00 - cmp eax,[rdi+00000148]
}
33
"Inf Oxygen"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-12
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(oxygenUse,ACValhalla.exe,48 89 5C 24 10 57 48 83 EC 60 80)
registersymbol(oxygenUse)
oxygenUse:
ret
[DISABLE]
oxygenUse:
db 48 89 5C 24 10
unregistersymbol(oxygenUse)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+3588BA0
ACValhalla.exe+3588B6E: 74 22 - je ACValhalla.exe+3588B92
ACValhalla.exe+3588B70: 48 8D 88 D8 02 00 00 - lea rcx,[rax+000002D8]
ACValhalla.exe+3588B77: E8 F4 0C E1 FD - call ACValhalla.exe+1399870
ACValhalla.exe+3588B7C: E8 DF A8 04 FE - call ACValhalla.exe+15D3460
ACValhalla.exe+3588B81: 48 8D 53 28 - lea rdx,[rbx+28]
ACValhalla.exe+3588B85: 48 8B C8 - mov rcx,rax
ACValhalla.exe+3588B88: 48 83 C4 20 - add rsp,20
ACValhalla.exe+3588B8C: 5B - pop rbx
ACValhalla.exe+3588B8D: E9 1E 20 06 FE - jmp ACValhalla.exe+15EABB0
ACValhalla.exe+3588B92: 48 83 C4 20 - add rsp,20
ACValhalla.exe+3588B96: 5B - pop rbx
ACValhalla.exe+3588B97: C3 - ret
ACValhalla.exe+3588B98: CC - int 3
ACValhalla.exe+3588B99: CC - int 3
ACValhalla.exe+3588B9A: CC - int 3
ACValhalla.exe+3588B9B: CC - int 3
ACValhalla.exe+3588B9C: CC - int 3
ACValhalla.exe+3588B9D: CC - int 3
ACValhalla.exe+3588B9E: CC - int 3
ACValhalla.exe+3588B9F: CC - int 3
// ---------- INJECTING HERE ----------
ACValhalla.exe+3588BA0: 48 89 5C 24 10 - mov [rsp+10],rbx
// ---------- DONE INJECTING ----------
ACValhalla.exe+3588BA5: 57 - push rdi
ACValhalla.exe+3588BA6: 48 83 EC 60 - sub rsp,60
ACValhalla.exe+3588BAA: 80 B9 C3 06 00 00 00 - cmp byte ptr [rcx+000006C3],00
ACValhalla.exe+3588BB1: 48 8B F9 - mov rdi,rcx
ACValhalla.exe+3588BB4: 0F 85 4F 03 00 00 - jne ACValhalla.exe+3588F09
ACValhalla.exe+3588BBA: 48 8B 49 38 - mov rcx,[rcx+38]
ACValhalla.exe+3588BBE: 48 89 74 24 70 - mov [rsp+70],rsi
ACValhalla.exe+3588BC3: 0F 29 74 24 50 - movaps [rsp+50],xmm6
ACValhalla.exe+3588BC8: 0F 29 7C 24 40 - movaps [rsp+40],xmm7
ACValhalla.exe+3588BCD: 48 8B 49 08 - mov rcx,[rcx+08]
ACValhalla.exe+3588BD1: 48 8B 89 50 09 00 00 - mov rcx,[rcx+00000950]
ACValhalla.exe+3588BD8: E8 93 A2 3F FF - call ACValhalla.exe+2982E70
ACValhalla.exe+3588BDD: 33 F6 - xor esi,esi
ACValhalla.exe+3588BDF: 48 85 C0 - test rax,rax
ACValhalla.exe+3588BE2: 0F 84 A3 00 00 00 - je ACValhalla.exe+3588C8B
ACValhalla.exe+3588BE8: 48 8D 58 20 - lea rbx,[rax+20]
ACValhalla.exe+3588BEC: 48 8B CB - mov rcx,rbx
ACValhalla.exe+3588BEF: 48 8D 15 DA 23 10 FD - lea rdx,[ACValhalla.exe+68AFD0]
ACValhalla.exe+3588BF6: E8 F5 24 84 FE - call ACValhalla.exe+1DCB0F0
ACValhalla.exe+3588BFB: 3C 01 - cmp al,01
}
1688
"Enable Teleport Related Scripts (Credit to ArmYof0n3 for the coordinates and waypoint hooks!)"
000000
Auto Assembler Script
{$lua}
locationsTable = {
{region="East Anglia",desc="Britannia's Watch Highpoint",x=4145.603515625,y=264.48962402344,z=-635.26715087891},
{region="East Anglia",desc="Northwic Highpoint",x=5180.98828125,y=253.05364990234,z=-478.94390869141},
{region="East Anglia",desc="Edmund's Hope Highpoint",x=4771.6586914063,y=280.35406494141,z=-1560.736328125},
{region="Essexe",desc="Colcestre Highpoint",x=4267.2353515625,y=261.17999267578,z=-2688.8251953125},
{region="Essexe",desc="Maeldun Highpoint",x=4878.8491210938,y=287.18978881836,z=-3467.0063476563},
{region="Oxenefordscire",desc="Thaerelea Ruins Highpoint",x=1251.7510986328,y=304.92980957031,z=-1245.3673095703},
{region="Oxenefordscire",desc="Evinghou Tower Highpoint",x=952.42462158203,y=361.71606445313,z=-2288.7983398438},
{region="Ledecestersire",desc="Venonis Highpoint",x=690.40667724609,y=250.70252990723,z=559.88519287109},
{region="East Anglia",desc="Ruined Tower Highpoint",x=5385.2895507813,y=286.19287109375,z=85.487724304199},
{region="Lincolnscire",desc="Cruwland Highpoint",x=2838.1833496094,y=250.85023498535,z=916.40728759766},
{region="Lincolnscire",desc="Lincoln Highpoint",x=2911.4560546875,y=303.91583251953,z=2902.580078125},
{region="Lincolnscire",desc="Wynmere Lake Highpoint",x=2842.0192871094,y=287.63360595703,z=1876.8361816406},
{region="Lincolnscire",desc="Mercian Tower Highpoint",x=4301.3271484375,y=267.91326904297,z=1974.2346191406},
{region="Lincolnscire",desc="Spitalgate Highpoint",x=3344.2248535156,y=286.521484375,z=3981.6413574219},
{region="Lincolnscire",desc="Lacestone Highpoint",x=2294.0346679688,y=263.69259643555,z=4164.6015625},
{region="Ledecestrescire",desc="Ragnarsson Lookout Highpoint",x=1485.6278076172,y=366.92977905273,z=408.33697509766},
{region="Glowecestrescire",desc="Cragstone Watchtower Highpoint",x=-444.16638183594,y=337.59359741211,z=-693.36657714844},
{region="Glowecestrescire",desc="Sabrina's Spring Highpoint",x=-1426.0048828125,y=397.94476318359,z=-1306.4794921875},
{region="Glowecestrescire",desc="Glowecestre Highpoint",x=-1724.81640625,y=257.58462524414,z=-2002.5249023438},
{region="Rygjafylke",desc="Stavanger Highpoint",x=-1757.9622802734,y=297.09997558594,z=-2222.9938964844},
{region="Rygjafylke",desc="Starter Island Highpoint",x=-2468.9497070313,y=295.61376953125,z=-1754.8590087891},
{region="Hordafylk",desc="Plateu Highpoint",x=-1027.7164306641,y=393.0400390625,z=286.38006591797},
{region="Hordafylk",desc="Ulriken Peak Highpoint",x=-37.607830047607,y=430.99572753906,z=497.72387695313},
{region="Rygjafylke",desc="Fornburg Highpoint",x=633.64154052734,y=445.31344604492,z=-2292.5610351563},
{region="Rygjafylke",desc="Fannaraki Summit Highpoint",x=287.44815063477,y=714.37231445313,z=-1130.5841064453}}
----------------------------------------------------------------------------------------------------
lastSavedLocation = {region="",desc="",x=0,y=0,z=0}
prevLocation = {region="Previous region",desc="Previous Location",x=0,y=0,z=0}
numLocations = 0
function updateLocation(baseAddr,newLocation)
if baseAddr ~= nil and newLocation ~= nil then
local saveLocation = {region="Previous Region",desc="Previous Location",x=0,y=0,z=0}
saveLocation.x = readFloat(baseAddr+0x50)
saveLocation.y = readFloat(baseAddr+0x58)+2.5
saveLocation.z = readFloat(baseAddr+0x54)
writeFloat(baseAddr+0x50,newLocation.x)
writeFloat(baseAddr+0x58,newLocation.y)
writeFloat(baseAddr+0x54,newLocation.z)
return saveLocation
end
return nil
end
function addLocation(baseAddr)
if baseAddr ~= nil then
local queryregionDescription = inputQuery('Get Region',"Enter Current Region",'')
local queryDescription = inputQuery('Get Location',"Enter Location Name",'')
local saveLocation = {region=queryregionDescription,desc=queryDescription,x=0,y=0,z=0}
saveLocation.x = readFloat(baseAddr+0x50)
saveLocation.y = readFloat(baseAddr+0x58)+2.5
saveLocation.z = readFloat(baseAddr+0x54)
local numLocation = getCount(locationsTable) + 1
locationsTable[numLocation] = saveLocation
return saveLocation
end
return nil
end
function createWaypointLocation(baseAddr)
print(baseAddr)
if baseAddr ~= nil then
local saveLocation = {region="",desc="Waypoint",x=0,y=0,z=0}
saveLocation.x = readFloat(baseAddr+0x50)
saveLocation.y = readFloat(baseAddr+0x58)+2.5
saveLocation.z = readFloat(baseAddr+0x54)
return saveLocation
end
return nil
end
function queryLocation()
local queryForm = createForm(false);
local locationListComboBox = createComboBox(queryForm)
queryForm.Caption = "Select Location"
locationListComboBox.ReadOnly = true
locationListComboBox.Width = 600
queryForm.Height = locationListComboBox.Height + 1
queryForm.Width = locationListComboBox.Width + 3
locationListComboBox.OnSelect = function()
queryForm.ModalResult = 1
end
local tempLocation = nil
local numLocations = getCount(locationsTable)
local i
for i=1,numLocations do
locationListComboBox.Items.Add("Region: "..locationsTable[i]['region']..", Location: "..locationsTable[i]['desc'])
end
queryForm.centerScreen()
queryForm.showModal()
if locationListComboBox.ItemIndex >= 0 then
tempLocation = locationsTable[locationListComboBox.ItemIndex+1]
end
locationListComboBox:Destroy()
queryForm:Destroy()
return tempLocation
end
function teleportLocation(baseCoords)
local selectedLocation = queryLocation()
return updateLocation(baseCoords,selectedLocation)
end
function teleportWaypoint(baseCoords,baseWaypoint)
print("Teleporting to Waypoint")
local tempLocation = createWaypointLocation(baseWaypoint)
return updateLocation(baseCoords,tempLocation)
end
function getCount(item)
if type(item) ~= 'table' then return 1 end
i = 1
while item[i] ~= nil do i = i + 1 end
return i - 1
end
{$asm}
//Adapted (with permission) from ArmY of 0n3's teleport script -Thank you! Please go and download his script here: https://fearlessrevolution.com/viewtopic.php?f=4&t=14424
//Mine is essentially identical to his save for the location selector that I have not yet finished adding locations to
[ENABLE]
aobscanregion(_AobMarker,00007ff000000000,00007fffffffffff,F3 48 0F 2C C0 39 43)
alloc(newmem2,$1000,_AobMarker)
label(code2)
label(return2)
label(baseWaypoint)
newmem2:
code2:
cvttss2si rax,xmm0
mov [baseWaypoint],rdi
jmp return2
baseWaypoint:
dq 0
_AobMarker:
jmp newmem2
return2:
registersymbol(_AobMarker)
registersymbol(baseWaypoint)
///////////////////////////////////////////////////////////////////////////////
aobscanregion(_AobTeleport,00007ff000000000,00007fffffffffff,41 0F 10 55 50 48)
alloc(newmem,$1000,_AobTeleport)
label(code)
label(return)
label(baseCoords)
newmem:
mov [baseCoords],r13
code:
movups xmm2,[r13+50]
jmp return
baseCoords:
dd 0
_AobTeleport:
jmp newmem
return:
registersymbol(_AobTeleport)
registersymbol(baseCoords)
[DISABLE]
_AobMarker:
db F3 48 0F 2C C0
_AobTeleport:
db 41 0F 10 55 50
unregistersymbol(_AobTeleport)
unregistersymbol(_AobMarker)
unregistersymbol(baseCoords)
unregistersymbol(baseWaypoint)
dealloc(newmem)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla_plus.exe+3134F5F
ACValhalla_plus.exe+3134F3D: 66 0F 38 14 D1 - blendvps xmm2,xmm1,xmm0
ACValhalla_plus.exe+3134F42: 0F 5C DA - subps xmm3,xmm2
ACValhalla_plus.exe+3134F45: 0F 59 DB - mulps xmm3,xmm3
ACValhalla_plus.exe+3134F48: 0F 28 C3 - movaps xmm0,xmm3
ACValhalla_plus.exe+3134F4B: 0F C6 C3 4E - shufps xmm0,xmm3,4E
ACValhalla_plus.exe+3134F4F: 0F 58 D8 - addps xmm3,xmm0
ACValhalla_plus.exe+3134F52: 0F 28 C3 - movaps xmm0,xmm3
ACValhalla_plus.exe+3134F55: 0F C6 C3 11 - shufps xmm0,xmm3,11
ACValhalla_plus.exe+3134F59: 0F 58 C3 - addps xmm0,xmm3
ACValhalla_plus.exe+3134F5C: 0F 51 C0 - sqrtps xmm0,xmm0
// ---------- INJECTING HERE ----------
ACValhalla_plus.exe+3134F5F: F3 48 0F 2C C0 - cvttss2si rax,xmm0
// ---------- DONE INJECTING ----------
ACValhalla_plus.exe+3134F64: 39 43 50 - cmp [rbx+50],eax
ACValhalla_plus.exe+3134F67: 74 11 - je ACValhalla_plus.exe+3134F7A
ACValhalla_plus.exe+3134F69: 48 8D 4B 10 - lea rcx,[rbx+10]
ACValhalla_plus.exe+3134F6D: 89 43 50 - mov [rbx+50],eax
ACValhalla_plus.exe+3134F70: BA 29 DA 6F D1 - mov edx,D16FDA29
ACValhalla_plus.exe+3134F75: E8 A6 4C 59 FE - call ACValhalla_plus.exe+16C9C20
ACValhalla_plus.exe+3134F7A: 48 8B 0D BF 2D D6 02 - mov rcx,[ACValhalla_plus.exe+5E97D40]
ACValhalla_plus.exe+3134F81: 48 8D 54 24 20 - lea rdx,[rsp+20]
ACValhalla_plus.exe+3134F86: 45 33 C0 - xor r8d,r8d
ACValhalla_plus.exe+3134F89: E8 42 D0 1D FE - call ACValhalla_plus.exe+1311FD0
}
{
// ORIGINAL CODE - INJECTION POINT: "ACValhalla_plus.exe"+1B84FB4
"ACValhalla_plus.exe"+1B84F92: 48 8B 48 18 - mov rcx,[rax+18]
"ACValhalla_plus.exe"+1B84F96: 48 8B 41 08 - mov rax,[rcx+08]
"ACValhalla_plus.exe"+1B84F9A: 48 C1 E0 20 - shl rax,20
"ACValhalla_plus.exe"+1B84F9E: 48 C1 F8 3F - sar rax,3F
"ACValhalla_plus.exe"+1B84FA2: 48 23 01 - and rax,[rcx]
"ACValhalla_plus.exe"+1B84FA5: 48 89 45 80 - mov [rbp-80],rax
"ACValhalla_plus.exe"+1B84FA9: EB 04 - jmp ACValhalla_plus.exe+1B84FAF
"ACValhalla_plus.exe"+1B84FAB: 48 89 7D 80 - mov [rbp-80],rdi
"ACValhalla_plus.exe"+1B84FAF: 4D 85 ED - test r13,r13
"ACValhalla_plus.exe"+1B84FB2: 74 1E - je ACValhalla_plus.exe+1B84FD2
// ---------- INJECTING HERE ----------
"ACValhalla_plus.exe"+1B84FB4: 41 0F 10 55 50 - movups xmm2,[r13+50]
// ---------- DONE INJECTING ----------
"ACValhalla_plus.exe"+1B84FB9: 48 8D 45 C0 - lea rax,[rbp-40]
"ACValhalla_plus.exe"+1B84FBD: 0F 28 05 2C FE 51 02 - movaps xmm0,[ACValhalla_plus.exe+40A4DF0]
"ACValhalla_plus.exe"+1B84FC4: 0F 57 C9 - xorps xmm1,xmm1
"ACValhalla_plus.exe"+1B84FC7: 66 0F 38 14 D1 - blendvps xmm2,xmm1,xmm0
"ACValhalla_plus.exe"+1B84FCC: 0F 29 55 C0 - movaps [rbp-40],xmm2
"ACValhalla_plus.exe"+1B84FD0: EB 10 - jmp ACValhalla_plus.exe+1B84FE2
"ACValhalla_plus.exe"+1B84FD2: 0F 28 05 B7 E2 FD 03 - movaps xmm0,[ACValhalla_plus.exe+5B63290]
"ACValhalla_plus.exe"+1B84FD9: 48 8D 45 D0 - lea rax,[rbp-30]
"ACValhalla_plus.exe"+1B84FDD: 66 0F 7F 45 D0 - movdqa [rbp-30],xmm0
"ACValhalla_plus.exe"+1B84FE2: 0F 10 38 - movups xmm7,[rax]
}
1689
"Save Current Location to Table"
Auto Assembler Script
{$lua}
[ENABLE]
local baseAddr = readQword(getAddressSafe('baseCoords'))
if baseAddr ~= nil and baseAddr ~= 0 then
prevLocation = addLocation(baseAddr)
local path = TrainerOrigin or getMainForm().OpenDialog1.InitialDir
path = path.."valhalla\\Location List.txt"
local file = io.open(path,"a")
file:write("{region=\""..prevLocation.region.."\"")
file:write(",desc=\""..prevLocation.desc.."\"")
file:write(",x="..prevLocation.x)
file:write(",y="..prevLocation.y)
file:write(",z="..prevLocation.z.."},\n")
end
local unCheckMe=createTimer()
unCheckMe.Interval=100
unCheckMe.OnTimer=function()
memrec.Active=false
unCheckMe.destroy()
end
[DISABLE]
87620
"Save Waypoint Location to Table"
Auto Assembler Script
{$lua}
[ENABLE]
local baseAddr = getAddressSafe('baseWaypoint')
if baseAddr ~= nil and baseAddr ~= 0 then
prevLocation = addLocation(baseAddr)
local path = TrainerOrigin or getMainForm().OpenDialog1.InitialDir
path = path.."valhalla\\Location List.txt"
local file = io.open(path,"a")
file:write("{region=\""..prevLocation.region.."\"")
file:write(",desc=\""..prevLocation.desc.."\"")
file:write(",x="..prevLocation.x)
file:write(",y="..prevLocation.y)
file:write(",z="..prevLocation.z.."},\n")
end
local unCheckMe=createTimer()
unCheckMe.Interval=100
unCheckMe.OnTimer=function()
memrec.Active=false
unCheckMe.destroy()
end
[DISABLE]
1691
"Teleport to Waypoint"
Auto Assembler Script
{$lua}
[ENABLE]
local baseCoordAddr = readQword(getAddressSafe('baseCoords'))
local baseWaypointAddr = readQword(getAddressSafe('baseWaypoint'))
if baseCoordAddr ~= nil and baseWaypointAddr ~= nil then
if baseWaypointAddr ~= 0 then
prevLocation = teleportWaypoint(baseCoordAddr,baseWaypointAddr)
end
end
local unCheckMe=createTimer()
unCheckMe.Interval=100
unCheckMe.OnTimer=function()
memrec.Active=false
unCheckMe.destroy()
end
[DISABLE]
87621
"Teleport to Selected Location"
Auto Assembler Script
{$lua}
[ENABLE]
local baseCoordAddr = readQword(getAddressSafe('baseCoords'))
local newLocation = queryLocation()
if baseCoordAddr ~= nil and newLocation ~= nil then
prevLocation = updateLocation(baseCoordAddr,newLocation)
end
local unCheckMe=createTimer()
unCheckMe.Interval=100
unCheckMe.OnTimer=function()
memrec.Active=false
unCheckMe.destroy()
end
[DISABLE]
1692
"Return to Previous Position"
Auto Assembler Script
{$lua}
[ENABLE]
local baseCoordAddr = readQword(getAddressSafe('baseCoords'))
if baseCoordAddr ~= nil and prevLocation.x ~= 0 then
prevLocation = updateLocation(baseCoordAddr,prevLocation)
end
local unCheckMe=createTimer()
unCheckMe.Interval=100
unCheckMe.OnTimer=function()
memrec.Active=false
unCheckMe.destroy()
end
[DISABLE]
87555
"Enable Inventory Related Scripts"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-11
Author : aSwedishMagyar
Credit to Sunbeam for the item hashes
}
{$lua}
------------------------------------------------------------------------------------------------------------------------
topRecName = "Get Inventory"
num_items = 0
--Using this from Sunbeams Compiled List:
headerDescriptions = {"--Resources--","--Crafting Materials--","--Consumables--","--Runes--","--Collectables--","--Trade Goods--","--Quest Items--"}
--Contains Hash,Name,and Header Number
inventoryDescList = {}
------------------------------------------------------------------------------------------------------------------------
function lua_aobscan(bytes)
local moduleStrSize = getModuleSize(process)
if moduleStrSize ~= nil then
local memScanner = createMemScan()
local memFoundList = createFoundList(memScanner)
memScanner.firstScan(
soExactValue,vtByteArray,rtRounded,bytes,nil,
getAddress(process),(getAddress(process)+moduleStrSize),"",
fsmNotAligned,"",true,false,false,false)
memScanner.waitTillDone()
memFoundList.initialize()
local foundAdder = nil
if memFoundList.Count == 1 then
foundAdder = memFoundList.Address[0]
elseif memFoundList.Count > 1 then
print("Array of Byte not unique: "..bytes)
else
print("Array of Byte not found: "..bytes)
end
memScanner.destroy()
memFoundList.destroy()
return foundAdder
else
print("Module "..process.." not found")
return nil
end
return nil
end
function debugger_onBreakpoint()
local bytes = RIP
local checkInventory = getAddressSafe('bagOpen')
local removeItems = getAddressSafe('itemUse')
if bytes == checkInventory then
local i = 1
local duplicate = false
while i <= num_items do
if inventoryAddressList[i] == RDX then duplicate = true end
i = i + 1
end
if duplicate ~= true then
num_items = num_items + 1
local item = findItem(RDX)
if item ~= nil then
inventoryAddressList[num_items] = RDX
createAddress(RDX,item)
end
end
return 1
elseif bytes == removeItems then
local itemId = findItem(RBX)
if itemId ~= nil then
local jmpFwd = 0
local suppliesCheck = readBytes(getAddressSafe('infSupplies'),1)
local resourcesCheck = readBytes(getAddressSafe('infResources'),1)
local consumablesCheck = readBytes(getAddressSafe('infConsumables'),1)
if ((suppliesCheck == 1) and (tonumber(inventoryDescList[3][itemId]) == 1)) then jmpFwd = 1
elseif ((resourcesCheck == 1) and (tonumber(inventoryDescList[3][itemId]) == 2)) then jmpFwd = 1
elseif ((consumablesCheck == 1) and (tonumber(inventoryDescList[3][itemId]) == 3)) then jmpFwd = 1 end
if jmpFwd == 1 then RIP = RIP + 3 end --Advance instruction pointer to after subtraction
end
return 1
end
return 0 --allows you to set normal breakpoints and also gives you an error catch
end
function createHeaders()
local addList = getAddressList()
local topRec = addList.getMemoryRecordByDescription(topRecName)
if topRec == nil then return end
local i = 1
local numHeaders = getCount(headerDescriptions)
while i <= numHeaders do
local statHeader = addList.createMemoryRecord()
statHeader.isGroupHeader = true
statHeader.options = '[moHideChildren]'
statHeader.setDescription(headerDescriptions[i])
statHeader.appendToEntry(topRec)
i = i + 1
end
end
function findItem(baseAddr)
local itemHash = readQword(readQword(baseAddr+0x8)+0x10)
if itemHash ~= nil then
local i = 1
local listCount = getCount(inventoryDescList[1])
while i <= listCount do
if tonumber(inventoryDescList[1][i], 16) == itemHash then return i end
i = i + 1
end
end
return nil
end
function createAddress(baseAddr,itemId)
if baseAddr == nil then return end
local currentItemType = inventoryDescList[3][itemId]
local currentItemName = inventoryDescList[2][itemId]
local addList = getAddressList()
local topRec = addList.getMemoryRecordByDescription(headerDescriptions[tonumber(currentItemType)])
local newRec = addList.createMemoryRecord()
newRec.setAddress(baseAddr)
newRec.setDescription(currentItemName)
newRec.Type = 2 --Items quantity is integer (dword) type
newRec.appendToEntry(topRec)
end
function getCount(item)
if type(item) ~= 'table' then return 1 end
i = 1
while item[i] ~= nil do i = i + 1 end
return i - 1
end
function populateList(listName)
local popList = {}
local file = io.input(listName)
local i = 1
while i < 200 do --Set an upper limit so it does not infinitely loop
currentLine = file:read("*line")
if currentLine == nil then break end
popList[i] = currentLine
i = i + 1
end
file:close()
return popList
end
function createHashTable(path)
local hashList = populateList(path.."list_hash.txt")
local nameList = populateList(path.."list_name.txt")
local typeList = populateList(path.."list_type.txt")
local finalList = {hashList,nameList,typeList}
if hashList == nil or nameList == nil or typeList == nil then return nil end
return finalList
end
[ENABLE]
local debugType = debug_getCurrentDebuggerInterface() --Just a precaution in case you don't have VEH selected
if debugType ~= 2 then debugProcess(2) end --Starts debugger using VEH (Thanks Zanzer)
inventoryAddressList = {}
local inventoryOpenHook = lua_aobscan("8B02488BF189")
local pickupAmountHook = lua_aobscan("448B8AA400000044")
local itemRemoveHook = lua_aobscan("442BC0448903750C418BD7")
if inventoryOpenHook ~= nil then
unregisterSymbol('bagOpen')
registerSymbol('bagOpen',inventoryOpenHook)
end
if itemRemoveHook ~= nil then
unregisterSymbol('itemUse')
registerSymbol('itemUse',itemRemoveHook)
local infSuppliesAddr = allocateMemory(1)
local infResourcesAddr = allocateMemory(1)
local infConsumablesAddr = allocateMemory(1)
unregisterSymbol('infSupplies')
unregisterSymbol('infResources')
unregisterSymbol('infConsumables')
registerSymbol('infSupplies',infSuppliesAddr)
registerSymbol('infResources',infResourcesAddr)
registerSymbol('infConsumables',infConsumablesAddr)
end
local path = TrainerOrigin or getMainForm().OpenDialog1.InitialDir
path = path.."valhalla\\"
inventoryDescList = createHashTable(path)
[DISABLE]
debug_removeBreakpoint(getAddressSafe('bagOpen'))
debug_removeBreakpoint(getAddressSafe('itemUse'))
deAlloc(getAddressSafe('infSupplies'))
deAlloc(getAddressSafe('infResources'))
deAlloc(getAddressSafe('infConsumables'))
unregisterSymbol('bagOpen')
unregisterSymbol('itemUse')
unregisterSymbol('infSupplies')
unregisterSymbol('infResources')
unregisterSymbol('infConsumables')
--[[{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+24A41DF
ACValhalla.exe+24A41BF: 02 01 - add al,[rcx]
ACValhalla.exe+24A41C1: DD - db -23
ACValhalla.exe+24A41C2: CC - int 3
ACValhalla.exe+24A41C3: CC - int 3
ACValhalla.exe+24A41C4: CC - int 3
ACValhalla.exe+24A41C5: CC - int 3
ACValhalla.exe+24A41C6: CC - int 3
ACValhalla.exe+24A41C7: CC - int 3
ACValhalla.exe+24A41C8: CC - int 3
ACValhalla.exe+24A41C9: CC - int 3
ACValhalla.exe+24A41CA: CC - int 3
ACValhalla.exe+24A41CB: CC - int 3
ACValhalla.exe+24A41CC: CC - int 3
ACValhalla.exe+24A41CD: CC - int 3
ACValhalla.exe+24A41CE: CC - int 3
ACValhalla.exe+24A41CF: CC - int 3
ACValhalla.exe+24A41D0: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+24A41D5: 48 89 74 24 10 - mov [rsp+10],rsi
ACValhalla.exe+24A41DA: 57 - push rdi
ACValhalla.exe+24A41DB: 48 83 EC 20 - sub rsp,20
// ---------- INJECTING HERE ----------
ACValhalla.exe+24A41DF: 8B 02 - mov eax,[rdx]
// ---------- DONE INJECTING ----------
ACValhalla.exe+24A41E1: 48 8B F1 - mov rsi,rcx
ACValhalla.exe+24A41E4: 89 01 - mov [rcx],eax
ACValhalla.exe+24A41E6: 48 8B FA - mov rdi,rdx
ACValhalla.exe+24A41E9: 48 8D 0D 28 F3 6B 03 - lea rcx,[ACValhalla.exe+5B63518]
ACValhalla.exe+24A41F0: 33 C0 - xor eax,eax
ACValhalla.exe+24A41F2: B2 01 - mov dl,01
ACValhalla.exe+24A41F4: 48 89 4E 08 - mov [rsi+08],rcx
ACValhalla.exe+24A41F8: 48 89 4E 10 - mov [rsi+10],rcx
ACValhalla.exe+24A41FC: 48 89 4E 18 - mov [rsi+18],rcx
ACValhalla.exe+24A4200: 48 89 4E 38 - mov [rsi+38],rcx
ACValhalla.exe+24A4204: 33 C9 - xor ecx,ecx
ACValhalla.exe+24A4206: 48 89 46 20 - mov [rsi+20],rax
ACValhalla.exe+24A420A: C7 46 30 00 80 01 00 - mov [rsi+30],00018000
ACValhalla.exe+24A4211: 48 89 46 28 - mov [rsi+28],rax
ACValhalla.exe+24A4215: 88 46 34 - mov [rsi+34],al
ACValhalla.exe+24A4218: E8 73 D5 25 FE - call ACValhalla.exe+701790
ACValhalla.exe+24A421D: 48 8D 4F 08 - lea rcx,[rdi+08]
ACValhalla.exe+24A4221: 45 33 C0 - xor r8d,r8d
ACValhalla.exe+24A4224: 48 8D 56 08 - lea rdx,[rsi+08]
ACValhalla.exe+24A4228: E8 83 60 02 00 - call ACValhalla.exe+24CA2B0
}--]]
87610
"Get Inventory"
Auto Assembler Script
{$lua}
[ENABLE]
local bagOpenAddr = getAddressSafe('bagOpen')
if bagOpenAddr ~= nil then
debug_setBreakpoint(bagOpenAddr)
createHeaders()
end
[DISABLE]
local addList = getAddressList()
local topRec = addList.getMemoryRecordByDescription(topRecName)
if topRec ~= nil then
while topRec.Count > 0 do
topRec.Child[0]:Delete()
end
end
local bagOpenAddr = getAddressSafe('bagOpen')
if bagOpenAddr ~= nil then debug_removeBreakpoint(bagOpenAddr) end
87606
"Inf Items (select which item type)"
Auto Assembler Script
{$lua}
[ENABLE]
local infItemHook = getAddressSafe('itemUse')
if infItemHook ~= nil then debug_setBreakpoint(infItemHook) end
[DISABLE]
local infItemHook = getAddressSafe('itemUse')
if infItemHook ~= nil then debug_removeBreakpoint(infItemHook) end
87605
"Affect Supplies?"
1:Yes
0:No
0
Byte
infSupplies
87608
"Affect Resources?"
1:Yes
0:No
0
Byte
infResources
87609
"Affect Consumables?"
1:Yes
0:No
0
Byte
infConsumables
27
"No Upgrade Cost Requirement (still removes from your inventory)"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-12
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(craftCheck,ACValhalla.exe,41 3B FF 49 8D 4E 58)
registersymbol(craftCheck)
craftCheck:
db 39 FF 90
[DISABLE]
craftCheck:
db 41 3B FF 49 8D 4E 58
unregistersymbol(craftCheck)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+24BB333
ACValhalla.exe+24BB2F2: 83 3C 38 00 - cmp dword ptr [rax+rdi],00
ACValhalla.exe+24BB2F6: 76 0A - jna ACValhalla.exe+24BB302
ACValhalla.exe+24BB2F8: E8 33 02 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+23B0
ACValhalla.exe+24BB2FD: 40 B6 01 - mov sil,01
ACValhalla.exe+24BB300: EB 05 - jmp ACValhalla.exe+24BB307
ACValhalla.exe+24BB302: E8 E9 01 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+2370
ACValhalla.exe+24BB307: 49 8D 4E 08 - lea rcx,[r14+08]
ACValhalla.exe+24BB30B: 49 8B D4 - mov rdx,r12
ACValhalla.exe+24BB30E: E8 8D AE 02 00 - call ACValhalla.exe+24E61A0
ACValhalla.exe+24BB313: 48 85 C0 - test rax,rax
ACValhalla.exe+24BB316: 74 04 - je ACValhalla.exe+24BB31C
ACValhalla.exe+24BB318: 8B 38 - mov edi,[rax]
ACValhalla.exe+24BB31A: EB 02 - jmp ACValhalla.exe+24BB31E
ACValhalla.exe+24BB31C: 33 FF - xor edi,edi
ACValhalla.exe+24BB31E: 49 8D 4E 58 - lea rcx,[r14+58]
ACValhalla.exe+24BB322: 40 84 F6 - test sil,sil
ACValhalla.exe+24BB325: 74 07 - je ACValhalla.exe+24BB32E
ACValhalla.exe+24BB327: E8 F4 02 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+24A0
ACValhalla.exe+24BB32C: EB 05 - jmp ACValhalla.exe+24BB333
ACValhalla.exe+24BB32E: E8 5D 02 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+2410
// ---------- INJECTING HERE ----------
ACValhalla.exe+24BB333: 41 3B FF - cmp edi,r15d
// ---------- DONE INJECTING ----------
ACValhalla.exe+24BB336: 49 8D 4E 58 - lea rcx,[r14+58]
ACValhalla.exe+24BB33A: 40 0F 93 C7 - setae dil
ACValhalla.exe+24BB33E: 40 84 ED - test bpl,bpl
ACValhalla.exe+24BB341: 74 07 - je ACValhalla.exe+24BB34A
ACValhalla.exe+24BB343: E8 D8 02 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+24A0
ACValhalla.exe+24BB348: EB 05 - jmp ACValhalla.exe+24BB34F
ACValhalla.exe+24BB34A: E8 41 02 07 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+2410
ACValhalla.exe+24BB34F: 48 8B 5C 24 50 - mov rbx,[rsp+50]
ACValhalla.exe+24BB354: 40 0F B6 C7 - movzx eax,dil
ACValhalla.exe+24BB358: 48 8B 6C 24 58 - mov rbp,[rsp+58]
ACValhalla.exe+24BB35D: 48 8B 74 24 60 - mov rsi,[rsp+60]
ACValhalla.exe+24BB362: 48 83 C4 20 - add rsp,20
ACValhalla.exe+24BB366: 41 5F - pop r15
ACValhalla.exe+24BB368: 41 5E - pop r14
ACValhalla.exe+24BB36A: 41 5D - pop r13
ACValhalla.exe+24BB36C: 41 5C - pop r12
ACValhalla.exe+24BB36E: 5F - pop rdi
ACValhalla.exe+24BB36F: C3 - ret
ACValhalla.exe+24BB370: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+24BB375: 48 89 6C 24 10 - mov [rsp+10],rbp
}
87603
"No Hunter Delivery Cost Requirement (still removes from your inventory)"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-14
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(hunterDelivery,ACValhalla.exe,48 8B CB 40 84 F6 74 07 E8 A4)
registersymbol(hunterDelivery)
alloc(newhunterDelivery,100,hunterDelivery)
label(codehunterDelivery)
label(returnhunterDelivery)
newhunterDelivery:
mov edi,7 //Max number needed for any delivery
codehunterDelivery:
mov rcx,rbx
test sil,sil
jmp returnhunterDelivery
hunterDelivery:
jmp newhunterDelivery
nop
returnhunterDelivery:
[DISABLE]
hunterDelivery:
db 48 8B CB 40 84 F6 74 07 E8 A4
unregistersymbol(hunterDelivery)
dealloc(newhunterDelivery)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+24F1D6F
ACValhalla.exe+24F1D2C: 40 38 34 28 - cmp [rax+rbp],sil
ACValhalla.exe+24F1D30: 75 05 - jne ACValhalla.exe+24F1D37
ACValhalla.exe+24F1D32: E8 25 B4 9B 01 - call ACValhalla.exe+3EAD15C
ACValhalla.exe+24F1D37: B8 7C 0C 00 00 - mov eax,00000C7C
ACValhalla.exe+24F1D3C: 48 8D 5F 58 - lea rbx,[rdi+58]
ACValhalla.exe+24F1D40: 48 8B CB - mov rcx,rbx
ACValhalla.exe+24F1D43: 83 3C 28 00 - cmp dword ptr [rax+rbp],00
ACValhalla.exe+24F1D47: 76 0A - jna ACValhalla.exe+24F1D53
ACValhalla.exe+24F1D49: E8 E2 06 04 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+23B0
ACValhalla.exe+24F1D4E: 40 B6 01 - mov sil,01
ACValhalla.exe+24F1D51: EB 05 - jmp ACValhalla.exe+24F1D58
ACValhalla.exe+24F1D53: E8 98 06 04 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+2370
ACValhalla.exe+24F1D58: 48 8D 4F 08 - lea rcx,[rdi+08]
ACValhalla.exe+24F1D5C: 49 8B D6 - mov rdx,r14
ACValhalla.exe+24F1D5F: E8 6C 6A FF FF - call ACValhalla.exe+24E87D0
ACValhalla.exe+24F1D64: 48 85 C0 - test rax,rax
ACValhalla.exe+24F1D67: 74 04 - je ACValhalla.exe+24F1D6D
ACValhalla.exe+24F1D69: 8B 38 - mov edi,[rax]
ACValhalla.exe+24F1D6B: EB 02 - jmp ACValhalla.exe+24F1D6F
ACValhalla.exe+24F1D6D: 33 FF - xor edi,edi
// ---------- INJECTING HERE ----------
ACValhalla.exe+24F1D6F: 48 8B CB - mov rcx,rbx
// ---------- DONE INJECTING ----------
ACValhalla.exe+24F1D72: 40 84 F6 - test sil,sil
ACValhalla.exe+24F1D75: 74 07 - je ACValhalla.exe+24F1D7E
ACValhalla.exe+24F1D77: E8 A4 07 04 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+24A0
ACValhalla.exe+24F1D7C: EB 05 - jmp ACValhalla.exe+24F1D83
ACValhalla.exe+24F1D7E: E8 0D 07 04 FE - call ACValhalla.AK::StreamMgr::GetDefaultSettings+2410
ACValhalla.exe+24F1D83: 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACValhalla.exe+24F1D88: 8B C7 - mov eax,edi
ACValhalla.exe+24F1D8A: 48 8B 7C 24 48 - mov rdi,[rsp+48]
ACValhalla.exe+24F1D8F: 48 8B 6C 24 38 - mov rbp,[rsp+38]
ACValhalla.exe+24F1D94: 48 8B 74 24 40 - mov rsi,[rsp+40]
ACValhalla.exe+24F1D99: 48 83 C4 20 - add rsp,20
ACValhalla.exe+24F1D9D: 41 5E - pop r14
ACValhalla.exe+24F1D9F: C3 - ret
ACValhalla.exe+24F1DA0: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+24F1DA5: 48 89 6C 24 10 - mov [rsp+10],rbp
ACValhalla.exe+24F1DAA: 48 89 74 24 18 - mov [rsp+18],rsi
ACValhalla.exe+24F1DAF: 57 - push rdi
ACValhalla.exe+24F1DB0: 48 83 EC 20 - sub rsp,20
ACValhalla.exe+24F1DB4: 48 8B 59 04 - mov rbx,[rcx+04]
ACValhalla.exe+24F1DB8: 33 FF - xor edi,edi
}
24
"Modify Experience Gain"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-12
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(expGain,ACValhalla.exe,8B 93 B4 01 00 00 85 D2 74 6A)
registersymbol(expGain)
registersymbol(expMultVal)
alloc(newexpGain,100,expGain)
label(codeexpGain)
label(returnexpGain)
label(expMultVal)
newexpGain:
mov edx,[rbx+000001B4]
imul edx,[expMultVal]
codeexpGain:
mov [rbx+000001B4],edx
jmp returnexpGain
expMultVal:
dd 1
expGain:
jmp newexpGain
nop
returnexpGain:
[DISABLE]
expGain:
db 8B 93 B4 01 00 00
unregistersymbol(expGain)
unregistersymbol(expMultVal)
dealloc(newexpGain)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+28AB3EC
ACValhalla.exe+28AB3AC: CC - int 3
ACValhalla.exe+28AB3AD: CC - int 3
ACValhalla.exe+28AB3AE: CC - int 3
ACValhalla.exe+28AB3AF: CC - int 3
ACValhalla.exe+28AB3B0: 48 85 C9 - test rcx,rcx
ACValhalla.exe+28AB3B3: 0F 84 B1 00 00 00 - je ACValhalla.exe+28AB46A
ACValhalla.exe+28AB3B9: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+28AB3BE: 57 - push rdi
ACValhalla.exe+28AB3BF: 48 83 EC 40 - sub rsp,40
ACValhalla.exe+28AB3C3: 48 8B 01 - mov rax,[rcx]
ACValhalla.exe+28AB3C6: 48 8B FA - mov rdi,rdx
ACValhalla.exe+28AB3C9: 48 8B D9 - mov rbx,rcx
ACValhalla.exe+28AB3CC: FF 50 38 - call qword ptr [rax+38]
ACValhalla.exe+28AB3CF: 48 8B 0D 02 CB F0 02 - mov rcx,[ACValhalla.exe+57B7ED8]
ACValhalla.exe+28AB3D6: 44 0F B7 41 54 - movzx r8d,word ptr [rcx+54]
ACValhalla.exe+28AB3DB: 66 44 39 40 54 - cmp [rax+54],r8w
ACValhalla.exe+28AB3E0: 72 7E - jb ACValhalla.exe+28AB460
ACValhalla.exe+28AB3E2: 0F B7 51 56 - movzx edx,word ptr [rcx+56]
ACValhalla.exe+28AB3E6: 66 39 50 56 - cmp [rax+56],dx
ACValhalla.exe+28AB3EA: 77 74 - ja ACValhalla.exe+28AB460
// ---------- INJECTING HERE ----------
ACValhalla.exe+28AB3EC: 8B 93 B4 01 00 00 - mov edx,[rbx+000001B4]
// ---------- DONE INJECTING ----------
ACValhalla.exe+28AB3F2: 85 D2 - test edx,edx
ACValhalla.exe+28AB3F4: 74 6A - je ACValhalla.exe+28AB460
ACValhalla.exe+28AB3F6: 48 8B 47 10 - mov rax,[rdi+10]
ACValhalla.exe+28AB3FA: 48 8B 48 08 - mov rcx,[rax+08]
ACValhalla.exe+28AB3FE: 48 C1 E1 20 - shl rcx,20
ACValhalla.exe+28AB402: 48 C1 F9 3F - sar rcx,3F
ACValhalla.exe+28AB406: 48 23 08 - and rcx,[rax]
ACValhalla.exe+28AB409: 74 10 - je ACValhalla.exe+28AB41B
ACValhalla.exe+28AB40B: E8 E0 97 EE FD - call ACValhalla.exe+794BF0
ACValhalla.exe+28AB410: 8B 93 B4 01 00 00 - mov edx,[rbx+000001B4]
ACValhalla.exe+28AB416: 4C 8B D8 - mov r11,rax
ACValhalla.exe+28AB419: EB 04 - jmp ACValhalla.exe+28AB41F
ACValhalla.exe+28AB41B: 4C 8B 5F 50 - mov r11,[rdi+50]
ACValhalla.exe+28AB41F: 8B 47 58 - mov eax,[rdi+58]
ACValhalla.exe+28AB422: 4C 8D 93 B0 01 00 00 - lea r10,[rbx+000001B0]
ACValhalla.exe+28AB429: 48 8B 0D D0 91 6D 03 - mov rcx,[ACValhalla.exe+5F84600]
ACValhalla.exe+28AB430: 4C 8D 4F 08 - lea r9,[rdi+08]
ACValhalla.exe+28AB434: 44 8B 83 B8 01 00 00 - mov r8d,[rbx+000001B8]
ACValhalla.exe+28AB43B: 48 81 C1 E0 01 00 00 - add rcx,000001E0
ACValhalla.exe+28AB442: 89 44 24 38 - mov [rsp+38],eax
}
23
"Multiplier"
0
4 Bytes
expMultVal
87643
"Orlog Related Scripts"
1
87637
"Get Player Stats"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-24
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(orlogPlayer,ACValhalla.exe,E8 03 00 00 8B 42 04 3B 42 08)
registersymbol(orlogPlayer)
registersymbol(baseorlogPlayer)
alloc(neworlogPlayer,100,orlogPlayer)
label(codeorlogPlayer)
label(returnorlogPlayer)
label(baseorlogPlayer)
neworlogPlayer:
mov [baseorlogPlayer],rdx
codeorlogPlayer:
mov eax,[rdx+04]
cmp eax,[rdx+08]
jmp returnorlogPlayer
baseorlogPlayer:
dd 0
orlogPlayer+04:
jmp neworlogPlayer
nop
returnorlogPlayer:
[DISABLE]
orlogPlayer+04:
db 8B 42 04 3B 42 08
unregistersymbol(orlogPlayer)
unregistersymbol(baseorlogPlayer)
dealloc(neworlogPlayer)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+27306C5
ACValhalla.exe+273068C: CC - int 3
ACValhalla.exe+273068D: CC - int 3
ACValhalla.exe+273068E: CC - int 3
ACValhalla.exe+273068F: CC - int 3
ACValhalla.exe+2730690: 48 8D 05 91 5B D2 01 - lea rax,[ACValhalla.exe+4456228]
ACValhalla.exe+2730697: C7 41 14 00 80 01 00 - mov [rcx+14],00018000
ACValhalla.exe+273069E: 48 89 01 - mov [rcx],rax
ACValhalla.exe+27306A1: 33 C0 - xor eax,eax
ACValhalla.exe+27306A3: 89 41 08 - mov [rcx+08],eax
ACValhalla.exe+27306A6: 48 89 41 0C - mov [rcx+0C],rax
ACValhalla.exe+27306AA: C3 - ret
ACValhalla.exe+27306AB: CC - int 3
ACValhalla.exe+27306AC: CC - int 3
ACValhalla.exe+27306AD: CC - int 3
ACValhalla.exe+27306AE: CC - int 3
ACValhalla.exe+27306AF: CC - int 3
ACValhalla.exe+27306B0: 80 79 40 00 - cmp byte ptr [rcx+40],00
ACValhalla.exe+27306B4: 4C 8B 49 18 - mov r9,[rcx+18]
ACValhalla.exe+27306B8: 0F 85 86 00 00 00 - jne ACValhalla.exe+2730744
ACValhalla.exe+27306BE: 49 8B 91 E8 03 00 00 - mov rdx,[r9+000003E8]
// ---------- INJECTING HERE ----------
ACValhalla.exe+27306C5: 8B 42 04 - mov eax,[rdx+04]
// ---------- DONE INJECTING ----------
ACValhalla.exe+27306C8: 3B 42 08 - cmp eax,[rdx+08]
ACValhalla.exe+27306CB: 0F 84 BA 00 00 00 - je ACValhalla.exe+273078B
ACValhalla.exe+27306D1: F3 0F 10 8A 1C 01 00 00 - movss xmm1,[rdx+0000011C]
ACValhalla.exe+27306D9: 0F 28 C1 - movaps xmm0,xmm1
ACValhalla.exe+27306DC: 0F 54 05 AD 47 97 01 - andps xmm0,[ACValhalla.exe+40A4E90]
ACValhalla.exe+27306E3: 0F 2F 05 6A 1D 98 01 - comiss xmm0,[ACValhalla.exe+40B2454]
ACValhalla.exe+27306EA: 0F 86 8A 00 00 00 - jbe ACValhalla.exe+273077A
ACValhalla.exe+27306F0: 48 8B 41 38 - mov rax,[rcx+38]
ACValhalla.exe+27306F4: 33 D2 - xor edx,edx
ACValhalla.exe+27306F6: F3 0F 59 0D B6 44 99 01 - mulss xmm1,[ACValhalla.exe+40C4BB4]
ACValhalla.exe+27306FE: F3 0F 10 05 EA 12 98 01 - movss xmm0,[ACValhalla.exe+40B19F0]
ACValhalla.exe+2730706: 4C 8B 00 - mov r8,[rax]
ACValhalla.exe+2730709: 0F 2F C8 - comiss xmm1,xmm0
ACValhalla.exe+273070C: 4C 89 41 20 - mov [rcx+20],r8
ACValhalla.exe+2730710: 72 16 - jb ACValhalla.exe+2730728
ACValhalla.exe+2730712: F3 0F 5C C8 - subss xmm1,xmm0
ACValhalla.exe+2730716: 0F 2F C8 - comiss xmm1,xmm0
ACValhalla.exe+2730719: 73 0D - jae ACValhalla.exe+2730728
ACValhalla.exe+273071B: 48 B8 00 00 00 00 00 00 00 80 - mov rax,8000000000000000
ACValhalla.exe+2730725: 48 8B D0 - mov rdx,rax
}
87638
"Player Health"
0
4 Bytes
baseorlogPlayer
4
87639
"Player Favor"
0
4 Bytes
baseorlogPlayer
4C
87632
"Get Enemy Stats"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-24
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(orlogEnemy,ACValhalla.exe,F0 03 00 00 8B 42 04 3B 42 08)
registersymbol(orlogEnemy)
registersymbol(baseorlogEnemy)
alloc(neworlogEnemy,100,orlogEnemy)
label(codeorlogEnemy)
label(returnorlogEnemy)
label(baseorlogEnemy)
neworlogEnemy:
mov [baseorlogEnemy],rdx
codeorlogEnemy:
mov eax,[rdx+04]
cmp eax,[rdx+08]
jmp returnorlogEnemy
baseorlogEnemy:
dd 0
orlogEnemy+04:
jmp neworlogEnemy
nop
returnorlogEnemy:
[DISABLE]
orlogEnemy+04:
db 8B 42 04 3B 42 08
unregistersymbol(orlogEnemy)
unregistersymbol(baseorlogEnemy)
dealloc(neworlogEnemy)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+2730A55
ACValhalla.exe+2730A0F: CC - int 3
ACValhalla.exe+2730A10: 40 53 - push rbx
ACValhalla.exe+2730A12: 48 83 EC 20 - sub rsp,20
ACValhalla.exe+2730A16: 48 8B D9 - mov rbx,rcx
ACValhalla.exe+2730A19: E8 72 BE A2 FE - call ACValhalla.exe+115C890
ACValhalla.exe+2730A1E: 48 8D 05 3B BD D2 01 - lea rax,[ACValhalla.exe+445C760]
ACValhalla.exe+2730A25: C7 43 10 00 00 00 00 - mov [rbx+10],00000000
ACValhalla.exe+2730A2C: 48 89 03 - mov [rbx],rax
ACValhalla.exe+2730A2F: C7 43 14 FF FF FF FF - mov [rbx+14],FFFFFFFF
ACValhalla.exe+2730A36: 48 83 C4 20 - add rsp,20
ACValhalla.exe+2730A3A: 5B - pop rbx
ACValhalla.exe+2730A3B: C3 - ret
ACValhalla.exe+2730A3C: CC - int 3
ACValhalla.exe+2730A3D: CC - int 3
ACValhalla.exe+2730A3E: CC - int 3
ACValhalla.exe+2730A3F: CC - int 3
ACValhalla.exe+2730A40: 80 79 40 00 - cmp byte ptr [rcx+40],00
ACValhalla.exe+2730A44: 4C 8B 49 18 - mov r9,[rcx+18]
ACValhalla.exe+2730A48: 0F 85 86 00 00 00 - jne ACValhalla.exe+2730AD4
ACValhalla.exe+2730A4E: 49 8B 91 F0 03 00 00 - mov rdx,[r9+000003F0]
// ---------- INJECTING HERE ----------
ACValhalla.exe+2730A55: 8B 42 04 - mov eax,[rdx+04]
// ---------- DONE INJECTING ----------
ACValhalla.exe+2730A58: 3B 42 08 - cmp eax,[rdx+08]
ACValhalla.exe+2730A5B: 0F 84 BA 00 00 00 - je ACValhalla.exe+2730B1B
ACValhalla.exe+2730A61: F3 0F 10 8A 1C 01 00 00 - movss xmm1,[rdx+0000011C]
ACValhalla.exe+2730A69: 0F 28 C1 - movaps xmm0,xmm1
ACValhalla.exe+2730A6C: 0F 54 05 1D 44 97 01 - andps xmm0,[ACValhalla.exe+40A4E90]
ACValhalla.exe+2730A73: 0F 2F 05 DA 19 98 01 - comiss xmm0,[ACValhalla.exe+40B2454]
ACValhalla.exe+2730A7A: 0F 86 8A 00 00 00 - jbe ACValhalla.exe+2730B0A
ACValhalla.exe+2730A80: 48 8B 41 38 - mov rax,[rcx+38]
ACValhalla.exe+2730A84: 33 D2 - xor edx,edx
ACValhalla.exe+2730A86: F3 0F 59 0D 26 41 99 01 - mulss xmm1,[ACValhalla.exe+40C4BB4]
ACValhalla.exe+2730A8E: F3 0F 10 05 5A 0F 98 01 - movss xmm0,[ACValhalla.exe+40B19F0]
ACValhalla.exe+2730A96: 4C 8B 00 - mov r8,[rax]
ACValhalla.exe+2730A99: 0F 2F C8 - comiss xmm1,xmm0
ACValhalla.exe+2730A9C: 4C 89 41 20 - mov [rcx+20],r8
ACValhalla.exe+2730AA0: 72 16 - jb ACValhalla.exe+2730AB8
ACValhalla.exe+2730AA2: F3 0F 5C C8 - subss xmm1,xmm0
ACValhalla.exe+2730AA6: 0F 2F C8 - comiss xmm1,xmm0
ACValhalla.exe+2730AA9: 73 0D - jae ACValhalla.exe+2730AB8
ACValhalla.exe+2730AAB: 48 B8 00 00 00 00 00 00 00 80 - mov rax,8000000000000000
ACValhalla.exe+2730AB5: 48 8B D0 - mov rdx,rax
}
87641
"Enemy Health"
0
4 Bytes
baseorlogEnemy
4
87642
"Enemy Favor"
0
4 Bytes
baseorlogEnemy
4C
25
"Debug/Do Not Use"
1
19
"Inf Health"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-11
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(infHealth,ACValhalla.exe,48 8B CF 0F 4E D8 8B D3 89 1E ** ** ** ** ** 48 8B CF)
registersymbol(infHealth)
registersymbol(origHealth)
alloc(origHealth,5)
origHealth:
readmem(infHealth+A,5)
infHealth+A:
nop 5
[DISABLE]
infHealth+A:
readmem(origHealth,5)
dealloc(origHealth)
unregistersymbol(infHealth)
unregistersymbol(origHealth)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+20CBED4
ACValhalla.exe+20CBE98: 45 84 C0 - test r8l,r8l
ACValhalla.exe+20CBE9B: 75 0C - jne ACValhalla.exe+20CBEA9
ACValhalla.exe+20CBE9D: 48 8B CF - mov rcx,rdi
ACValhalla.exe+20CBEA0: E8 EB 1E 09 00 - call ACValhalla.exe+215DD90
ACValhalla.exe+20CBEA5: 84 C0 - test al,al
ACValhalla.exe+20CBEA7: 75 05 - jne ACValhalla.exe+20CBEAE
ACValhalla.exe+20CBEA9: BB FF FF FF FF - mov ebx,FFFFFFFF
ACValhalla.exe+20CBEAE: 8B 87 40 01 00 00 - mov eax,[rdi+00000140]
ACValhalla.exe+20CBEB4: 48 8B CF - mov rcx,rdi
ACValhalla.exe+20CBEB7: 3B D8 - cmp ebx,eax
ACValhalla.exe+20CBEB9: 0F 4D C3 - cmovge eax,ebx
ACValhalla.exe+20CBEBC: 8B 1E - mov ebx,[rsi]
ACValhalla.exe+20CBEBE: 3B C3 - cmp eax,ebx
ACValhalla.exe+20CBEC0: 0F 4D D8 - cmovge ebx,eax
ACValhalla.exe+20CBEC3: E8 E8 C7 0E 00 - call ACValhalla.exe+21B86B0
ACValhalla.exe+20CBEC8: 3B C3 - cmp eax,ebx
ACValhalla.exe+20CBECA: 48 8B CF - mov rcx,rdi
ACValhalla.exe+20CBECD: 0F 4E D8 - cmovle ebx,eax
ACValhalla.exe+20CBED0: 8B D3 - mov edx,ebx
ACValhalla.exe+20CBED2: 89 1E - mov [rsi],ebx
// ---------- INJECTING HERE ----------
ACValhalla.exe+20CBED4: E8 C7 AD 12 00 - call ACValhalla.exe+21F6CA0
// ---------- DONE INJECTING ----------
ACValhalla.exe+20CBED9: 48 8B CF - mov rcx,rdi
ACValhalla.exe+20CBEDC: E8 5F C4 09 00 - call ACValhalla.exe+2168340
ACValhalla.exe+20CBEE1: 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACValhalla.exe+20CBEE6: 33 C0 - xor eax,eax
ACValhalla.exe+20CBEE8: 48 8B 74 24 38 - mov rsi,[rsp+38]
ACValhalla.exe+20CBEED: 48 83 C4 20 - add rsp,20
ACValhalla.exe+20CBEF1: 5F - pop rdi
ACValhalla.exe+20CBEF2: C3 - ret
ACValhalla.exe+20CBEF3: CC - int 3
ACValhalla.exe+20CBEF4: CC - int 3
ACValhalla.exe+20CBEF5: CC - int 3
ACValhalla.exe+20CBEF6: CC - int 3
ACValhalla.exe+20CBEF7: CC - int 3
ACValhalla.exe+20CBEF8: CC - int 3
ACValhalla.exe+20CBEF9: CC - int 3
ACValhalla.exe+20CBEFA: CC - int 3
ACValhalla.exe+20CBEFB: CC - int 3
ACValhalla.exe+20CBEFC: CC - int 3
ACValhalla.exe+20CBEFD: CC - int 3
ACValhalla.exe+20CBEFE: CC - int 3
}
87543
"Auto Assemble script"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-13
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(statValueGet,ACValhalla.exe,F3 4C 0F 2C 86 F8 01 00 00)
registersymbol(statValueGet)
alloc(newstatValueGet,100,statValueGet)
label(codestatValueGet)
label(returnstatValueGet)
newstatValueGet:
codestatValueGet:
cvttss2si r8,[rsi+000001F8]
jmp returnstatValueGet
statValueGet:
jmp newstatValueGet
nop 4
returnstatValueGet:
[DISABLE]
statValueGet:
db F3 4C 0F 2C 86 F8 01 00 00
unregistersymbol(statValueGet)
dealloc(newstatValueGet)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+3138237
ACValhalla.exe+31381CF: E8 4C 1A 59 FE - call ACValhalla.exe+16C9C20
ACValhalla.exe+31381D4: 39 BB F4 0A 00 00 - cmp [rbx+00000AF4],edi
ACValhalla.exe+31381DA: 74 17 - je ACValhalla.exe+31381F3
ACValhalla.exe+31381DC: BA 12 75 79 3B - mov edx,3B797512
ACValhalla.exe+31381E1: 89 BB F4 0A 00 00 - mov [rbx+00000AF4],edi
ACValhalla.exe+31381E7: 48 8D 8B 30 0A 00 00 - lea rcx,[rbx+00000A30]
ACValhalla.exe+31381EE: E8 2D 1A 59 FE - call ACValhalla.exe+16C9C20
ACValhalla.exe+31381F3: 8B BB 48 11 00 00 - mov edi,[rbx+00001148]
ACValhalla.exe+31381F9: 39 BB D8 0B 00 00 - cmp [rbx+00000BD8],edi
ACValhalla.exe+31381FF: 74 17 - je ACValhalla.exe+3138218
ACValhalla.exe+3138201: BA 29 6E 0F 5E - mov edx,5E0F6E29
ACValhalla.exe+3138206: 89 BB D8 0B 00 00 - mov [rbx+00000BD8],edi
ACValhalla.exe+313820C: 48 8D 8B 18 0B 00 00 - lea rcx,[rbx+00000B18]
ACValhalla.exe+3138213: E8 08 1A 59 FE - call ACValhalla.exe+16C9C20
ACValhalla.exe+3138218: 39 BB DC 0B 00 00 - cmp [rbx+00000BDC],edi
ACValhalla.exe+313821E: 74 17 - je ACValhalla.exe+3138237
ACValhalla.exe+3138220: BA 12 75 79 3B - mov edx,3B797512
ACValhalla.exe+3138225: 89 BB DC 0B 00 00 - mov [rbx+00000BDC],edi
ACValhalla.exe+313822B: 48 8D 8B 18 0B 00 00 - lea rcx,[rbx+00000B18]
ACValhalla.exe+3138232: E8 E9 19 59 FE - call ACValhalla.exe+16C9C20
// ---------- INJECTING HERE ----------
ACValhalla.exe+3138237: F3 4C 0F 2C 86 F8 01 00 00 - cvttss2si r8,[rsi+000001F8]
// ---------- DONE INJECTING ----------
ACValhalla.exe+3138240: 48 8D 93 18 0C 00 00 - lea rdx,[rbx+00000C18]
ACValhalla.exe+3138247: 48 8B CB - mov rcx,rbx
ACValhalla.exe+313824A: E8 81 D3 FE FF - call ACValhalla.exe+31255D0
ACValhalla.exe+313824F: F3 4C 0F 2C 86 08 02 00 00 - cvttss2si r8,[rsi+00000208]
ACValhalla.exe+3138258: 48 8D 93 20 0C 00 00 - lea rdx,[rbx+00000C20]
ACValhalla.exe+313825F: 48 8B CB - mov rcx,rbx
ACValhalla.exe+3138262: E8 69 D3 FE FF - call ACValhalla.exe+31255D0
ACValhalla.exe+3138267: F3 4C 0F 2C 86 18 02 00 00 - cvttss2si r8,[rsi+00000218]
ACValhalla.exe+3138270: 48 8D 93 28 0C 00 00 - lea rdx,[rbx+00000C28]
ACValhalla.exe+3138277: 48 8B CB - mov rcx,rbx
ACValhalla.exe+313827A: E8 51 D3 FE FF - call ACValhalla.exe+31255D0
ACValhalla.exe+313827F: F3 4C 0F 2C 86 28 02 00 00 - cvttss2si r8,[rsi+00000228]
ACValhalla.exe+3138288: 48 8D 93 30 0C 00 00 - lea rdx,[rbx+00000C30]
ACValhalla.exe+313828F: 48 8B CB - mov rcx,rbx
ACValhalla.exe+3138292: E8 39 D3 FE FF - call ACValhalla.exe+31255D0
ACValhalla.exe+3138297: F3 4C 0F 2C 86 38 02 00 00 - cvttss2si r8,[rsi+00000238]
ACValhalla.exe+31382A0: 48 8D 93 38 0C 00 00 - lea rdx,[rbx+00000C38]
ACValhalla.exe+31382A7: 48 8B CB - mov rcx,rbx
ACValhalla.exe+31382AA: E8 21 D3 FE FF - call ACValhalla.exe+31255D0
ACValhalla.exe+31382AF: F3 4C 0F 2C 86 48 02 00 00 - cvttss2si r8,[rsi+00000248]
}
87544
"Auto Assemble script"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-13
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(skillCountGet,ACValhalla.exe,F3 0F 11 45 00 E8 53)
registersymbol(skillCountGet)
alloc(newskillCountGet,100,skillCountGet)
label(codeskillCountGet)
label(returnskillCountGet)
newskillCountGet:
codeskillCountGet:
movss [rbp+00],xmm0
jmp returnskillCountGet
skillCountGet:
jmp newskillCountGet
returnskillCountGet:
[DISABLE]
skillCountGet:
db F3 0F 11 45 00
unregistersymbol(skillCountGet)
dealloc(newskillCountGet)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+21A20A3
ACValhalla.exe+21A204C: 48 C1 E0 20 - shl rax,20
ACValhalla.exe+21A2050: 48 C1 F8 3F - sar rax,3F
ACValhalla.exe+21A2054: 48 85 01 - test [rcx],rax
ACValhalla.exe+21A2057: 75 04 - jne ACValhalla.exe+21A205D
ACValhalla.exe+21A2059: 32 C0 - xor al,al
ACValhalla.exe+21A205B: EB 5A - jmp ACValhalla.exe+21A20B7
ACValhalla.exe+21A205D: 49 8B 53 40 - mov rdx,[r11+40]
ACValhalla.exe+21A2061: 48 8D 4C 24 20 - lea rcx,[rsp+20]
ACValhalla.exe+21A2066: 48 81 C2 C0 01 00 00 - add rdx,000001C0
ACValhalla.exe+21A206D: 48 89 9C 24 98 01 00 00 - mov [rsp+00000198],rbx
ACValhalla.exe+21A2075: E8 96 44 68 00 - call ACValhalla.exe+2826510
ACValhalla.exe+21A207A: 48 8D 5D 04 - lea rbx,[rbp+04]
ACValhalla.exe+21A207E: 48 8B CB - mov rcx,rbx
ACValhalla.exe+21A2081: E8 FA F3 68 00 - call ACValhalla.exe+2831480
ACValhalla.exe+21A2086: 4C 8B C6 - mov r8,rsi
ACValhalla.exe+21A2089: 48 89 9C 24 48 01 00 00 - mov [rsp+00000148],rbx
ACValhalla.exe+21A2091: 48 8B D7 - mov rdx,rdi
ACValhalla.exe+21A2094: 48 8D 4C 24 20 - lea rcx,[rsp+20]
ACValhalla.exe+21A2099: E8 F2 FB 68 00 - call ACValhalla.exe+2831C90
ACValhalla.exe+21A209E: 48 8D 4C 24 20 - lea rcx,[rsp+20]
// ---------- INJECTING HERE ----------
ACValhalla.exe+21A20A3: F3 0F 11 45 00 - movss [rbp+00],xmm0
// ---------- DONE INJECTING ----------
ACValhalla.exe+21A20A8: E8 53 5B 68 00 - call ACValhalla.exe+2827C00
ACValhalla.exe+21A20AD: 48 8B 9C 24 98 01 00 00 - mov rbx,[rsp+00000198]
ACValhalla.exe+21A20B5: B0 01 - mov al,01
ACValhalla.exe+21A20B7: 48 8B 8C 24 50 01 00 00 - mov rcx,[rsp+00000150]
ACValhalla.exe+21A20BF: 48 33 CC - xor rcx,rsp
ACValhalla.exe+21A20C2: E8 B9 0F CA 01 - call ACValhalla.exe+3E43080
ACValhalla.exe+21A20C7: 48 81 C4 60 01 00 00 - add rsp,00000160
ACValhalla.exe+21A20CE: 5F - pop rdi
ACValhalla.exe+21A20CF: 5E - pop rsi
ACValhalla.exe+21A20D0: 5D - pop rbp
ACValhalla.exe+21A20D1: C3 - ret
ACValhalla.exe+21A20D2: CC - int 3
ACValhalla.exe+21A20D3: CC - int 3
ACValhalla.exe+21A20D4: CC - int 3
ACValhalla.exe+21A20D5: CC - int 3
ACValhalla.exe+21A20D6: CC - int 3
ACValhalla.exe+21A20D7: CC - int 3
ACValhalla.exe+21A20D8: CC - int 3
ACValhalla.exe+21A20D9: CC - int 3
ACValhalla.exe+21A20DA: CC - int 3
}
87534
"Get Skill Counts"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-13
Author : aSwedishMagyar
}
{$lua}
function createSkillList()
local addList = getAddressList()
local topRec = addList.getMemoryRecordByDescription("Get Skill Counts")
if topRec == nil then return end
local i = 0
while i < 36 do
local newRec = addList.createMemoryRecord()
newRec.setDescription("Skill "..i+1)
newRec.setAddress('baseSkillCount')
newRec.setOffsetCount(1)
newRec.setOffset(0,0x10*i+8)
newRec.appendToEntry(topRec)
i = i + 1
end
end
{$asm}
[ENABLE]
{$lua}
createSkillList()
{$asm}
{aobscanmodule(skillCounts,ACValhalla.exe,39 ED FD 8B 4F 08 48 8B C3)
registersymbol(skillCounts)
registersymbol(baseSkillCount)
alloc(newskillCounts,100,skillCounts)
label(codeskillCounts)
label(returnskillCounts)
label(baseSkillCount)
newskillCounts:
cmp [baseSkillCount],0
jne codeskillCounts
mov [baseSkillCount],rdi
codeskillCounts:
mov ecx,[rdi+08]
mov rax,rbx
jmp returnskillCounts
baseSkillCount:
dq 0
skillCounts+03:
jmp newskillCounts
nop
returnskillCounts:}
[DISABLE]
{$lua}
local addList = getAddressList()
local topRec = addList.getMemoryRecordByDescription("Get Skill Counts")
if topRec ~= nil then
while topRec.Count > 0 do
topRec.Child[0]:Delete()
end
end
{$asm}
{skillCounts+03:
db 8B 4F 08 48 8B C3
unregistersymbol(skillCounts)
unregistersymbol(baseSkillCount)
dealloc(newskillCounts)}
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+283F2D5
ACValhalla.exe+283F29A: CC - int 3
ACValhalla.exe+283F29B: CC - int 3
ACValhalla.exe+283F29C: CC - int 3
ACValhalla.exe+283F29D: CC - int 3
ACValhalla.exe+283F29E: CC - int 3
ACValhalla.exe+283F29F: CC - int 3
ACValhalla.exe+283F2A0: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+283F2A5: 57 - push rdi
ACValhalla.exe+283F2A6: 48 83 EC 20 - sub rsp,20
ACValhalla.exe+283F2AA: 48 8B F9 - mov rdi,rcx
ACValhalla.exe+283F2AD: 48 8B 0D E4 5B F6 02 - mov rcx,[ACValhalla.exe+57A4E98]
ACValhalla.exe+283F2B4: E8 07 9D EC FD - call ACValhalla.exe+708FC0
ACValhalla.exe+283F2B9: 48 8B D0 - mov rdx,rax
ACValhalla.exe+283F2BC: 48 8B CF - mov rcx,rdi
ACValhalla.exe+283F2BF: 48 8B D8 - mov rbx,rax
ACValhalla.exe+283F2C2: E8 89 4B EE FD - call ACValhalla.exe+723E50
ACValhalla.exe+283F2C7: 45 33 C0 - xor r8d,r8d
ACValhalla.exe+283F2CA: 48 8B D7 - mov rdx,rdi
ACValhalla.exe+283F2CD: 48 8B CB - mov rcx,rbx
ACValhalla.exe+283F2D0: E8 CB 39 ED FD - call ACValhalla.exe+712CA0
// ---------- INJECTING HERE ----------
ACValhalla.exe+283F2D5: 8B 4F 08 - mov ecx,[rdi+08]
// ---------- DONE INJECTING ----------
ACValhalla.exe+283F2D8: 48 8B C3 - mov rax,rbx
ACValhalla.exe+283F2DB: 89 4B 08 - mov [rbx+08],ecx
ACValhalla.exe+283F2DE: 48 8B 5C 24 30 - mov rbx,[rsp+30]
ACValhalla.exe+283F2E3: 48 83 C4 20 - add rsp,20
ACValhalla.exe+283F2E7: 5F - pop rdi
ACValhalla.exe+283F2E8: C3 - ret
ACValhalla.exe+283F2E9: CC - int 3
ACValhalla.exe+283F2EA: CC - int 3
ACValhalla.exe+283F2EB: CC - int 3
ACValhalla.exe+283F2EC: CC - int 3
ACValhalla.exe+283F2ED: CC - int 3
ACValhalla.exe+283F2EE: CC - int 3
ACValhalla.exe+283F2EF: CC - int 3
ACValhalla.exe+283F2F0: 48 89 5C 24 08 - mov [rsp+08],rbx
ACValhalla.exe+283F2F5: 57 - push rdi
ACValhalla.exe+283F2F6: 48 83 EC 20 - sub rsp,20
ACValhalla.exe+283F2FA: 48 8B F9 - mov rdi,rcx
ACValhalla.exe+283F2FD: 48 8B 0D 44 B0 F5 02 - mov rcx,[ACValhalla.exe+579A348]
ACValhalla.exe+283F304: E8 B7 9C EC FD - call ACValhalla.exe+708FC0
ACValhalla.exe+283F309: 48 8B D0 - mov rdx,rax
}
87538
"Modify Melee Damage"
Auto Assembler Script
{
Game : ACValhalla.exe
Version :
Date : 2020-11-13
Author : aSwedishMagyar
}
[ENABLE]
aobscanmodule(meleeDamageMult,ACValhalla.exe,F3 0F 10 80 F8 01 00 00 48 8D)
registersymbol(meleeDamageMult)
registersymbol(damageMultVal)
alloc(newmeleeDamageMult,100,meleeDamageMult)
label(codemeleeDamageMult)
label(returnmeleeDamageMult)
label(damageMultVal)
newmeleeDamageMult:
movss xmm0,[rax+000001F8]
codemeleeDamageMult:
mulss xmm0,[damageMultVal]
jmp returnmeleeDamageMult
damageMultVal:
dd (float)1
meleeDamageMult:
jmp newmeleeDamageMult
nop 3
returnmeleeDamageMult:
[DISABLE]
meleeDamageMult:
db F3 0F 10 80 F8 01 00 00
unregistersymbol(meleeDamageMult)
unregistersymbol(damageMultVal)
dealloc(newmeleeDamageMult)
{
// ORIGINAL CODE - INJECTION POINT: ACValhalla.exe+20DA8A8
ACValhalla.exe+20DA85A: 75 03 - jne ACValhalla.exe+20DA85F
ACValhalla.exe+20DA85C: 48 8B FB - mov rdi,rbx
ACValhalla.exe+20DA85F: 0F 29 74 24 40 - movaps [rsp+40],xmm6
ACValhalla.exe+20DA864: 0F 29 7C 24 30 - movaps [rsp+30],xmm7
ACValhalla.exe+20DA869: 48 85 F6 - test rsi,rsi
ACValhalla.exe+20DA86C: 0F 84 1B 02 00 00 - je ACValhalla.exe+20DAA8D
ACValhalla.exe+20DA872: 48 85 FF - test rdi,rdi
ACValhalla.exe+20DA875: 0F 84 12 02 00 00 - je ACValhalla.exe+20DAA8D
ACValhalla.exe+20DA87B: 8B 86 B8 00 00 00 - mov eax,[rsi+000000B8]
ACValhalla.exe+20DA881: 83 E0 07 - and eax,07
ACValhalla.exe+20DA884: 83 F8 01 - cmp eax,01
ACValhalla.exe+20DA887: 75 63 - jne ACValhalla.exe+20DA8EC
ACValhalla.exe+20DA889: E8 62 AB 0D 00 - call ACValhalla.exe+21B53F0
ACValhalla.exe+20DA88E: 48 8B D0 - mov rdx,rax
ACValhalla.exe+20DA891: 45 33 C0 - xor r8d,r8d
ACValhalla.exe+20DA894: 48 8B CE - mov rcx,rsi
ACValhalla.exe+20DA897: E8 D4 D1 89 00 - call ACValhalla.exe+2977A70
ACValhalla.exe+20DA89C: 0F 57 F6 - xorps xmm6,xmm6
ACValhalla.exe+20DA89F: 48 85 C0 - test rax,rax
ACValhalla.exe+20DA8A2: 0F 84 D1 00 00 00 - je ACValhalla.exe+20DA979
// ---------- INJECTING HERE ----------
ACValhalla.exe+20DA8A8: F3 0F 10 80 F8 01 00 00 - movss xmm0,[rax+000001F8]
// ---------- DONE INJECTING ----------
ACValhalla.exe+20DA8B0: 48 8D 90 FC 01 00 00 - lea rdx,[rax+000001FC]
ACValhalla.exe+20DA8B7: 4C 8B C3 - mov r8,rbx
ACValhalla.exe+20DA8BA: F3 0F 11 44 24 20 - movss [rsp+20],xmm0
ACValhalla.exe+20DA8C0: 48 8D 4C 24 24 - lea rcx,[rsp+24]
ACValhalla.exe+20DA8C5: C7 44 24 2C 00 80 01 00 - mov [rsp+2C],00018000
ACValhalla.exe+20DA8CD: 48 89 5C 24 24 - mov [rsp+24],rbx
ACValhalla.exe+20DA8D2: E8 19 11 00 00 - call ACValhalla.exe+20DB9F0
ACValhalla.exe+20DA8D7: F3 0F 10 7C 24 20 - movss xmm7,[rsp+20]
ACValhalla.exe+20DA8DD: 48 8D 4C 24 20 - lea rcx,[rsp+20]
ACValhalla.exe+20DA8E2: E8 F9 FB 0A 00 - call ACValhalla.exe+218A4E0
ACValhalla.exe+20DA8E7: E9 90 00 00 00 - jmp ACValhalla.exe+20DA97C
ACValhalla.exe+20DA8EC: 83 F8 02 - cmp eax,02
ACValhalla.exe+20DA8EF: 0F 85 81 00 00 00 - jne ACValhalla.exe+20DA976
ACValhalla.exe+20DA8F5: 48 8B 05 2C 80 EA 03 - mov rax,[ACValhalla.exe+5F82928]
ACValhalla.exe+20DA8FC: 48 8B D6 - mov rdx,rsi
ACValhalla.exe+20DA8FF: 4C 89 74 24 60 - mov [rsp+60],r14
ACValhalla.exe+20DA904: 48 8B 88 80 0B 00 00 - mov rcx,[rax+00000B80]
ACValhalla.exe+20DA90B: 48 8B 41 08 - mov rax,[rcx+08]
ACValhalla.exe+20DA90F: 48 C1 E0 20 - shl rax,20
ACValhalla.exe+20DA913: 48 C1 F8 3F - sar rax,3F
}
87539
"Multiplier"
0
Float
damageMultVal