z Dragon Age The Veilguard

Upload your cheat tables here (No requests)
poptdp
Cheater
Cheater
Posts: 43
Joined: Sat May 11, 2019 2:23 am
Reputation: 5

Re: z Dragon Age The Veilguard

Post by poptdp »

Can anyone teach me how they figure out cheats?

I would like to find out myself how to do a walk-through-walls cheat as it doesn’t seem to be being made by anyone else :/

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

IlidanDA
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Nov 26, 2024 5:26 pm
Reputation: 0

Re: z Dragon Age The Veilguard

Post by IlidanDA »

Thank you for everything you do. You are amazing.

I have a request. Can someone make a code to unlock all the decorations in Lighthouse? Statues, room decorations etc.

Btw. I have a question about unlocking each armor.

Is it a bug that Davrin's two armors look the same?

User avatar
jonaaa
Expert Cheater
Expert Cheater
Posts: 694
Joined: Thu Apr 06, 2017 6:08 am
Reputation: 276

Re: z Dragon Age The Veilguard

Post by jonaaa »

IlidanDA wrote:
Tue Nov 26, 2024 5:29 pm
Thank you for everything you do. You are amazing.

I have a request. Can someone make a code to unlock all the decorations in Lighthouse? Statues, room decorations etc.

Btw. I have a question about unlocking each armor.

Is it a bug that Davrin's two armors look the same?
Search on Google: "Everything Unlocked - Gear Appearances Runes Decor Codex Mementos"

User avatar
ParadoxDad
Cheater
Cheater
Posts: 47
Joined: Tue Nov 12, 2024 12:09 am
Reputation: 33

Re: z Dragon Age The Veilguard

Post by ParadoxDad »

poptdp wrote:
Tue Nov 26, 2024 9:16 am
Can anyone teach me how they figure out cheats?

I would like to find out myself how to do a walk-through-walls cheat as it doesn’t seem to be being made by anyone else :/
Keep in mind that there are several things involved in modifying existing game code using Cheat Engine:
1) You should at least have a basic understanding of assembly programming
2) You have to reverse engineer what the current game is doing and how it is done
3) Learn how Cheat Engine works (Assembly, LUA, etc)
4) Patience/persistence while working all of this out.

I learned most of what I know so far about Cheat Engine based on reading existing cheats from other people here for games I don't even have.
This allowed me to see patterns of what appeared to be "standard" cheat code. What was nice about having the original source of what they injected into was when it failed, you could search for similar matches until one seemed right and worked.

I would suggest looking at existing CE tables for games you currently have and reviewing this site:
[Link]

Once you get better understanding, then you can dive into the tutorials they have in this site as well. The only reason I suggest reviewing existing tables for games you play is to get usage context, otherwise the tutorials may not make sense to you. At least it was that way for me.

poptdp
Cheater
Cheater
Posts: 43
Joined: Sat May 11, 2019 2:23 am
Reputation: 5

Re: z Dragon Age The Veilguard

Post by poptdp »

ParadoxDad wrote:
Tue Nov 26, 2024 6:41 pm
poptdp wrote:
Tue Nov 26, 2024 9:16 am
Can anyone teach me how they figure out cheats?

I would like to find out myself how to do a walk-through-walls cheat as it doesn’t seem to be being made by anyone else :/
Keep in mind that there are several things involved in modifying existing game code using Cheat Engine:
1) You should at least have a basic understanding of assembly programming
2) You have to reverse engineer what the current game is doing and how it is done
3) Learn how Cheat Engine works (Assembly, LUA, etc)
4) Patience/persistence while working all of this out.

I learned most of what I know so far about Cheat Engine based on reading existing cheats from other people here for games I don't even have.
This allowed me to see patterns of what appeared to be "standard" cheat code. What was nice about having the original source of what they injected into was when it failed, you could search for similar matches until one seemed right and worked.

I would suggest looking at existing CE tables for games you currently have and reviewing this site:
[Link]

Once you get better understanding, then you can dive into the tutorials they have in this site as well. The only reason I suggest reviewing existing tables for games you play is to get usage context, otherwise the tutorials may not make sense to you. At least it was that way for me.
Thank you! It seems so daunting haha. But hopefully the walk through walls thing is a simple one? I have no idea.

acecel
Expert Cheater
Expert Cheater
Posts: 1023
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 170

Re: z Dragon Age The Veilguard

Post by acecel »

poptdp wrote:
Tue Nov 26, 2024 11:20 pm
Thank you! It seems so daunting haha. But hopefully the walk through walls thing is a simple one? I have no idea.
The simplest way to start i think is to search for resources/currencies values.

For example you have 1345 gold, then you search for the value 1345 with the default settings (so as a 4 Bytes value) :
- If you can't find any values then maybe you need to change the value type to something else, i would advise to simply select "All" which mean it will search for values no matter what their type is. By doing that you will get tons of results which means you will have to do the loop above many times before having only a few results on screen.
- If you can find values then you may have found your target value's type, then you need to filter the values by changing the value in game, for gold you can either buy or sell gold (or kill mobs to get credits but it's less efficient this way).
So then you enter a loop of :
1) Do an action in the game that reduce the value of gold,
2) Pause the game
3) Enter the new value then click "Next Scan" (Don't click "New Scan" or you start over)
4) If you have still too many values then go back to 1)
5) If you have only a few values (like <5) then select all of them and right click then click "Add selected addresses to the address list"
6) Now you need to change the value of the first result you just added to the table
7) Go back to the game and see if the value you edited has changed the value on screen
8) If it doesn't then go back to 6 but select the next value this time
9) If the value on screen is now different then now you can either edit the value to 9999999999 and have infinite cash for the rest of your playthrough, or you can try to create scripts that allow you to buy items for free for example (in that case only buy items in step 1)
10) If you want the script "Buy items for free" then right click the address you think is the one that store the gold value then click F6 or "Find out what writes to this address". It will open a new window that will be waiting for value change
11) Do something like for 1) to change the value
12) Then look back at the window that appeared just before, it should have one or multiple lines in the list, every line is a link to some code that changed the gold value. Click one to open a new window called "Memory Reader" that will look very complicated to you, don't worry it's normal lol
13) A line will be selected in this window, click in the main menu "Tools" then "Auto Assemble" (the last one)
14) Another window will open that will kinda look like a text editor but will be empty. Click the main menu "Templates" then "AOB Injection"
15) Click "ok" then enter "aob_free_buy" then "ok" again
16) The empty text editor area will now have some code automatically created
17) Then click on the main menu "Files" then "Assign to current cheat table". This will create a new script entry called "Auto Assemble script" in your table with the pre-generated code. For now the code doesn't do anything.
18) Open the "Auto Assemble script" that has been created (double click on "<script>")
19) In the text below "code:" will have some code (/obvious lol), usually it will be something like : "mov XXX,YYY" or "add XXX,YYY" or "sub XXX,YYY"
20) click just before the first letter of the line below "code", for example before the "m" of "mov XXX,YYY" and add "//". This will make the line become a comment so not active anymore, then click "ok".
21) By just doing this, in many case, you can have disabled the code that reduce your gold after buying something in game.

