.
.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>13000</ID>
<Description>"enable"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
//aobscan lua by vng21092
//https://forum.cheatengine.org/viewtopic.php?t=584799
{$lua}
function lua_aobscan(name,module,bytes,index)
index = index - 1
if(module == "") then
local resultSet = AOBScan(bytes)
if(resultSet == nil) then
unregisterSymbol(name)
print(name.." not found")
else
unregisterSymbol(name)
registerSymbol(name,resultSet[index])
resultSet.destroy()
end
else
if(getModuleSize(module) == nil) then
print("Module "..module.." not found")
else
local memScanner = createMemScan()
local memFoundList = createFoundList(memScanner)
memScanner.firstScan(
soExactValue,vtByteArray,rtRounded,bytes,nil,
getAddress(module),(getAddress(module)+getModuleSize(module)),"",
fsmNotAligned,"",true,false,false,false)
memScanner.waitTillDone()
memFoundList.initialize()
if(memFoundList.Count == 0) then
unregisterSymbol(name)
print(name.." in module "..module.." not found")
else
unregisterSymbol(name)
registerSymbol(name,memFoundList.Address[index])
end
memScanner.destroy()
memFoundList.destroy()
end
end
end
{$asm}
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>12974</ID>
<Description>"walk key"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
define(walkkeyiddefault,05)
aobscanmodule(sd1WritesAOB,DRAGON QUEST XI.exe,75 03 0F 57 ** F3 0F ** ** ** ** ** ** E9 ** ** ** ** 4C)
registersymbol(sd1WritesAOB)
label(bWalkKeyID)
registersymbol(bWalkKeyID)
label(bWalkKeyPressed)
registersymbol(bWalkKeyPressed)
alloc(newmem,2048,sd1WritesAOB+5) //"DRAGON QUEST XI.exe"+A3D88F0)
label(returnhere)
label(originalcode_walkkey)
registersymbol(originalcode_walkkey)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
push rax
mov rax,bWalkKeyPressed
cmp byte ptr [rax],1
jne @f
mulss xmm1,[rax+4]
end:
pop rax
originalcode_walkkey:
readmem(sd1WritesAOB+5,8)
//movss [rcx+00000F80],xmm1
exit:
jmp returnhere
///
bWalkKeyID:
dd walkkeyiddefault
bWalkKeyPressed:
dd 1
dMMult:
dd (float)0.3
///
sd1WritesAOB+5: //"DRAGON QUEST XI.exe"+A3D88F0:
jmp newmem
nop
nop
nop
returnhere:
///*****************************************///
aobscanmodule(sd2WritesAOB,DRAGON QUEST XI.exe,75 03 0F 57 ** F3 0F ** ** ** ** ** ** E9 ** ** ** ** F7)
registersymbol(sd2WritesAOB)
alloc(newmem2,2048,sd2WritesAOB+5) //"DRAGON QUEST XI.exe"+A3D9600)
label(returnhere2)
label(originalcode2_walkkey)
registersymbol(originalcode2_walkkey)
label(exit2)
newmem2: //this is allocated memory, you have read,write,execute access
//place your code here
push rax
mov rax,bWalkKeyPressed
cmp byte ptr [rax],1
jne @f
mulss xmm1,[rax+4]
end2:
pop rax
originalcode2_walkkey:
readmem(sd2WritesAOB+5,8)
//movss [rcx+00000F84],xmm1
exit2:
jmp returnhere2
///
sd2WritesAOB+5: //"DRAGON QUEST XI.exe"+A3D9600:
jmp newmem2
nop
nop
nop
returnhere2:
///*****************************************///
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function walkkeyLuaThread(thread)
local addr = getAddressSafe('bWalkKeyPressed')
while RunWalkkeyLuaThread do
if addr then
if ( isKeyPressed( readInteger('bWalkKeyID') ) ) then
writeBytes(addr, 1)
else
writeBytes(addr, 0)
end
else
addr = getAddressSafe('bWalkKeyPressed')
end
end
thread.terminate()
-- while RunWalkkeyLuaThread do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bWalkKeyPressed" ,1)
-- else
-- writeBytes("bWalkKeyPressed" ,0)
-- end
-- end
-- thread.terminate()
end
----------------------------------
if syntaxcheck then return end
RunWalkkeyLuaThread = true
createThread(walkkeyLuaThread)
{$asm}
///*****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
RunWalkkeyLuaThread = false
{$asm}
///*****************************************///
dealloc(newmem)
sd1WritesAOB+5: //"DRAGON QUEST XI.exe"+A3D88F0:
readmem(originalcode_walkkey,8)
//db F3 0F 11 89 80 0F 00 00
//Alt: movss [rcx+00000F80],xmm1
unregistersymbol(originalcode_walkkey)
unregistersymbol(bWalkKeyID)
unregistersymbol(bWalkKeyPressed)
///*****************************************///
dealloc(newmem2)
sd2WritesAOB+5: //"DRAGON QUEST XI.exe"+A3D9600:
readmem(originalcode2_walkkey,8)
//db F3 0F 11 89 84 0F 00 00
//Alt: movss [rcx+00000F84],xmm1
unregistersymbol(originalcode2_walkkey)
///*****************************************///
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>12972</ID>
<Description>"key"</Description>
<Options moHideChildren="1"/>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
04:Middle Mouse Button
05:X1 Mouse Button
06:X2 Moust Button
</DropDownList>
<LastState Value="05" RealAddress="1542F0030"/>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bWalkKeyID</Address>
<CheatEntries>
<CheatEntry>
<ID>12973</ID>
<Description>""</Description>
<LastState Value="0" RealAddress="1542F0034"/>
<VariableType>Byte</VariableType>
<Address>+4</Address>
<CheatEntries>
<CheatEntry>
<ID>12983</ID>
<Description>""</Description>
<LastState Value="0.3000000119" RealAddress="1542F0038"/>
<VariableType>Float</VariableType>
<Address>+4</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>12999</ID>
<Description>"ignore gold"</Description>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
/*
{$lua}
function lua_aobscan(name,module,bytes,index)
index = index - 1
if(module == "") then
local resultSet = AOBScan(bytes)
if(resultSet == nil) then
unregisterSymbol(name)
print(name.." not found")
else
unregisterSymbol(name)
registerSymbol(name,resultSet[index])
resultSet.destroy()
end
else
if(getModuleSize(module) == nil) then
print("Module "..module.." not found")
else
local memScanner = createMemScan()
local memFoundList = createFoundList(memScanner)
memScanner.firstScan(
soExactValue,vtByteArray,rtRounded,bytes,nil,
getAddress(module),(getAddress(module)+getModuleSize(module)),"",
fsmNotAligned,"",true,false,false,false)
memScanner.waitTillDone()
memFoundList.initialize()
if(memFoundList.Count == 0) then
unregisterSymbol(name)
print(name.." in module "..module.." not found")
else
unregisterSymbol(name)
registerSymbol(name,memFoundList.Address[index])
end
memScanner.destroy()
memFoundList.destroy()
end
end
end
{$asm}
*/
aobscanmodule(goldRead1AOB,DRAGON QUEST XI.exe,C3 8B 43 ** 48 ** ** ** 5B C3)
registersymbol(goldRead1AOB)
label(pShopInvC)
registersymbol(pShopInvC)
alloc(newmem,2048,goldRead1AOB+1) //"DRAGON QUEST XI.exe"+A95D53E)
label(returnhere)
label(originalcode_ignoregold)
registersymbol(originalcode_ignoregold)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
push rcx
mov rax,ffff
not rax
mov rcx,rax
and rax,r14
and rcx,rsp
cmp rcx,rax
je @f
mov rcx,pShopInvC
mov rax,fff
not rax
and rax,r14
mov [rcx],rax
mov byte ptr [rcx+8],1
@@:
pop rcx
originalcode_ignoregold:
readmem(goldRead1AOB+1,7)
//mov eax,[rbx+50]
//add rsp,20
exit:
jmp returnhere
///
pShopInvC:
///
goldRead1AOB+1: //"DRAGON QUEST XI.exe"+A95D53E:
jmp newmem
nop
nop
returnhere:
///******************************************///
luaCall(lua_aobscan("someMaxValueWriteAOB","DRAGON QUEST XI.exe","57 ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **E8 ** ** ** ** 48 ** ** ** ** 89 06 48 ** ** ** ** 48 ** ** ** 5F C3",4))
alloc(newmem3,2048,someMaxValueWriteAOB+a3) //"DRAGON QUEST XI.exe"+2520F2D)
label(returnhere3)
label(originalcode3_ignoregold)
registersymbol(originalcode3_ignoregold)
label(exit3)
newmem3: //this is allocated memory, you have read,write,execute access
//place your code here
push rbx
mov rbx,pShopInvC
cmp byte ptr [rbx+8],1
jne @f
mov byte ptr [rbx+8],0
mov rdi,fff
not rdi
and rdi,rsi
cmp [rbx],rdi
jne @f
cmp eax,#99
jge @f
mov eax,#99
@@:
pop rbx
originalcode3_ignoregold:
readmem(someMaxValueWriteAOB+a3,7)
//mov [rsi],eax
//mov rsi,[rsp+48]
exit3:
jmp returnhere3
///
someMaxValueWriteAOB+a3: //"DRAGON QUEST XI.exe"+2520F2D:
jmp newmem3
nop
nop
returnhere3:
///******************************************///
aobscanmodule(goldWriteOnDecAOB,DRAGON QUEST XI.exe,8B ** ** 48 ** ** 39 D0 7C)
registersymbol(goldWriteOnDecAOB)
alloc(newmem6,2048,goldWriteOnDecAOB) //"DRAGON QUEST XI.exe"+A92EF25)
label(returnhere6)
label(originalcode6_ignoregold)
registersymbol(originalcode6_ignoregold)
label(exit6)
newmem6: //this is allocated memory, you have read,write,execute access
//place your code here
readmem(goldWriteOnDecAOB,3)
//mov eax,[rcx+50]
readmem(goldWriteOnDecAOB+a,2)
//sub eax,edx
jns @f
db 89 51
readmem(goldWriteOnDecAOB+2,1)
//mov [rcx+50],edx
originalcode6_ignoregold:
readmem(goldWriteOnDecAOB,6)
//mov eax,[rcx+50]
//mov rbx,rcx
exit6:
jmp returnhere6
///
goldWriteOnDecAOB: //"DRAGON QUEST XI.exe"+A92EF25:
jmp newmem6
nop
returnhere6:
///******************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
goldRead1AOB+1: //"DRAGON QUEST XI.exe"+A95D53E:
readmem(originalcode_ignoregold,7)
//db 8B 43 50 48 83 C4 20
//Alt: mov eax,[rbx+50]
//Alt: add rsp,20
unregistersymbol(originalcode_ignoregold)
unregistersymbol(pShopInvC)
///******************************************///
dealloc(newmem3)
someMaxValueWriteAOB+a3: //"DRAGON QUEST XI.exe"+2520F2D:
readmem(originalcode3_ignoregold,7)
//db 89 06 48 8B 74 24 48
//Alt: mov [rsi],eax
//Alt: mov rsi,[rsp+48]
unregistersymbol(originalcode3_ignoregold)
///******************************************///
dealloc(newmem6)
goldWriteOnDecAOB: //"DRAGON QUEST XI.exe"+A92EF25:
readmem(originalcode6_ignoregold,6)
//db 8B 41 50 48 89 CB
//Alt: mov eax,[rcx+50]
//Alt: mov rbx,rcx
unregistersymbol(originalcode6_ignoregold)
///******************************************///
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>13008</ID>
<Description>"ignore skill points"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(hSkillPWriteInCharBuildMenuAOB,DRAGON QUEST XI.exe,E8 ** ** 35 F1 89 03 48 ** ** ** 5B C3)
registersymbol(hSkillPWriteInCharBuildMenuAOB)
label(pSkillP)
registersymbol(pSkillP)
label(pHSkillP)
registersymbol(pHSkillP)
alloc(newmem,2048,hSkillPWriteInCharBuildMenuAOB+5) //"DRAGON QUEST XI.exe"+F4BE062)
label(returnhere)
label(originalcode_ignoreskillp)
registersymbol(originalcode_ignoreskillp)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [rbx],eax
push rbx
mov rbx,pHSkillP
pop [rbx]
mov rbx,pSkillP
mov [rbx],rcx
@@:
add rsp,20
jmp exit
originalcode_ignoreskillp:
readmem(hSkillPWriteInCharBuildMenuAOB+5,6)
//mov [rbx],eax
//add rsp,20
exit:
jmp returnhere
///
pSkillP:
dq 0
pHSkillP:
dq 0
///
hSkillPWriteInCharBuildMenuAOB+5: //"DRAGON QUEST XI.exe"+F4BE062:
jmp newmem
nop
returnhere:
///****************************************///
aobscanmodule(someFlagSetLAOB,DRAGON QUEST XI.exe,E8 ** 18 B8 FF 48 ** ** ** ** 88 06 48 ** ** ** ** 48 ** ** ** 5F C3)
registersymbol(someFlagSetLAOB)
alloc(newmem2,2048,someFlagSetLAOB+a) //"DRAGON QUEST XI.exe"+2549CED)
label(returnhere2)
label(originalcode2_ignoreskillp)
registersymbol(originalcode2_ignoreskillp)
label(exit2)
newmem2: //this is allocated memory, you have read,write,execute access
//place your code here
mov rdi,pHSkillP
cmp [rdi],r10
push 0
pop [rdi]
jne @f
mov al,1
originalcode2_ignoreskillp:
readmem(someFlagSetLAOB+a,7)
//mov [rsi],al
//mov rsi,[rsp+48]
exit2:
jmp returnhere2
///
someFlagSetLAOB+a: //"DRAGON QUEST XI.exe"+2549CED:
jmp newmem2
nop
nop
returnhere2:
///****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
hSkillPWriteInCharBuildMenuAOB+5: //"DRAGON QUEST XI.exe"+F4BE062:
readmem(originalcode_ignoreskillp,6)
//db 89 03 48 83 C4 20
//Alt: mov [rbx],eax
//Alt: add rsp,20
unregistersymbol(originalcode_ignoreskillp)
unregistersymbol(pSkillP)
unregistersymbol(pHSkillP)
///****************************************///
dealloc(newmem2)
someFlagSetLAOB+a: //"DRAGON QUEST XI.exe"+2549CED:
readmem(originalcode2_ignoreskillp,7)
//db 88 06 48 8B 74 24 48
//Alt: mov [rsi],al
//Alt: mov rsi,[rsp+48]
unregistersymbol(originalcode2_ignoreskillp)
///****************************************///
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>13011</ID>
<Description>""</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>13009</ID>
<Description>"earned"</Description>
<LastState Value="10" RealAddress="8B9F8024"/>
<Color>0000FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>pSkillP</Address>
<Offsets>
<Offset>a4</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>13010</ID>
<Description>"spent"</Description>
<LastState Value="8" RealAddress="8B9F8028"/>
<Color>0000FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>pSkillP</Address>
<Offsets>
<Offset>a8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>13015</ID>
<Description>"ignore materials"</Description>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(materialsChkOnForgeMenuRefreshAOB,DRAGON QUEST XI.exe,48 ** ** E8 ** ** ** ** 39 ** 7C ** FF ** 83 ** ** 0F 8C )
registersymbol(materialsChkOnForgeMenuRefreshAOB)
alloc(originalcode_ignorematerials,8,materialsChkOnForgeMenuRefreshAOB+a)
registersymbol(originalcode_ignorematerials)
originalcode_ignorematerials:
readmem(materialsChkOnForgeMenuRefreshAOB+a,2)
///
materialsChkOnForgeMenuRefreshAOB+a: //"DRAGON QUEST XI.exe"+B6E9C85:
db 90 90
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
materialsChkOnForgeMenuRefreshAOB+a: //"DRAGON QUEST XI.exe"+B6E9C85:
readmem(originalcode_ignorematerials,2)
//db 7C 24
//Alt: jl "DRAGON QUEST XI.exe"+B6E9CAB
dealloc(originalcode_ignorematerials)
unregistersymbol(originalcode_ignorematerials)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>