Re: Scarlet Nexus
Posted: Wed Jul 20, 2022 4:00 am
Can some add the option to "Ignore Crafting Requirements"? Thanks!
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
...So is this already incorporated into one of the cheat tables, or would I have to enter this manually? I honestly still don't understand how modifying pre-existing tables works...zachillios wrote: ↑Fri Jul 02, 2021 7:07 pmThis was very helpful, thank you. Here's a comprehensive editor for quests:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>88363</ID> <Description>"Quest Editor"</Description> <Options moHideChildren="1"/> <LastState Activated="1"/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : ScarletNexus-Win64-Shipping.exe Version: Date : 2021-07-02 Author : zachw This script does blah blah blah } [ENABLE] aobscanmodule(QUEST_SCAN,ScarletNexus-Win64-Shipping.exe,41 0F B6 1C 06) // should be unique alloc(newmem,$1000,QUEST_SCAN) globalalloc(QUESTSCAN,4) label(code) label(return) newmem: push rax lea rax,[r14+rax] mov [QUESTSCAN],rax pop rax code: movzx ebx,byte ptr [r14+rax] jmp return QUEST_SCAN: jmp newmem return: registersymbol(QUEST_SCAN) [DISABLE] QUEST_SCAN: db 41 0F B6 1C 06 unregistersymbol(QUEST_SCAN) dealloc(newmem) dealloc(QUESTSCAN) { // ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+F7EB03 ScarletNexus-Win64-Shipping.exe+F7EAE1: 74 0A - je ScarletNexus-Win64-Shipping.exe+F7EAED ScarletNexus-Win64-Shipping.exe+F7EAE3: 48 8B 4C 24 30 - mov rcx,[rsp+30] ScarletNexus-Win64-Shipping.exe+F7EAE8: E8 C3 97 44 00 - call ScarletNexus-Win64-Shipping.exe+13C82B0 ScarletNexus-Win64-Shipping.exe+F7EAED: 8B D7 - mov edx,edi ScarletNexus-Win64-Shipping.exe+F7EAEF: 48 8B CE - mov rcx,rsi ScarletNexus-Win64-Shipping.exe+F7EAF2: E8 A9 2E 00 00 - call ScarletNexus-Win64-Shipping.exe+F819A0 ScarletNexus-Win64-Shipping.exe+F7EAF7: 84 C0 - test al,al ScarletNexus-Win64-Shipping.exe+F7EAF9: 74 3C - je ScarletNexus-Win64-Shipping.exe+F7EB37 ScarletNexus-Win64-Shipping.exe+F7EAFB: 48 8B 46 58 - mov rax,[rsi+58] ScarletNexus-Win64-Shipping.exe+F7EAFF: 49 C1 E6 05 - shl r14,05 // ---------- INJECTING HERE ---------- ScarletNexus-Win64-Shipping.exe+F7EB03: 41 0F B6 1C 06 - movzx ebx,byte ptr [r14+rax] // ---------- DONE INJECTING ---------- ScarletNexus-Win64-Shipping.exe+F7EB08: 84 DB - test bl,bl ScarletNexus-Win64-Shipping.exe+F7EB0A: 75 26 - jne ScarletNexus-Win64-Shipping.exe+F7EB32 ScarletNexus-Win64-Shipping.exe+F7EB0C: 39 BE C0 00 00 00 - cmp [rsi+000000C0],edi ScarletNexus-Win64-Shipping.exe+F7EB12: 7E 1E - jle ScarletNexus-Win64-Shipping.exe+F7EB32 ScarletNexus-Win64-Shipping.exe+F7EB14: 48 85 ED - test rbp,rbp ScarletNexus-Win64-Shipping.exe+F7EB17: 74 19 - je ScarletNexus-Win64-Shipping.exe+F7EB32 ScarletNexus-Win64-Shipping.exe+F7EB19: 48 8D 55 78 - lea rdx,[rbp+78] ScarletNexus-Win64-Shipping.exe+F7EB1D: 48 8B CE - mov rcx,rsi ScarletNexus-Win64-Shipping.exe+F7EB20: E8 DB 67 FF FF - call ScarletNexus-Win64-Shipping.exe+F75300 ScarletNexus-Win64-Shipping.exe+F7EB25: 84 C0 - test al,al } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>88364</ID> <Description>"Status"</Description> <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">00:undiscovered 02:in progress 03:can be achieved 04:complete </DropDownList> <LastState Value="03" RealAddress="1B50F598080"/> <ShowAsHex>1</ShowAsHex> <ShowAsSigned>0</ShowAsSigned> <VariableType>Byte</VariableType> <Address>QUESTSCAN</Address> <Offsets> <Offset>0</Offset> </Offsets> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>89891</ID>
<Description>"ItemList"</Description>
<LastState Value="14266748" RealAddress="7FB89FA2B6E0"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>8 Bytes</VariableType>
<Address>GEngine</Address>
<Offsets>
<Offset>0</Offset>
<Offset>938</Offset>
<Offset>820</Offset>
<Offset>50</Offset>
<Offset>3D8</Offset>
<Offset>80</Offset>
<Offset>7A8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>88852</ID>
<Description>"All items after purchase"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ScarletNexus-Win64-Shipping.exe
Version:
Date : 2023-09-20
Author : kamay
This script does blah blah blah
}
define(address,"ScarletNexus-Win64-Shipping.exe"+1137B3D)
define(bytes,E8 7E 9E E7 FF)
{$lua}
local addressList = getAddressList()
local itemList = addressList.getMemoryRecordByDescription('ItemList')
local strDefine = "define(item_list_start, " .. ("%08X"):format(tostring(itemList.getCurrentAddress())) .. ")"
return strDefine
{$asm}
define(item_list_end,item_list_start+22E0)
[ENABLE]
registersymbol(item_list_start)
registersymbol(item_list_end)
assert(address,bytes)
alloc(newmem,$1000,"ScarletNexus-Win64-Shipping.exe"+1137B3D)
label(code)
label(return)
newmem:
code:
mov rdx,item_list_start
loop:
push r8
push r9
push rdx
push rcx
sub rsp,100
mov byte ptr[rsp+28],0
mov byte ptr[rsp+20],0
call ScarletNexus-Win64-Shipping.exe+FB19C0
add rsp,100
pop rcx
pop rdx
pop r9
pop r8
add rdx,8
push rax
mov rax,item_list_end
cmp rdx,rax
pop rax
je return
jmp loop
address:
jmp newmem
return:
[DISABLE]
address:
db bytes
// call ScarletNexus-Win64-Shipping.exe+FB19C0
dealloc(newmem)
unregistersymbol(item_list_start)
unregistersymbol(item_list_end)
{
// ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+1137B3D
ScarletNexus-Win64-Shipping.exe+1137B0A: 0F 8E CE 01 00 00 - jng ScarletNexus-Win64-Shipping.exe+1137CDE
ScarletNexus-Win64-Shipping.exe+1137B10: 49 63 06 - movsxd rax,dword ptr [r14]
ScarletNexus-Win64-Shipping.exe+1137B13: 41 B1 01 - mov r9b,01
ScarletNexus-Win64-Shipping.exe+1137B16: 48 8B 97 38 09 00 00 - mov rdx,[rdi+00000938]
ScarletNexus-Win64-Shipping.exe+1137B1D: C6 44 24 28 00 - mov byte ptr [rsp+28],00
ScarletNexus-Win64-Shipping.exe+1137B22: C6 44 24 20 00 - mov byte ptr [rsp+20],00
ScarletNexus-Win64-Shipping.exe+1137B27: 48 8D 0C C5 00 00 00 00 - lea rcx,[rax*8+00000000]
ScarletNexus-Win64-Shipping.exe+1137B2F: 48 89 4D 77 - mov [rbp+77],rcx
ScarletNexus-Win64-Shipping.exe+1137B33: 48 03 D1 - add rdx,rcx
ScarletNexus-Win64-Shipping.exe+1137B36: 48 8B 8F A8 03 00 00 - mov rcx,[rdi+000003A8]
// ---------- INJECTING HERE ----------
ScarletNexus-Win64-Shipping.exe+1137B3D: E8 7E 9E E7 FF - call ScarletNexus-Win64-Shipping.exe+FB19C0
// ---------- DONE INJECTING ----------
ScarletNexus-Win64-Shipping.exe+1137B42: 48 8D 05 EF 1D 8F 02 - lea rax,[ScarletNexus-Win64-Shipping.exe+3A29938]
ScarletNexus-Win64-Shipping.exe+1137B49: C7 45 C3 63 00 00 00 - mov [rbp-3D],00000063
ScarletNexus-Win64-Shipping.exe+1137B50: 48 89 45 A7 - mov [rbp-59],rax
ScarletNexus-Win64-Shipping.exe+1137B54: 48 8D 15 7D 34 81 02 - lea rdx,[ScarletNexus-Win64-Shipping.exe+394AFD8]
ScarletNexus-Win64-Shipping.exe+1137B5B: 33 C0 - xor eax,eax
ScarletNexus-Win64-Shipping.exe+1137B5D: C7 45 C7 E8 03 00 00 - mov [rbp-39],000003E8
ScarletNexus-Win64-Shipping.exe+1137B64: 0F 57 C0 - xorps xmm0,xmm0
ScarletNexus-Win64-Shipping.exe+1137B67: 48 89 45 AF - mov [rbp-51],rax
ScarletNexus-Win64-Shipping.exe+1137B6B: 48 8D 4D 1F - lea rcx,[rbp+1F]
ScarletNexus-Win64-Shipping.exe+1137B6F: 48 89 45 B7 - mov [rbp-49],rax
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
{ Game : ScarletNexus-Win64-Shipping.exe
Version:
Date : 2023-09-20
Author : kamay
This script does blah blah blah
}
define(address,"ScarletNexus-Win64-Shipping.exe"+FB1D9C)
define(bytes,42 8D 04 3F 89 44 24 60)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000,"ScarletNexus-Win64-Shipping.exe"+FB1D9C)
label(code)
label(return)
newmem:
code:
mov eax,63
mov [rsp+60],eax
jmp return
address:
jmp newmem
nop 3
return:
[DISABLE]
address:
db bytes
// lea eax,[rdi+r15]
// mov [rsp+60],eax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+FB1D9C
ScarletNexus-Win64-Shipping.exe+FB1D82: E8 69 C3 3B 00 - call ScarletNexus-Win64-Shipping.exe+136E0F0
ScarletNexus-Win64-Shipping.exe+FB1D87: EB 9C - jmp ScarletNexus-Win64-Shipping.exe+FB1D25
ScarletNexus-Win64-Shipping.exe+FB1D89: 8D 14 38 - lea edx,[rax+rdi]
ScarletNexus-Win64-Shipping.exe+FB1D8C: 3B CA - cmp ecx,edx
ScarletNexus-Win64-Shipping.exe+FB1D8E: 7D 08 - jnl ScarletNexus-Win64-Shipping.exe+FB1D98
ScarletNexus-Win64-Shipping.exe+FB1D90: 44 8B F9 - mov r15d,ecx
ScarletNexus-Win64-Shipping.exe+FB1D93: 44 2B FF - sub r15d,edi
ScarletNexus-Win64-Shipping.exe+FB1D96: EB 04 - jmp ScarletNexus-Win64-Shipping.exe+FB1D9C
ScarletNexus-Win64-Shipping.exe+FB1D98: 85 D2 - test edx,edx
ScarletNexus-Win64-Shipping.exe+FB1D9A: 78 6A - js ScarletNexus-Win64-Shipping.exe+FB1E06
// ---------- INJECTING HERE ----------
ScarletNexus-Win64-Shipping.exe+FB1D9C: 42 8D 04 3F - lea eax,[rdi+r15]
// ---------- DONE INJECTING ----------
ScarletNexus-Win64-Shipping.exe+FB1DA0: 89 44 24 60 - mov [rsp+60],eax
ScarletNexus-Win64-Shipping.exe+FB1DA4: 41 89 44 24 08 - mov [r12+08],eax
ScarletNexus-Win64-Shipping.exe+FB1DA9: 3B C7 - cmp eax,edi
ScarletNexus-Win64-Shipping.exe+FB1DAB: 7E 0F - jle ScarletNexus-Win64-Shipping.exe+FB1DBC
ScarletNexus-Win64-Shipping.exe+FB1DAD: 33 D2 - xor edx,edx
ScarletNexus-Win64-Shipping.exe+FB1DAF: 49 8B CE - mov rcx,r14
ScarletNexus-Win64-Shipping.exe+FB1DB2: E8 F9 A3 00 00 - call ScarletNexus-Win64-Shipping.exe+FBC1B0
ScarletNexus-Win64-Shipping.exe+FB1DB7: 41 89 44 24 0C - mov [r12+0C],eax
ScarletNexus-Win64-Shipping.exe+FB1DBC: 44 8B 64 24 20 - mov r12d,[rsp+20]
ScarletNexus-Win64-Shipping.exe+FB1DC1: 48 8B 54 24 38 - mov rdx,[rsp+38]
}
on win store version.