This is a ridiculously simplified explication on how to do something like that, i probably missed many things, and most of all the code you will have at step 19 can be vastly different and not so easy to disable. You may also have few entries in step 12 which mean you will either have to create a few scripts to do the buy for free things as the game change the value in different location or either find the location that really have the "buy an item" code, etc ....

But it give you an idea of the process for something as simple as preventing the game from reducing your credits after buying an item.

Hope it helps at least one person :mrgreen:

acecel
Expert Cheater
Expert Cheater
Posts: 1023
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 170

Re: z Dragon Age The Veilguard

Post by acecel »

acecel wrote:
Wed Nov 27, 2024 5:24 am
poptdp wrote:
Tue Nov 26, 2024 11:20 pm
Thank you! It seems so daunting haha. But hopefully the walk through walls thing is a simple one? I have no idea.
The simplest way to start i think is to search for resources/currencies values.
....
Hope it helps at least one person :mrgreen:
For example i used this stupidly basic method to create this script that allow to unlock skills in the skill tree for free (your SP value is not reduced, you still need to have at least one SP for it to work though).

I prefer this kind of script instead of the usual Infinite SP that set the SP value to 999, as it allows to just unlock a few more SP when you want it and the rest of the time you keep following the normal progression of the game, same reason why i only use multipliers for xp currencies and resources, but that's just me :mrgreen:

The script also allow to edit your SP value, and this value is refreshed when you unlock a skill.


Unlock skills for free (and edit SP)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1337258673</ID>
      <Description>"Unlock Character Skills for Free (and edit SP)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-11-28
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aob_free_sp,Dragon Age The Veilguard.exe,44 29 81 C8 01 00 00) // should be unique
alloc(newmem,$1000,aob_free_sp)

alloc(pChar_SP,$8)
registersymbol(pChar_SP)

pChar_SP:
dq 0

label(code)
label(return)

newmem:
   push rbx
     lea rbx,[rcx+000001C8]
     mov [pChar_SP],rbx
   pop rbx

code:
  //sub [rcx+000001C8],r8d
  jmp return

aob_free_sp:
  jmp newmem
  nop 2

return:
registersymbol(aob_free_sp)



aobscanmodule(aob_free_sp2,Dragon Age The Veilguard.exe,44 01 B6 C8 01 00 00) // should be unique
alloc(newmem2,$1000,aob_free_sp2)

label(code2)
label(return2)

newmem2:
   push rbx
     lea rbx,[rsi+000001C8]
     mov [pChar_SP],rbx
   pop rbx

code2:
  //add [rsi+000001C8],r14d
  jmp return2

aob_free_sp2:
  jmp newmem2
  nop 2
return2:
registersymbol(aob_free_sp2)




[DISABLE]

aob_free_sp:
  db 44 29 81 C8 01 00 00

unregistersymbol(pChar_SP)
unregistersymbol(aob_free_sp)
dealloc(pChar_SP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D28048

Dragon Age The Veilguard.exe+D28023: 57                       - push rdi
Dragon Age The Veilguard.exe+D28024: 48 83 EC 40              - sub rsp,40
Dragon Age The Veilguard.exe+D28028: 0F B6 74 24 78           - movzx esi,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D2802D: 41 0F B6 E9              - movzx ebp,r9b
Dragon Age The Veilguard.exe+D28031: 8B DA                    - mov ebx,edx
Dragon Age The Veilguard.exe+D28033: 48 8B F9                 - mov rdi,rcx
Dragon Age The Veilguard.exe+D28036: 40 84 F6                 - test sil,sil
Dragon Age The Veilguard.exe+D28039: 75 46                    - jne "Dragon Age The Veilguard.exe"+D28081
Dragon Age The Veilguard.exe+D2803B: 44 39 81 C8 01 00 00     - cmp [rcx+000001C8],r8d
Dragon Age The Veilguard.exe+D28042: 0F 82 05 01 00 00        - jb "Dragon Age The Veilguard.exe"+D2814D
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D28048: 44 29 81 C8 01 00 00     - sub [rcx+000001C8],r8d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D2804F: 48 83 B9 78 02 00 00 00  - cmp qword ptr [rcx+00000278],00
Dragon Age The Veilguard.exe+D28057: 74 20                    - je "Dragon Age The Veilguard.exe"+D28079
Dragon Age The Veilguard.exe+D28059: 48 8B 89 78 02 00 00     - mov rcx,[rcx+00000278]
Dragon Age The Veilguard.exe+D28060: 48 83 C1 40              - add rcx,40
Dragon Age The Veilguard.exe+D28064: 48 8B 01                 - mov rax,[rcx]
Dragon Age The Veilguard.exe+D28067: FF 50 10                 - call qword ptr [rax+10]
Dragon Age The Veilguard.exe+D2806A: 8B 97 C8 01 00 00        - mov edx,[rdi+000001C8]
Dragon Age The Veilguard.exe+D28070: 48 8D 48 78              - lea rcx,[rax+78]
Dragon Age The Veilguard.exe+D28074: E8 F7 20 FF FF           - call "Dragon Age The Veilguard.exe"+D1A170
Dragon Age The Veilguard.exe+D28079: 48 8B CF                 - mov rcx,rdi
}




aob_free_sp2:
  db 44 01 B6 C8 01 00 00

unregistersymbol(aob_free_sp2)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D2860C

