Hi Zachillios, Thanks for this. Just wanted to point out something. So I tried the weapon/blood veil editor, works perfectly. Gave myself weapons/blood veils with +99999 forge levels. I tried to save, close the game and start it up again to see if the changes made will save. Upon re-opening the game, I realized my items that were edited have disappeared. My guess is because I made them 'illegal' by raising the forge level to +255 and +99999 and stuff like that, although I can't be sure until I know what the 'legal' max forge level is.zachillios wrote: ↑Sat Sep 28, 2019 3:05 amBeefed up my item editors, now includes Weapon Editing and Blood Veil Editing:
Additionally, the trading items/points needed fixing which I did as well:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>566</ID> <Description>"Item Editors"</Description> <LastState Value="" RealAddress="00000000"/> <GroupHeader>1</GroupHeader> <CheatEntries> <CheatEntry> <ID>40</ID> <Description>"Highlighted Item Editor"</Description> <Options moHideChildren="1"/> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe Version: Date : 2019-09-26 Author : Zach This script does blah blah blah } [ENABLE] aobscanmodule(Item_Pointer,CodeVein-Win64-Shipping.exe,0F 10 48 10 0F 11 03 F2 0F 10 40 20 0F) // should be unique alloc(newmem,$1000,Item_Pointer) globalalloc(ItemPointer,4) label(code) label(return) newmem: mov [ItemPointer],rax code: movups xmm1,[rax+10] movups [rbx],xmm0 jmp return Item_Pointer: jmp newmem nop 2 return: registersymbol(Item_Pointer) [DISABLE] Item_Pointer: db 0F 10 48 10 0F 11 03 unregistersymbol(Item_Pointer) dealloc(newmem) dealloc(ItemPointer) { // ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+612A872 "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 "CodeVein-Win64-Shipping.exe"+612A86F: 0F 10 00 - movups xmm0,[rax] // ---------- INJECTING HERE ---------- "CodeVein-Win64-Shipping.exe"+612A872: 0F 10 48 10 - movups xmm1,[rax+10] "CodeVein-Win64-Shipping.exe"+612A876: 0F 11 03 - movups [rbx],xmm0 // ---------- DONE INJECTING ---------- "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 "CodeVein-Win64-Shipping.exe"+612A89C: 66 C7 43 10 08 10 - mov word ptr [rbx+10],1008 } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>41</ID> <Description>"Quantity"</Description> <LastState Value="0" RealAddress="8AB2A7A4"/> <VariableType>4 Bytes</VariableType> <Address>ItemPointer</Address> <Offsets> <Offset>14</Offset> </Offsets> </CheatEntry> <CheatEntry> <ID>550</ID> <Description>"Max Quantity"</Description> <LastState Value="0" RealAddress="8AB2A7A8"/> <VariableType>4 Bytes</VariableType> <Address>ItemPointer</Address> <Offsets> <Offset>18</Offset> </Offsets> </CheatEntry> <CheatEntry> <ID>551</ID> <Description>"ID"</Description> <LastState Value="00 00 00" RealAddress="8AB2A791"/> <ShowAsHex>1</ShowAsHex> <VariableType>Array of byte</VariableType> <ByteLength>3</ByteLength> <Address>ItemPointer</Address> <Offsets> <Offset>1</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> <CheatEntry> <ID>555</ID> <Description>"Highlighted Weapon Editor"</Description> <Options moHideChildren="1"/> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe Version: Date : 2019-09-27 Author : Zach This script does blah blah blah } [ENABLE] aobscanmodule(Weapon_Scan,CodeVein-Win64-Shipping.exe,0F 10 48 10 0F 11 4B 10 48 8B 9C 24 90 00 00 00 48 81 C4 80 00 00 00 5F C3 CC 48) // should be unique alloc(newmem,$1000,Weapon_Scan) globalalloc(WeaponScan,4) label(code) label(return) newmem: mov [WeaponScan],rax code: movups xmm1,[rax+10] movups [rbx+10],xmm1 jmp return Weapon_Scan: jmp newmem nop 3 return: registersymbol(Weapon_Scan) [DISABLE] Weapon_Scan: db 0F 10 48 10 0F 11 4B 10 unregistersymbol(Weapon_Scan) dealloc(newmem) dealloc(WeaponScan) { // ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+614BF57 "CodeVein-Win64-Shipping.exe"+614BF2E: 48 89 C2 - mov rdx,rax "CodeVein-Win64-Shipping.exe"+614BF31: 4C 8D 4C 24 30 - lea r9,[rsp+30] "CodeVein-Win64-Shipping.exe"+614BF36: 41 B8 3D 00 00 00 - mov r8d,0000003D "CodeVein-Win64-Shipping.exe"+614BF3C: 48 89 F9 - mov rcx,rdi "CodeVein-Win64-Shipping.exe"+614BF3F: E8 4C FA 7F FA - call CodeVein-Win64-Shipping.exe+94B990 "CodeVein-Win64-Shipping.exe"+614BF44: 48 8B 84 24 A8 00 00 00 - mov rax,[rsp+000000A8] "CodeVein-Win64-Shipping.exe"+614BF4C: 48 85 C0 - test rax,rax "CodeVein-Win64-Shipping.exe"+614BF4F: 74 0E - je CodeVein-Win64-Shipping.exe+614BF5F "CodeVein-Win64-Shipping.exe"+614BF51: 0F 10 00 - movups xmm0,[rax] "CodeVein-Win64-Shipping.exe"+614BF54: 0F 11 03 - movups [rbx],xmm0 // ---------- INJECTING HERE ---------- "CodeVein-Win64-Shipping.exe"+614BF57: 0F 10 48 10 - movups xmm1,[rax+10] "CodeVein-Win64-Shipping.exe"+614BF5B: 0F 11 4B 10 - movups [rbx+10],xmm1 // ---------- DONE INJECTING ---------- "CodeVein-Win64-Shipping.exe"+614BF5F: 48 8B 9C 24 90 00 00 00 - mov rbx,[rsp+00000090] "CodeVein-Win64-Shipping.exe"+614BF67: 48 81 C4 80 00 00 00 - add rsp,00000080 "CodeVein-Win64-Shipping.exe"+614BF6E: 5F - pop rdi "CodeVein-Win64-Shipping.exe"+614BF6F: C3 - ret "CodeVein-Win64-Shipping.exe"+614BF70: CC - int 3 "CodeVein-Win64-Shipping.exe"+614BF71: 48 31 FF - xor rdi,rdi "CodeVein-Win64-Shipping.exe"+614BF74: 48 F7 D3 - not rbx "CodeVein-Win64-Shipping.exe"+614BF77: 48 33 1C 24 - xor rbx,[rsp] "CodeVein-Win64-Shipping.exe"+614BF7B: 48 83 F3 FF - xor rbx,-01 "CodeVein-Win64-Shipping.exe"+614BF7F: 48 89 DF - mov rdi,rbx } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>557</ID> <Description>"Forge"</Description> <LastState Value="9" RealAddress="4B1E3C14"/> <VariableType>4 Bytes</VariableType> <Address>WeaponScan</Address> <Offsets> <Offset>14</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> <CheatEntry> <ID>565</ID> <Description>"Highlighted Blood Veil Editor"</Description> <Options moHideChildren="1"/> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe Version: Date : 2019-09-27 Author : Zach This script does blah blah blah } [ENABLE] aobscanmodule(BV_Editor,CodeVein-Win64-Shipping.exe,0F 10 48 10 0F 11 4B 10 48 8B 9C 24 90 00 00 00 48 81 C4 80 00 00 00 5F C3 CC 4C 8B 04 24) // should be unique alloc(newmem,$1000,"CodeVein-Win64-Shipping.exe"+612BA37) globalalloc(BVEditor,4) label(code) label(return) newmem: mov [BVEditor],rax code: movups xmm1,[rax+10] movups [rbx+10],xmm1 jmp return BV_Editor: jmp newmem nop 3 return: registersymbol(BV_Editor) [DISABLE] BV_Editor: db 0F 10 48 10 0F 11 4B 10 48 8B 9C 24 90 00 00 00 48 81 C4 80 00 00 00 5F C3 CC 4C 8B 04 24 unregistersymbol(BV_Editor) dealloc(newmem) dealloc(BVEditor) { // ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+612BA37 "CodeVein-Win64-Shipping.exe"+612BA0E: 48 89 C2 - mov rdx,rax "CodeVein-Win64-Shipping.exe"+612BA11: 4C 8D 4C 24 30 - lea r9,[rsp+30] "CodeVein-Win64-Shipping.exe"+612BA16: 41 B8 2D 00 00 00 - mov r8d,0000002D "CodeVein-Win64-Shipping.exe"+612BA1C: 48 89 F9 - mov rcx,rdi "CodeVein-Win64-Shipping.exe"+612BA1F: E8 6C FF 81 FA - call CodeVein-Win64-Shipping.exe+94B990 "CodeVein-Win64-Shipping.exe"+612BA24: 48 8B 84 24 A8 00 00 00 - mov rax,[rsp+000000A8] "CodeVein-Win64-Shipping.exe"+612BA2C: 48 85 C0 - test rax,rax "CodeVein-Win64-Shipping.exe"+612BA2F: 74 0E - je CodeVein-Win64-Shipping.exe+612BA3F "CodeVein-Win64-Shipping.exe"+612BA31: 0F 10 00 - movups xmm0,[rax] "CodeVein-Win64-Shipping.exe"+612BA34: 0F 11 03 - movups [rbx],xmm0 // ---------- INJECTING HERE ---------- "CodeVein-Win64-Shipping.exe"+612BA37: 0F 10 48 10 - movups xmm1,[rax+10] "CodeVein-Win64-Shipping.exe"+612BA3B: 0F 11 4B 10 - movups [rbx+10],xmm1 // ---------- DONE INJECTING ---------- "CodeVein-Win64-Shipping.exe"+612BA3F: 48 8B 9C 24 90 00 00 00 - mov rbx,[rsp+00000090] "CodeVein-Win64-Shipping.exe"+612BA47: 48 81 C4 80 00 00 00 - add rsp,00000080 "CodeVein-Win64-Shipping.exe"+612BA4E: 5F - pop rdi "CodeVein-Win64-Shipping.exe"+612BA4F: C3 - ret "CodeVein-Win64-Shipping.exe"+612BA50: CC - int 3 "CodeVein-Win64-Shipping.exe"+612BA51: 4C 8B 04 24 - mov r8,[rsp] "CodeVein-Win64-Shipping.exe"+612BA55: 48 83 C4 08 - add rsp,08 "CodeVein-Win64-Shipping.exe"+612BA59: 48 8B 2C 24 - mov rbp,[rsp] "CodeVein-Win64-Shipping.exe"+612BA5D: 48 83 C4 08 - add rsp,08 "CodeVein-Win64-Shipping.exe"+612BA61: E9 E6 D6 33 01 - jmp CodeVein-Win64-Shipping.exe+746914C } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>561</ID> <Description>"Forge"</Description> <LastState Value="1" RealAddress="F1EC1764"/> <VariableType>4 Bytes</VariableType> <Address>BVEditor</Address> <Offsets> <Offset>14</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>569</ID> <Description>"Max Trading Items/Points"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : CodeVein-Win64-Shipping.exe Version: Date : 2019-09-27 Author : Zach This script does blah blah blah } [ENABLE] aobscanmodule(TradeI,CodeVein-Win64-Shipping.exe,0C 89 03 B0 01 48 83 C4 20) // should be unique alloc(newmem,$1000,"CodeVein-Win64-Shipping.exe"+5B80796) label(code) label(return) newmem: code: mov [rbx],#99 mov al,01 add rsp,20 jmp return TradeI+01: jmp newmem nop 3 return: registersymbol(TradeI) [DISABLE] TradeI+01: db 89 03 B0 01 48 83 C4 20 unregistersymbol(TradeI) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: "CodeVein-Win64-Shipping.exe"+5B80796 "CodeVein-Win64-Shipping.exe"+5B80772: 48 8D 1D EF 1B 5D 02 - lea rbx,[CodeVein-Win64-Shipping.exe+8152368] "CodeVein-Win64-Shipping.exe"+5B80779: FF E3 - jmp rbx "CodeVein-Win64-Shipping.exe"+5B8077B: 67 0F 1F 40 00 - nop [rax+00] "CodeVein-Win64-Shipping.exe"+5B80780: 40 53 - push rbx "CodeVein-Win64-Shipping.exe"+5B80782: 48 83 EC 20 - sub rsp,20 "CodeVein-Win64-Shipping.exe"+5B80786: 4C 89 C3 - mov rbx,r8 "CodeVein-Win64-Shipping.exe"+5B80789: E8 32 5A 86 FA - call CodeVein-Win64-Shipping.exe+3E61C0 "CodeVein-Win64-Shipping.exe"+5B8078E: 48 85 C0 - test rax,rax "CodeVein-Win64-Shipping.exe"+5B80791: 74 0D - je CodeVein-Win64-Shipping.exe+5B807A0 "CodeVein-Win64-Shipping.exe"+5B80793: 8B 40 0C - mov eax,[rax+0C] // ---------- INJECTING HERE ---------- "CodeVein-Win64-Shipping.exe"+5B80796: 89 03 - mov [rbx],eax "CodeVein-Win64-Shipping.exe"+5B80798: B0 01 - mov al,01 "CodeVein-Win64-Shipping.exe"+5B8079A: 48 83 C4 20 - add rsp,20 // ---------- DONE INJECTING ---------- "CodeVein-Win64-Shipping.exe"+5B8079E: 5B - pop rbx "CodeVein-Win64-Shipping.exe"+5B8079F: C3 - ret "CodeVein-Win64-Shipping.exe"+5B807A0: 48 83 C4 20 - add rsp,20 "CodeVein-Win64-Shipping.exe"+5B807A4: 5B - pop rbx "CodeVein-Win64-Shipping.exe"+5B807A5: C3 - ret "CodeVein-Win64-Shipping.exe"+5B807A6: CC - int 3 "CodeVein-Win64-Shipping.exe"+5B807A7: 5D - pop rbp "CodeVein-Win64-Shipping.exe"+5B807A8: D1 CD - ror ebp,1 "CodeVein-Win64-Shipping.exe"+5B807AA: 81 E5 FF FF FF 7F - and ebp,7FFFFFFF "CodeVein-Win64-Shipping.exe"+5B807B0: 41 81 C1 E7 16 F3 35 - add r9d,35F316E7 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
How to use this cheat table?
- Install Cheat Engine
- Double-click the .CT file in order to open it.
- Click the PC icon in Cheat Engine in order to select the game process.
- Keep the list.
- Activate the trainer options by checking boxes or setting values from 0 to 1