It works for veils as well. I thought i posted the fixed one but i may not have. Just in case.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>1223</ID>
<Description>"Current Highlighted Weapon"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe
Version:
Date : 2019-09-30
Author : Turk
This script does blah blah blah
}
[ENABLE]
aobscanmodule(CurWeapAOB,CodeVein-Win64-Shipping.exe,4D 8B 40 08 88 44 24 20) // should be unique
alloc(newmem,$1000,"CodeVein-Win64-Shipping.exe"+6651F68)
label(code)
label(return)
label(WeaponData)
registersymbol(WeaponData)
newmem:
code:
mov [WeaponData],r8
mov r8,[r8+08]
mov [rsp+20],al
jmp return
WeaponData:
CurWeapAOB:
jmp newmem
nop
nop
nop
return:
registersymbol(CurWeapAOB)
[DISABLE]
CurWeapAOB:
db 4D 8B 40 08 88 44 24 20
unregistersymbol(CurWeapAOB)
unregistersymbol(WeaponData)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+6651F68
"CodeVein-Win64-Shipping.exe"+6651F49: 48 89 D8 - mov rax,rbx
"CodeVein-Win64-Shipping.exe"+6651F4C: 48 8B 5C 24 40 - mov rbx,[rsp+40]
"CodeVein-Win64-Shipping.exe"+6651F51: 48 83 C4 30 - add rsp,30
"CodeVein-Win64-Shipping.exe"+6651F55: 5F - pop rdi
"CodeVein-Win64-Shipping.exe"+6651F56: C3 - ret
"CodeVein-Win64-Shipping.exe"+6651F57: 0F B6 40 18 - movzx eax,byte ptr [rax+18]
"CodeVein-Win64-Shipping.exe"+6651F5B: 48 89 DA - mov rdx,rbx
"CodeVein-Win64-Shipping.exe"+6651F5E: 45 8B 48 14 - mov r9d,[r8+14]
"CodeVein-Win64-Shipping.exe"+6651F62: 48 89 F9 - mov rcx,rdi
"CodeVein-Win64-Shipping.exe"+6651F65: 4C 8B 17 - mov r10,[rdi]
// ---------- INJECTING HERE ----------
"CodeVein-Win64-Shipping.exe"+6651F68: 4D 8B 40 08 - mov r8,[r8+08]
"CodeVein-Win64-Shipping.exe"+6651F6C: 88 44 24 20 - mov [rsp+20],al
// ---------- DONE INJECTING ----------
"CodeVein-Win64-Shipping.exe"+6651F70: 41 FF 92 98 00 00 00 - call qword ptr [r10+00000098]
"CodeVein-Win64-Shipping.exe"+6651F77: 48 89 D8 - mov rax,rbx
"CodeVein-Win64-Shipping.exe"+6651F7A: 48 8B 5C 24 40 - mov rbx,[rsp+40]
"CodeVein-Win64-Shipping.exe"+6651F7F: 48 83 C4 30 - add rsp,30
"CodeVein-Win64-Shipping.exe"+6651F83: 5F - pop rdi
"CodeVein-Win64-Shipping.exe"+6651F84: C3 - ret
"CodeVein-Win64-Shipping.exe"+6651F85: CC - int 3
"CodeVein-Win64-Shipping.exe"+6651F86: 41 53 - push r11
"CodeVein-Win64-Shipping.exe"+6651F88: 49 F7 D3 - not r11
"CodeVein-Win64-Shipping.exe"+6651F8B: 4C 21 1C 24 - and [rsp],r11
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>1226</ID>
<Description>"Weapon Pointer"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>WeaponData</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1225</ID>
<Description>"Quantity"</Description>
<VariableType>4 Bytes</VariableType>
<Address>WeaponData</Address>
<Offsets>
<Offset>1c</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1227</ID>
<Description>"Quality"</Description>
<VariableType>4 Bytes</VariableType>
<Address>WeaponData</Address>
<Offsets>
<Offset>14</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1228</ID>
<Description>"Transformation"</Description>
<DropDownList DisplayValueAsItem="1">0:None
1:Alleviation
2:Fortification
3:Intensification
4:Gifts
5:Devour
6:Fire
7:Ice
8:Lightning
9:Venom
10:Stun
11:Inhibit
12:Slow
</DropDownList>
<VariableType>Byte</VariableType>
<Address>WeaponData</Address>
<Offsets>
<Offset>18</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>1229</ID>
<Description>"Current Highlighted Blood Veil"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe
Version:
Date : 2019-09-30
Author : Turk
This script does blah blah blah
}
[ENABLE]
aobscanmodule(CurVeilAOB,CodeVein-Win64-Shipping.exe,4C 8B 40 08 4D 85 C0 74 E1) // should be unique
alloc(newmem,$1000,"CodeVein-Win64-Shipping.exe"+64B3337)
label(code)
label(return)
label(VeilData)
registersymbol(VeilData)
newmem:
code:
mov [VeilData],rax
mov r8,[rax+08]
test r8,r8
jmp return
VeilData:
CurVeilAOB:
jmp newmem
nop
nop
return:
registersymbol(CurVeilAOB)
[DISABLE]
CurVeilAOB:
db 4C 8B 40 08 4D 85 C0
unregistersymbol(CurVeilAOB)
unregistersymbol(VeilData)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+64B3337
"CodeVein-Win64-Shipping.exe"+64B3319: 48 89 C2 - mov rdx,rax
"CodeVein-Win64-Shipping.exe"+64B331C: 48 85 C0 - test rax,rax
"CodeVein-Win64-Shipping.exe"+64B331F: 75 16 - jne CodeVein-Win64-Shipping.exe+64B3337
"CodeVein-Win64-Shipping.exe"+64B3321: 48 89 D9 - mov rcx,rbx
"CodeVein-Win64-Shipping.exe"+64B3324: E8 A7 1C 6A FA - call CodeVein-Win64-Shipping.exe+B54FD0
"CodeVein-Win64-Shipping.exe"+64B3329: 48 89 D8 - mov rax,rbx
"CodeVein-Win64-Shipping.exe"+64B332C: 48 8B 5C 24 40 - mov rbx,[rsp+40]
"CodeVein-Win64-Shipping.exe"+64B3331: 48 83 C4 30 - add rsp,30
"CodeVein-Win64-Shipping.exe"+64B3335: 5F - pop rdi
"CodeVein-Win64-Shipping.exe"+64B3336: C3 - ret
// ---------- INJECTING HERE ----------
"CodeVein-Win64-Shipping.exe"+64B3337: 4C 8B 40 08 - mov r8,[rax+08]
"CodeVein-Win64-Shipping.exe"+64B333B: 4D 85 C0 - test r8,r8
// ---------- DONE INJECTING ----------
"CodeVein-Win64-Shipping.exe"+64B333E: 74 E1 - je CodeVein-Win64-Shipping.exe+64B3321
"CodeVein-Win64-Shipping.exe"+64B3340: 0F B6 40 18 - movzx eax,byte ptr [rax+18]
"CodeVein-Win64-Shipping.exe"+64B3344: 48 89 F9 - mov rcx,rdi
"CodeVein-Win64-Shipping.exe"+64B3347: 44 8B 4A 14 - mov r9d,[rdx+14]
"CodeVein-Win64-Shipping.exe"+64B334B: 48 89 DA - mov rdx,rbx
"CodeVein-Win64-Shipping.exe"+64B334E: 4C 8B 17 - mov r10,[rdi]
"CodeVein-Win64-Shipping.exe"+64B3351: 88 44 24 20 - mov [rsp+20],al
"CodeVein-Win64-Shipping.exe"+64B3355: 41 FF 92 A0 00 00 00 - call qword ptr [r10+000000A0]
"CodeVein-Win64-Shipping.exe"+64B335C: 48 89 D8 - mov rax,rbx
"CodeVein-Win64-Shipping.exe"+64B335F: 48 8B 5C 24 40 - mov rbx,[rsp+40]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>1231</ID>
<Description>"Veil Pointer"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>VeilData</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1232</ID>
<Description>"Quantity"</Description>
<VariableType>4 Bytes</VariableType>
<Address>VeilData</Address>
<Offsets>
<Offset>1c</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1233</ID>
<Description>"Quality"</Description>
<VariableType>4 Bytes</VariableType>
<Address>VeilData</Address>
<Offsets>
<Offset>14</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1234</ID>
<Description>"Transformation"</Description>
<DropDownList DisplayValueAsItem="1">0:None
1:Alleviation
2:Fortification
3:Intensification
4:Gifts
5:Devour
6:Fire
7:Ice
8:Lightning
9:Venom
10:Stun
11:Inhibit
12:Slow
</DropDownList>
<VariableType>Byte</VariableType>
<Address>VeilData</Address>
<Offsets>
<Offset>18</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>1235</ID>
<Description>"Current Highlighted Item"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe
Version:
Date : 2019-09-30
Author : Turk
This script does blah blah blah
}
[ENABLE]
aobscanmodule(CurItemAOB,CodeVein-Win64-Shipping.exe,1A 0F 10 00 0F 10 48 10) // should be unique
alloc(newmem,$1000,"CodeVein-Win64-Shipping.exe"+612A86F)
label(code)
label(return)
label(ItemData)
registersymbol(ItemData)
newmem:
code:
mov [ItemData],rax
movups xmm0,[rax]
movups xmm1,[rax+10]
jmp return
ItemData:
CurItemAOB+01:
jmp newmem
nop
nop
return:
registersymbol(CurItemAOB)
[DISABLE]
CurItemAOB+01:
db 0F 10 00 0F 10 48 10
unregistersymbol(CurItemAOB)
unregistersymbol(ItemData)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+612A86F
"CodeVein-Win64-Shipping.exe"+612A842: 48 89 44 24 30 - mov [rsp+30],rax
"CodeVein-Win64-Shipping.exe"+612A847: E8 44 62 91 FA - call CodeVein-Win64-Shipping.exe+A40A90
"CodeVein-Win64-Shipping.exe"+612A84C: 48 89 C2 - mov rdx,rax
"CodeVein-Win64-Shipping.exe"+612A84F: 4C 8D 4C 24 30 - lea r9,[rsp+30]
"CodeVein-Win64-Shipping.exe"+612A854: 41 B8 2B 00 00 00 - mov r8d,0000002B
"CodeVein-Win64-Shipping.exe"+612A85A: 48 89 F9 - mov rcx,rdi
"CodeVein-Win64-Shipping.exe"+612A85D: E8 2E 11 82 FA - call CodeVein-Win64-Shipping.exe+94B990
"CodeVein-Win64-Shipping.exe"+612A862: 48 8B 84 24 A8 00 00 00 - mov rax,[rsp+000000A8]
"CodeVein-Win64-Shipping.exe"+612A86A: 48 85 C0 - test rax,rax
"CodeVein-Win64-Shipping.exe"+612A86D: 74 1A - je CodeVein-Win64-Shipping.exe+612A889
// ---------- INJECTING HERE ----------
"CodeVein-Win64-Shipping.exe"+612A86F: 0F 10 00 - movups xmm0,[rax]
"CodeVein-Win64-Shipping.exe"+612A872: 0F 10 48 10 - movups xmm1,[rax+10]
// ---------- DONE INJECTING ----------
"CodeVein-Win64-Shipping.exe"+612A876: 0F 11 03 - movups [rbx],xmm0
"CodeVein-Win64-Shipping.exe"+612A879: F2 0F 10 40 20 - movsd xmm0,[rax+20]
"CodeVein-Win64-Shipping.exe"+612A87E: 0F 11 4B 10 - movups [rbx+10],xmm1
"CodeVein-Win64-Shipping.exe"+612A882: F2 0F 11 43 20 - movsd [rbx+20],xmm0
"CodeVein-Win64-Shipping.exe"+612A887: EB 29 - jmp CodeVein-Win64-Shipping.exe+612A8B2
"CodeVein-Win64-Shipping.exe"+612A889: 48 89 43 10 - mov [rbx+10],rax
"CodeVein-Win64-Shipping.exe"+612A88D: 48 89 43 18 - mov [rbx+18],rax
"CodeVein-Win64-Shipping.exe"+612A891: 48 89 43 20 - mov [rbx+20],rax
"CodeVein-Win64-Shipping.exe"+612A895: 48 89 33 - mov [rbx],rsi
"CodeVein-Win64-Shipping.exe"+612A898: 48 89 73 08 - mov [rbx+08],rsi
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>1238</ID>
<Description>"Item Pointer"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>ItemData</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1239</ID>
<Description>"Item Function?"</Description>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>ItemData</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1237</ID>
<Description>"Quantity Held"</Description>
<VariableType>4 Bytes</VariableType>
<Address>ItemData</Address>
<Offsets>
<Offset>14</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>