Dragon Age The Veilguard.exe+D285E9: 33 ED                    - xor ebp,ebp
Dragon Age The Veilguard.exe+D285EB: 4C 8B 64 24 60           - mov r12,[rsp+60]
Dragon Age The Veilguard.exe+D285F0: 48 8B 5C 24 50           - mov rbx,[rsp+50]
Dragon Age The Veilguard.exe+D285F5: 48 85 ED                 - test rbp,rbp
Dragon Age The Veilguard.exe+D285F8: 74 04                    - je "Dragon Age The Veilguard.exe"+D285FE
Dragon Age The Veilguard.exe+D285FA: 44 8B 75 7C              - mov r14d,[rbp+7C]
Dragon Age The Veilguard.exe+D285FE: 48 8B 06                 - mov rax,[rsi]
Dragon Age The Veilguard.exe+D28601: 8B D7                    - mov edx,edi
Dragon Age The Veilguard.exe+D28603: 44 0F B6 44 24 78        - movzx r8d,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D28609: 48 8B CE                 - mov rcx,rsi
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D2860C: 44 01 B6 C8 01 00 00     - add [rsi+000001C8],r14d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D28613: FF 50 48                 - call qword ptr [rax+48]
Dragon Age The Veilguard.exe+D28616: 4C 8B 74 24 68           - mov r14,[rsp+68]
Dragon Age The Veilguard.exe+D2861B: 48 8B 6C 24 58           - mov rbp,[rsp+58]
Dragon Age The Veilguard.exe+D28620: 84 C0                    - test al,al
Dragon Age The Veilguard.exe+D28622: 74 39                    - je "Dragon Age The Veilguard.exe"+D2865D
Dragon Age The Veilguard.exe+D28624: 48 83 BE 78 02 00 00 00  - cmp qword ptr [rsi+00000278],00
Dragon Age The Veilguard.exe+D2862C: 74 2F                    - je "Dragon Age The Veilguard.exe"+D2865D
Dragon Age The Veilguard.exe+D2862E: 45 84 FF                 - test r15b,r15b
Dragon Age The Veilguard.exe+D28631: 74 1F                    - je "Dragon Age The Veilguard.exe"+D28652
Dragon Age The Veilguard.exe+D28633: 4C 8B 86 78 02 00 00     - mov r8,[rsi+00000278]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1337258674</ID>
          <Description>"Skill Points"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pSP</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>





Unlock companions skills for free (and edit Companion SP)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1337258675</ID>
      <Description>"Unlock Companion Skills for Free (and edit SP)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-11-30
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

alloc(pComp_SP,$8)
registersymbol(pComp_SP)

pComp_SP:
dq 0


aobscanmodule(aob_free_comp_sp,Dragon Age The Veilguard.exe,41 2B D0 89 91 C8 01 00 00) // should be unique
alloc(newmem,$1000,aob_free_comp_sp)

label(code)
label(return)

newmem:
   push rbx
     lea rbx,[rcx+000001C8]
     mov [pComp_SP],rbx
   pop rbx

code:
  //sub edx,r8d
  mov [rcx+000001C8],edx
  jmp return

aob_free_comp_sp:
  jmp newmem
  nop 4

return:
registersymbol(aob_free_comp_sp)



aobscanmodule(aob_free_comp_sp2,Dragon Age The Veilguard.exe,45 01 BE C8 01 00 00 FF) // should be unique
alloc(newmem2,$1000,aob_free_comp_sp2)

label(code2)
label(return2)

newmem2:
   push r13
     lea r13,[r14+000001C8]
     mov [pComp_SP],r13
   pop r13

code2:
 // add [r14+000001C8],r15d
  jmp return2

aob_free_comp_sp2:
  jmp newmem2
  nop 2

return2:
registersymbol(aob_free_comp_sp2)



[DISABLE]

aob_free_comp_sp:
  db 41 2B D0 89 91 C8 01 00 00

unregistersymbol(pComp_SP)
unregistersymbol(aob_free_comp_sp)
dealloc(pComp_SP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D27EA4

Dragon Age The Veilguard.exe+D27E77: 8B FA                 - mov edi,edx
Dragon Age The Veilguard.exe+D27E79: 48 8B D9              - mov rbx,rcx
Dragon Age The Veilguard.exe+D27E7C: 44 39 81 C8 01 00 00  - cmp [rcx+000001C8],r8d
Dragon Age The Veilguard.exe+D27E83: 0F 82 6D 01 00 00     - jb "Dragon Age The Veilguard.exe"+D27FF6
Dragon Age The Veilguard.exe+D27E89: 45 85 C0              - test r8d,r8d
Dragon Age The Veilguard.exe+D27E8C: 74 28                 - je "Dragon Age The Veilguard.exe"+D27EB6
Dragon Age The Veilguard.exe+D27E8E: 44 3B 81 C8 01 00 00  - cmp r8d,[rcx+000001C8]
Dragon Age The Veilguard.exe+D27E95: 0F 87 5B 01 00 00     - ja "Dragon Age The Veilguard.exe"+D27FF6
Dragon Age The Veilguard.exe+D27E9B: 8B 91 C8 01 00 00     - mov edx,[rcx+000001C8]
Dragon Age The Veilguard.exe+D27EA1: 41 2B D0              - sub edx,r8d
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D27EA4: 89 91 C8 01 00 00     - mov [rcx+000001C8],edx
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D27EAA: 48 8B 89 E8 01 00 00  - mov rcx,[rcx+000001E8]
Dragon Age The Veilguard.exe+D27EB1: E8 BA 22 FF FF        - call "Dragon Age The Veilguard.exe"+D1A170
Dragon Age The Veilguard.exe+D27EB6: 48 8B 03              - mov rax,[rbx]
Dragon Age The Veilguard.exe+D27EB9: 44 0F B6 C6           - movzx r8d,sil
Dragon Age The Veilguard.exe+D27EBD: 44 0F B6 4C 24 70     - movzx r9d,byte ptr [rsp+70]
Dragon Age The Veilguard.exe+D27EC3: 8B D7                 - mov edx,edi
Dragon Age The Veilguard.exe+D27EC5: 48 8B CB              - mov rcx,rbx
Dragon Age The Veilguard.exe+D27EC8: 4C 8B 90 C8 00 00 00  - mov r10,[rax+000000C8]
Dragon Age The Veilguard.exe+D27ECF: 0F B6 44 24 78        - movzx eax,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D27ED4: 88 44 24 28           - mov [rsp+28],al
}




aob_free_comp_sp2:
  db 45 01 BE C8 01 00 00 FF

unregistersymbol(aob_free_comp_sp2)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D284BB

Dragon Age The Veilguard.exe+D28498: 33 F6                    - xor esi,esi
Dragon Age The Veilguard.exe+D2849A: 4C 8B 64 24 60           - mov r12,[rsp+60]
Dragon Age The Veilguard.exe+D2849F: 48 8B 5C 24 50           - mov rbx,[rsp+50]
Dragon Age The Veilguard.exe+D284A4: 48 85 F6                 - test rsi,rsi
Dragon Age The Veilguard.exe+D284A7: 74 04                    - je "Dragon Age The Veilguard.exe"+D284AD
Dragon Age The Veilguard.exe+D284A9: 44 8B 7E 7C              - mov r15d,[rsi+7C]
Dragon Age The Veilguard.exe+D284AD: 49 8B 06                 - mov rax,[r14]
Dragon Age The Veilguard.exe+D284B0: 8B D7                    - mov edx,edi
Dragon Age The Veilguard.exe+D284B2: 44 0F B6 44 24 78        - movzx r8d,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D284B8: 49 8B CE                 - mov rcx,r14
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D284BB: 45 01 BE C8 01 00 00     - add [r14+000001C8],r15d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D284C2: FF 50 48                 - call qword ptr [rax+48]
Dragon Age The Veilguard.exe+D284C5: 4C 8B 7C 24 68           - mov r15,[rsp+68]
Dragon Age The Veilguard.exe+D284CA: 48 8B 74 24 58           - mov rsi,[rsp+58]
Dragon Age The Veilguard.exe+D284CF: 84 C0                    - test al,al
Dragon Age The Veilguard.exe+D284D1: 74 2A                    - je "Dragon Age The Veilguard.exe"+D284FD
Dragon Age The Veilguard.exe+D284D3: 40 84 ED                 - test bpl,bpl
Dragon Age The Veilguard.exe+D284D6: 74 25                    - je "Dragon Age The Veilguard.exe"+D284FD
Dragon Age The Veilguard.exe+D284D8: 45 33 C0                 - xor r8d,r8d
Dragon Age The Veilguard.exe+D284DB: C7 44 24 20 00 00 00 00  - mov [rsp+20],00000000
Dragon Age The Veilguard.exe+D284E3: 44 8B CF                 - mov r9d,edi
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1337258676</ID>
          <Description>"Skill Points"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pSP</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>



Edit : Updated the first script (so that the pointer is updated when you refund a skill and the value doesnt change when it happen)
I also added the same script but for companions skill points, this one is still a work in progress though as i have only tested it on one companion so far.
Last edited by acecel on Sat Nov 30, 2024 3:38 am, edited 2 times in total.

poptdp
Cheater
Cheater
Posts: 43
Joined: Sat May 11, 2019 2:23 am
Reputation: 5

Re: z Dragon Age The Veilguard

Post by poptdp »

I’ve tried finding values of currency etc before. That part is easy.

But for walk through walls cheats?? I would have no idea where to start for something like that

User avatar
jonaaa
Expert Cheater
Expert Cheater
Posts: 694
Joined: Thu Apr 06, 2017 6:08 am
Reputation: 276

Re: z Dragon Age The Veilguard

Post by jonaaa »

poptdp wrote:
Thu Nov 28, 2024 11:35 am
I’ve tried finding values of currency etc before. That part is easy.

But for walk through walls cheats?? I would have no idea where to start for something like that
First start studying the Frostbite engine if you want to do something like this, don't want to be rude but the previous tutorial about making basic cheats, at least for what you're trying to do, are completely useless.

What you want is a complete different level. That's why I told you and I will tell you again, if not even the most talented Table Makers did something yet, then two things:

1- It's a complicated task.
2- Not worth the time and people aren't interested.

In my opinion, it's a mix of both.

AeroShok999
Expert Cheater
Expert Cheater
Posts: 125
Joined: Mon Feb 08, 2021 12:54 pm
Reputation: 14

Re: z Dragon Age The Veilguard

Post by AeroShok999 »

jonaaa wrote:
Thu Nov 28, 2024 11:59 am
poptdp wrote:
Thu Nov 28, 2024 11:35 am
I’ve tried finding values of currency etc before. That part is easy.

But for walk through walls cheats?? I would have no idea where to start for something like that
First start studying the Frostbite engine if you want to do something like this, don't want to be rude but the previous tutorial about making basic cheats, at least for what you're trying to do, are completely useless.

What you want is a complete different level. That's why I told you and I will tell you again, if not even the most talented Table Makers did something yet, then two things:

1- It's a complicated task.
2- Not worth the time and people aren't interested.

In my opinion, it's a mix of both.
Ok but why not do you try it for him? I bet you make him very happy if you did!

zachillios
Table Makers
Table Makers
Posts: 933
Joined: Fri Mar 03, 2017 9:05 am
Reputation: 824

Re: z Dragon Age The Veilguard

Post by zachillios »

AeroShok999 wrote:
Fri Nov 29, 2024 4:30 pm
jonaaa wrote:
Thu Nov 28, 2024 11:59 am
poptdp wrote:
Thu Nov 28, 2024 11:35 am
I’ve tried finding values of currency etc before. That part is easy.

But for walk through walls cheats?? I would have no idea where to start for something like that
First start studying the Frostbite engine if you want to do something like this, don't want to be rude but the previous tutorial about making basic cheats, at least for what you're trying to do, are completely useless.

What you want is a complete different level. That's why I told you and I will tell you again, if not even the most talented Table Makers did something yet, then two things:

1- It's a complicated task.
2- Not worth the time and people aren't interested.

In my opinion, it's a mix of both.
Ok but why not do you try it for him? I bet you make him very happy if you did!
Don't pressure script makers into doing anything frankly. Since you're so enthusiastic about it, why don't you look into it and make the script yourself?

I don't think a majority of people (especially the ones who spam post on here) understand the work/research that goes into half of the stuff that they're begging for. "Add any item, no clip, set specific plot flags, add party member, etc." These types of scripts aren't easy, and take a significant amount of effort and time to do, if they're even possible in the first place. Not to mention this is expected to be done fast, and for free. If you guys really want these complicated things done, contribute research, donate to the talented script creators, etc. Because at the end of the day, you get what you pay for, so if you pay nothing, that's what is deserved.

AeroShok999
Expert Cheater
Expert Cheater
Posts: 125
Joined: Mon Feb 08, 2021 12:54 pm
Reputation: 14

Re: z Dragon Age The Veilguard

Post by AeroShok999 »

zachillios wrote:
Fri Nov 29, 2024 5:08 pm
AeroShok999 wrote:
Fri Nov 29, 2024 4:30 pm
jonaaa wrote:
Thu Nov 28, 2024 11:59 am


First start studying the Frostbite engine if you want to do something like this, don't want to be rude but the previous tutorial about making basic cheats, at least for what you're trying to do, are completely useless.

What you want is a complete different level. That's why I told you and I will tell you again, if not even the most talented Table Makers did something yet, then two things:

1- It's a complicated task.
2- Not worth the time and people aren't interested.

In my opinion, it's a mix of both.
Ok but why not do you try it for him? I bet you make him very happy if you did!
Don't pressure script makers into doing anything frankly. Since you're so enthusiastic about it, why don't you look into it and make the script yourself?

I don't think a majority of people (especially the ones who spam post on here) understand the work/research that goes into half of the stuff that they're begging for. "Add any item, no clip, set specific plot flags, add party member, etc." These types of scripts aren't easy, and take a significant amount of effort and time to do, if they're even possible in the first place. Not to mention this is expected to be done fast, and for free. If you guys really want these complicated things done, contribute research, donate to the talented script creators, etc. Because at the end of the day, you get what you pay for, so if you pay nothing, that's what is deserved.
That right there is some Sage wisdom!

acecel
Expert Cheater
Expert Cheater
Posts: 1023
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 170

Re: z Dragon Age The Veilguard

Post by acecel »

zachillios wrote:
Fri Nov 29, 2024 5:08 pm
AeroShok999 wrote:
Fri Nov 29, 2024 4:30 pm
jonaaa wrote:
Thu Nov 28, 2024 11:59 am


First start studying the Frostbite engine if you want to do something like this, don't want to be rude but the previous tutorial about making basic cheats, at least for what you're trying to do, are completely useless.

What you want is a complete different level. That's why I told you and I will tell you again, if not even the most talented Table Makers did something yet, then two things:

1- It's a complicated task.
2- Not worth the time and people aren't interested.

In my opinion, it's a mix of both.
Ok but why not do you try it for him? I bet you make him very happy if you did!
Don't pressure script makers into doing anything frankly. Since you're so enthusiastic about it, why don't you look into it and make the script yourself?

I don't think a majority of people (especially the ones who spam post on here) understand the work/research that goes into half of the stuff that they're begging for. "Add any item, no clip, set specific plot flags, add party member, etc." These types of scripts aren't easy, and take a significant amount of effort and time to do, if they're even possible in the first place. Not to mention this is expected to be done fast, and for free. If you guys really want these complicated things done, contribute research, donate to the talented script creators, etc. Because at the end of the day, you get what you pay for, so if you pay nothing, that's what is deserved.
+1000

People have no idea the amount of work needed to create some scripts, like tens of hours just for one specific script.
Yes, some features can be easy/fast to implement, like the ones i do, but others can require an insane amount of work, and not easy nor funny work, the kind of very boring work that still require your full attention because one fucking mistake may throw yours hours of work in the bin.

I admit i often encourage table makers to add a script to their table, but i know that if they haven't done it already it's probably because it's hard and/or take a long time and they will probably not be able to fulfill my needs but i am absolutely fine with that.
I don't expect them to do it, but if they do then it's a just a cool bonus. ;)

You should always see it that way when you "ask" a table makers to add a script, and please don't directly ask except if you are willing to pay for it (and even in that case stay polite and comprehensive), just say something like "it would be cool to have this" to give an idea of what people would like to have, but it's 100% the decision of the table maker if he wants to do it (for free) and of course don't complain if he doesn't. :mrgreen:

Creating table is hard work, and often very boring and tedious work, while requiring full attention as any mistake could force you to start over, so always keep that in mind when encouraging for something to be added. :)

acecel
Expert Cheater
Expert Cheater
Posts: 1023
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 170

Re: z Dragon Age The Veilguard

Post by acecel »

acecel wrote:
Thu Nov 28, 2024 1:11 am

...
Unlock skills for free (and edit SP)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1337258673</ID>
      <Description>"Unlock Character Skills for Free (and edit SP)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-11-28
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aob_free_sp,Dragon Age The Veilguard.exe,44 29 81 C8 01 00 00) // should be unique
alloc(newmem,$1000,aob_free_sp)

alloc(pChar_SP,$8)
registersymbol(pChar_SP)

pChar_SP:
dq 0

label(code)
label(return)

newmem:
   push rbx
     lea rbx,[rcx+000001C8]
     mov [pChar_SP],rbx
   pop rbx

code:
  //sub [rcx+000001C8],r8d
  jmp return

aob_free_sp:
  jmp newmem
  nop 2

return:
registersymbol(aob_free_sp)



aobscanmodule(aob_free_sp2,Dragon Age The Veilguard.exe,44 01 B6 C8 01 00 00) // should be unique
alloc(newmem2,$1000,aob_free_sp2)

label(code2)
label(return2)

newmem2:
   push rbx
     lea rbx,[rsi+000001C8]
     mov [pChar_SP],rbx
   pop rbx

code2:
  //add [rsi+000001C8],r14d
  jmp return2

aob_free_sp2:
  jmp newmem2
  nop 2
return2:
registersymbol(aob_free_sp2)




[DISABLE]

aob_free_sp:
  db 44 29 81 C8 01 00 00

unregistersymbol(pChar_SP)
unregistersymbol(aob_free_sp)
dealloc(pChar_SP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D28048

Dragon Age The Veilguard.exe+D28023: 57                       - push rdi
Dragon Age The Veilguard.exe+D28024: 48 83 EC 40              - sub rsp,40
Dragon Age The Veilguard.exe+D28028: 0F B6 74 24 78           - movzx esi,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D2802D: 41 0F B6 E9              - movzx ebp,r9b
Dragon Age The Veilguard.exe+D28031: 8B DA                    - mov ebx,edx
Dragon Age The Veilguard.exe+D28033: 48 8B F9                 - mov rdi,rcx
Dragon Age The Veilguard.exe+D28036: 40 84 F6                 - test sil,sil
Dragon Age The Veilguard.exe+D28039: 75 46                    - jne "Dragon Age The Veilguard.exe"+D28081
Dragon Age The Veilguard.exe+D2803B: 44 39 81 C8 01 00 00     - cmp [rcx+000001C8],r8d
Dragon Age The Veilguard.exe+D28042: 0F 82 05 01 00 00        - jb "Dragon Age The Veilguard.exe"+D2814D
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D28048: 44 29 81 C8 01 00 00     - sub [rcx+000001C8],r8d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D2804F: 48 83 B9 78 02 00 00 00  - cmp qword ptr [rcx+00000278],00
Dragon Age The Veilguard.exe+D28057: 74 20                    - je "Dragon Age The Veilguard.exe"+D28079
Dragon Age The Veilguard.exe+D28059: 48 8B 89 78 02 00 00     - mov rcx,[rcx+00000278]
Dragon Age The Veilguard.exe+D28060: 48 83 C1 40              - add rcx,40
Dragon Age The Veilguard.exe+D28064: 48 8B 01                 - mov rax,[rcx]
Dragon Age The Veilguard.exe+D28067: FF 50 10                 - call qword ptr [rax+10]
Dragon Age The Veilguard.exe+D2806A: 8B 97 C8 01 00 00        - mov edx,[rdi+000001C8]
Dragon Age The Veilguard.exe+D28070: 48 8D 48 78              - lea rcx,[rax+78]
Dragon Age The Veilguard.exe+D28074: E8 F7 20 FF FF           - call "Dragon Age The Veilguard.exe"+D1A170
Dragon Age The Veilguard.exe+D28079: 48 8B CF                 - mov rcx,rdi
}




aob_free_sp2:
  db 44 01 B6 C8 01 00 00

unregistersymbol(aob_free_sp2)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D2860C

Dragon Age The Veilguard.exe+D285E9: 33 ED                    - xor ebp,ebp
Dragon Age The Veilguard.exe+D285EB: 4C 8B 64 24 60           - mov r12,[rsp+60]
Dragon Age The Veilguard.exe+D285F0: 48 8B 5C 24 50           - mov rbx,[rsp+50]
Dragon Age The Veilguard.exe+D285F5: 48 85 ED                 - test rbp,rbp
Dragon Age The Veilguard.exe+D285F8: 74 04                    - je "Dragon Age The Veilguard.exe"+D285FE
Dragon Age The Veilguard.exe+D285FA: 44 8B 75 7C              - mov r14d,[rbp+7C]
Dragon Age The Veilguard.exe+D285FE: 48 8B 06                 - mov rax,[rsi]
Dragon Age The Veilguard.exe+D28601: 8B D7                    - mov edx,edi
Dragon Age The Veilguard.exe+D28603: 44 0F B6 44 24 78        - movzx r8d,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D28609: 48 8B CE                 - mov rcx,rsi
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D2860C: 44 01 B6 C8 01 00 00     - add [rsi+000001C8],r14d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D28613: FF 50 48                 - call qword ptr [rax+48]
Dragon Age The Veilguard.exe+D28616: 4C 8B 74 24 68           - mov r14,[rsp+68]
Dragon Age The Veilguard.exe+D2861B: 48 8B 6C 24 58           - mov rbp,[rsp+58]
Dragon Age The Veilguard.exe+D28620: 84 C0                    - test al,al
Dragon Age The Veilguard.exe+D28622: 74 39                    - je "Dragon Age The Veilguard.exe"+D2865D
Dragon Age The Veilguard.exe+D28624: 48 83 BE 78 02 00 00 00  - cmp qword ptr [rsi+00000278],00
Dragon Age The Veilguard.exe+D2862C: 74 2F                    - je "Dragon Age The Veilguard.exe"+D2865D
Dragon Age The Veilguard.exe+D2862E: 45 84 FF                 - test r15b,r15b
Dragon Age The Veilguard.exe+D28631: 74 1F                    - je "Dragon Age The Veilguard.exe"+D28652
Dragon Age The Veilguard.exe+D28633: 4C 8B 86 78 02 00 00     - mov r8,[rsi+00000278]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1337258674</ID>
          <Description>"Skill Points"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pSP</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>





Unlock companions skills for free (and edit Companion SP)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1337258675</ID>
      <Description>"Unlock Companion Skills for Free (and edit SP)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-11-30
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

alloc(pComp_SP,$8)
registersymbol(pComp_SP)

pComp_SP:
dq 0


aobscanmodule(aob_free_comp_sp,Dragon Age The Veilguard.exe,41 2B D0 89 91 C8 01 00 00) // should be unique
alloc(newmem,$1000,aob_free_comp_sp)

label(code)
label(return)

newmem:
   push rbx
     lea rbx,[rcx+000001C8]
     mov [pComp_SP],rbx
   pop rbx

code:
  //sub edx,r8d
  mov [rcx+000001C8],edx
  jmp return

aob_free_comp_sp:
  jmp newmem
  nop 4

return:
registersymbol(aob_free_comp_sp)



aobscanmodule(aob_free_comp_sp2,Dragon Age The Veilguard.exe,45 01 BE C8 01 00 00 FF) // should be unique
alloc(newmem2,$1000,aob_free_comp_sp2)

label(code2)
label(return2)

newmem2:
   push r13
     lea r13,[r14+000001C8]
     mov [pComp_SP],r13
   pop r13

code2:
 // add [r14+000001C8],r15d
  jmp return2

aob_free_comp_sp2:
  jmp newmem2
  nop 2

return2:
registersymbol(aob_free_comp_sp2)



[DISABLE]

aob_free_comp_sp:
  db 41 2B D0 89 91 C8 01 00 00

unregistersymbol(pComp_SP)
unregistersymbol(aob_free_comp_sp)
dealloc(pComp_SP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D27EA4

Dragon Age The Veilguard.exe+D27E77: 8B FA                 - mov edi,edx
Dragon Age The Veilguard.exe+D27E79: 48 8B D9              - mov rbx,rcx
Dragon Age The Veilguard.exe+D27E7C: 44 39 81 C8 01 00 00  - cmp [rcx+000001C8],r8d
Dragon Age The Veilguard.exe+D27E83: 0F 82 6D 01 00 00     - jb "Dragon Age The Veilguard.exe"+D27FF6
Dragon Age The Veilguard.exe+D27E89: 45 85 C0              - test r8d,r8d
Dragon Age The Veilguard.exe+D27E8C: 74 28                 - je "Dragon Age The Veilguard.exe"+D27EB6
Dragon Age The Veilguard.exe+D27E8E: 44 3B 81 C8 01 00 00  - cmp r8d,[rcx+000001C8]
Dragon Age The Veilguard.exe+D27E95: 0F 87 5B 01 00 00     - ja "Dragon Age The Veilguard.exe"+D27FF6
Dragon Age The Veilguard.exe+D27E9B: 8B 91 C8 01 00 00     - mov edx,[rcx+000001C8]
Dragon Age The Veilguard.exe+D27EA1: 41 2B D0              - sub edx,r8d
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D27EA4: 89 91 C8 01 00 00     - mov [rcx+000001C8],edx
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D27EAA: 48 8B 89 E8 01 00 00  - mov rcx,[rcx+000001E8]
Dragon Age The Veilguard.exe+D27EB1: E8 BA 22 FF FF        - call "Dragon Age The Veilguard.exe"+D1A170
Dragon Age The Veilguard.exe+D27EB6: 48 8B 03              - mov rax,[rbx]
Dragon Age The Veilguard.exe+D27EB9: 44 0F B6 C6           - movzx r8d,sil
Dragon Age The Veilguard.exe+D27EBD: 44 0F B6 4C 24 70     - movzx r9d,byte ptr [rsp+70]
Dragon Age The Veilguard.exe+D27EC3: 8B D7                 - mov edx,edi
Dragon Age The Veilguard.exe+D27EC5: 48 8B CB              - mov rcx,rbx
Dragon Age The Veilguard.exe+D27EC8: 4C 8B 90 C8 00 00 00  - mov r10,[rax+000000C8]
Dragon Age The Veilguard.exe+D27ECF: 0F B6 44 24 78        - movzx eax,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D27ED4: 88 44 24 28           - mov [rsp+28],al
}




aob_free_comp_sp2:
  db 45 01 BE C8 01 00 00 FF

unregistersymbol(aob_free_comp_sp2)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+D284BB

Dragon Age The Veilguard.exe+D28498: 33 F6                    - xor esi,esi
Dragon Age The Veilguard.exe+D2849A: 4C 8B 64 24 60           - mov r12,[rsp+60]
Dragon Age The Veilguard.exe+D2849F: 48 8B 5C 24 50           - mov rbx,[rsp+50]
Dragon Age The Veilguard.exe+D284A4: 48 85 F6                 - test rsi,rsi
Dragon Age The Veilguard.exe+D284A7: 74 04                    - je "Dragon Age The Veilguard.exe"+D284AD
Dragon Age The Veilguard.exe+D284A9: 44 8B 7E 7C              - mov r15d,[rsi+7C]
Dragon Age The Veilguard.exe+D284AD: 49 8B 06                 - mov rax,[r14]
Dragon Age The Veilguard.exe+D284B0: 8B D7                    - mov edx,edi
Dragon Age The Veilguard.exe+D284B2: 44 0F B6 44 24 78        - movzx r8d,byte ptr [rsp+78]
Dragon Age The Veilguard.exe+D284B8: 49 8B CE                 - mov rcx,r14
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+D284BB: 45 01 BE C8 01 00 00     - add [r14+000001C8],r15d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+D284C2: FF 50 48                 - call qword ptr [rax+48]
Dragon Age The Veilguard.exe+D284C5: 4C 8B 7C 24 68           - mov r15,[rsp+68]
Dragon Age The Veilguard.exe+D284CA: 48 8B 74 24 58           - mov rsi,[rsp+58]
Dragon Age The Veilguard.exe+D284CF: 84 C0                    - test al,al
Dragon Age The Veilguard.exe+D284D1: 74 2A                    - je "Dragon Age The Veilguard.exe"+D284FD
Dragon Age The Veilguard.exe+D284D3: 40 84 ED                 - test bpl,bpl
Dragon Age The Veilguard.exe+D284D6: 74 25                    - je "Dragon Age The Veilguard.exe"+D284FD
Dragon Age The Veilguard.exe+D284D8: 45 33 C0                 - xor r8d,r8d
Dragon Age The Veilguard.exe+D284DB: C7 44 24 20 00 00 00 00  - mov [rsp+20],00000000
Dragon Age The Veilguard.exe+D284E3: 44 8B CF                 - mov r9d,edi
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1337258676</ID>
          <Description>"Skill Points"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pSP</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


I updated the first script (so that the pointer is updated when you refund a skill and the value doesnt change when it happen)
I also added the same script but for companions skill points, this one is still a work in progress though as i have only tested it on one companion so far.


Edit :

Another script that allow to upgrade items at workshop for free, you still need to have the resources but they are not going to be used.


Free Workshop Upgrade

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1337258678</ID>
      <Description>"Free Workshop Upgrade"</Description>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Dragon Age The Veilguard.exe
  Version: 
  Date   : 2024-12-01
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(aob_free_upgrade,Dragon Age The Veilguard.exe,89 69 04 3B EE) // should be unique
alloc(newmem,$1000,aob_free_upgrade)

label(code)
label(return)

newmem:
  cmp [rcx+04],ebp
  jg code
  mov [rcx+04],ebp

code:
  cmp ebp,esi
  jmp return

aob_free_upgrade:
  jmp newmem
return:
registersymbol(aob_free_upgrade)




aobscanmodule(aob_free_upgrade2,Dragon Age The Veilguard.exe,89 48 FC 48 8D 40 08 4D) // should be unique
alloc(newmem2,$1000,aob_free_upgrade2)

label(code2)
label(return2)

newmem2:
  cmp [rax-04],ecx
  jg code2
  mov [rax-04],ecx

code2:
  lea rax,[rax+08]
  jmp return2

aob_free_upgrade2:
  jmp newmem2
  nop 2

return2:
registersymbol(aob_free_upgrade2)








aobscanmodule(aob_free_upgrade3,Dragon Age The Veilguard.exe,44 89 7A 04 45 3B FC) // should be unique
alloc(newmem3,$1000,aob_free_upgrade3)

label(code3)
label(return3)

newmem3:
  cmp [rdx+04],r15d
  jg code3
  mov [rdx+04],r15d

code3:
  cmp r15d,r12d
  jmp return3

aob_free_upgrade3:
  jmp newmem3
  nop 2

return3:
registersymbol(aob_free_upgrade3)







[DISABLE]

aob_free_upgrade:
  db 89 69 04 3B EE

unregistersymbol(aob_free_upgrade)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+13FC249

Dragon Age The Veilguard.exe+13FC229: 7F D5                    - jg "Dragon Age The Veilguard.exe"+13FC200
Dragon Age The Veilguard.exe+13FC22B: 48 3B 4F 68              - cmp rcx,[rdi+68]
Dragon Age The Veilguard.exe+13FC22F: 74 04                    - je "Dragon Age The Veilguard.exe"+13FC235
Dragon Age The Veilguard.exe+13FC231: 3B 19                    - cmp ebx,[rcx]
Dragon Age The Veilguard.exe+13FC233: 7D 14                    - jnl "Dragon Age The Veilguard.exe"+13FC249
Dragon Age The Veilguard.exe+13FC235: 48 8B D1                 - mov rdx,rcx
Dragon Age The Veilguard.exe+13FC238: 4C 8D 44 24 40           - lea r8,[rsp+40]
Dragon Age The Veilguard.exe+13FC23D: 48 8D 4F 60              - lea rcx,[rdi+60]
Dragon Age The Veilguard.exe+13FC241: E8 4A F4 91 FF           - call "Dragon Age The Veilguard.exe"+D1B690
Dragon Age The Veilguard.exe+13FC246: 48 8B C8                 - mov rcx,rax
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+13FC249: 89 69 04                 - mov [rcx+04],ebp
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+13FC24C: 3B EE                    - cmp ebp,esi
Dragon Age The Veilguard.exe+13FC24E: 74 40                    - je "Dragon Age The Veilguard.exe"+13FC290
Dragon Age The Veilguard.exe+13FC250: 48 8D 8F C0 00 00 00     - lea rcx,[rdi+000000C0]
Dragon Age The Veilguard.exe+13FC257: 4C 8D 44 24 78           - lea r8,[rsp+78]
Dragon Age The Veilguard.exe+13FC25C: 48 8D 54 24 40           - lea rdx,[rsp+40]
Dragon Age The Veilguard.exe+13FC261: E8 3A FF FE FF           - call "Dragon Age The Veilguard.exe"+13EC1A0
Dragon Age The Veilguard.exe+13FC266: 0F B6 84 24 90 00 00 00  - movzx eax,byte ptr [rsp+00000090]
Dragon Age The Veilguard.exe+13FC26E: 44 8B CE                 - mov r9d,esi
Dragon Age The Veilguard.exe+13FC271: 44 8B 44 24 78           - mov r8d,[rsp+78]
Dragon Age The Veilguard.exe+13FC276: BA 05 00 00 00           - mov edx,00000005
}






aob_free_upgrade2:
  db 89 48 FC 48 8D 40 08

unregistersymbol(aob_free_upgrade2)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+13F576B

Dragon Age The Veilguard.exe+13F5745: 4C 2B C0                          - sub r8,rax
Dragon Age The Veilguard.exe+13F5748: 49 C1 F8 03                       - sar r8,03
Dragon Age The Veilguard.exe+13F574C: 4D 85 C0                          - test r8,r8
Dragon Age The Veilguard.exe+13F574F: 7E 26                             - jle "Dragon Age The Veilguard.exe"+13F5777
Dragon Age The Veilguard.exe+13F5751: 48 8D 42 08                       - lea rax,[rdx+08]
Dragon Age The Veilguard.exe+13F5755: 66 66 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
Dragon Age The Veilguard.exe+13F5760: 8B 08                             - mov ecx,[rax]
Dragon Age The Veilguard.exe+13F5762: 49 FF C8                          - dec r8
Dragon Age The Veilguard.exe+13F5765: 89 48 F8                          - mov [rax-08],ecx
Dragon Age The Veilguard.exe+13F5768: 8B 48 04                          - mov ecx,[rax+04]
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+13F576B: 89 48 FC                          - mov [rax-04],ecx
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+13F576E: 48 8D 40 08                       - lea rax,[rax+08]
Dragon Age The Veilguard.exe+13F5772: 4D 85 C0                          - test r8,r8
Dragon Age The Veilguard.exe+13F5775: 7F E9                             - jg "Dragon Age The Veilguard.exe"+13F5760
Dragon Age The Veilguard.exe+13F5777: 49 83 69 08 08                    - sub qword ptr [r9+08],08
Dragon Age The Veilguard.exe+13F577C: 48 8B C2                          - mov rax,rdx
Dragon Age The Veilguard.exe+13F577F: C3                                - ret
Dragon Age The Veilguard.exe+13F5780: 41 56                             - push r14
Dragon Age The Veilguard.exe+13F5782: 48 81 EC A0 00 00 00              - sub rsp,000000A0
Dragon Age The Veilguard.exe+13F5789: 83 79 58 00                       - cmp dword ptr [rcx+58],00
Dragon Age The Veilguard.exe+13F578D: 4C 8B F1                          - mov r14,rcx
}





aob_free_upgrade3:
  db 44 89 7A 04 45 3B FC

unregistersymbol(aob_free_upgrade3)
dealloc(newmem3)

{
// ORIGINAL CODE - INJECTION POINT: Dragon Age The Veilguard.exe+13F04CD

Dragon Age The Veilguard.exe+13F04AB: 49 3B 55 68           - cmp rdx,[r13+68]
Dragon Age The Veilguard.exe+13F04AF: 74 05                 - je "Dragon Age The Veilguard.exe"+13F04B6
Dragon Age The Veilguard.exe+13F04B1: 44 3B 0A              - cmp r9d,[rdx]
Dragon Age The Veilguard.exe+13F04B4: 7D 17                 - jnl "Dragon Age The Veilguard.exe"+13F04CD
Dragon Age The Veilguard.exe+13F04B6: 4C 8D 45 87           - lea r8,[rbp-79]
Dragon Age The Veilguard.exe+13F04BA: EB 05                 - jmp "Dragon Age The Veilguard.exe"+13F04C1
Dragon Age The Veilguard.exe+13F04BC: 4C 8D 44 24 30        - lea r8,[rsp+30]
Dragon Age The Veilguard.exe+13F04C1: 49 8D 4D 60           - lea rcx,[r13+60]
Dragon Age The Veilguard.exe+13F04C5: E8 C6 B1 92 FF        - call "Dragon Age The Veilguard.exe"+D1B690
Dragon Age The Veilguard.exe+13F04CA: 48 8B D0              - mov rdx,rax
// ---------- INJECTING HERE ----------
Dragon Age The Veilguard.exe+13F04CD: 44 89 7A 04           - mov [rdx+04],r15d
// ---------- DONE INJECTING  ----------
Dragon Age The Veilguard.exe+13F04D1: 45 3B FC              - cmp r15d,r12d
Dragon Age The Veilguard.exe+13F04D4: 0F 84 45 02 00 00     - je "Dragon Age The Veilguard.exe"+13F071F
Dragon Age The Veilguard.exe+13F04DA: 8B 7F 0C              - mov edi,[rdi+0C]
Dragon Age The Veilguard.exe+13F04DD: 4D 8D B5 C0 00 00 00  - lea r14,[r13+000000C0]
Dragon Age The Veilguard.exe+13F04E4: 49 8B 46 10           - mov rax,[r14+10]
Dragon Age The Veilguard.exe+13F04E8: 49 8B DE              - mov rbx,r14
Dragon Age The Veilguard.exe+13F04EB: B1 01                 - mov cl,01
Dragon Age The Veilguard.exe+13F04ED: 48 85 C0              - test rax,rax
Dragon Age The Veilguard.exe+13F04F0: 74 1B                 - je "Dragon Age The Veilguard.exe"+13F050D
Dragon Age The Veilguard.exe+13F04F2: 3B 78 20              - cmp edi,[rax+20]
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


TimeDiver0
Noobzor
Noobzor
Posts: 14
Joined: Mon Mar 13, 2017 2:22 am
Reputation: 3

Re: z Dragon Age The Veilguard

Post by TimeDiver0 »

To start, I am aware of @FrankyGoes' table at the bottom of Page 20 that is supposed to work with Patch #3 (and that it has all of the options that Zanzer's own table has, plus several more)...

...having said that? Have others have tried v5 of Zanzer's table with Veilguard upated to Patch #3 and know IF that table (plus other users' tables scattered through this thread) still works?

Post Reply

Who is online

Users browsing this forum: a7671410, BLEXBot, communic, DotBot, envoyed, Google [Bot], nuisun, unholy_burden, Warius