Treasure Pointer
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>52</ID>
<Description>"Treasure Pointer"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(aob_treasure_scan,dffnt.exe,48 8D 4D 70 0F B7 80)
alloc(newmem_treasure,1024,dffnt.exe)
label(return_treasure)
label(aob_treasure)
label(treasure_ptr)
registersymbol(aob_treasure)
registersymbol(treasure_ptr)
newmem_treasure:
mov [treasure_ptr],rax
reassemble(aob_treasure_scan+4)
jmp return_treasure
treasure_ptr:
dq 0
readmem(aob_treasure_scan+4,7)
aob_treasure_scan+4:
aob_treasure:
jmp newmem_treasure
nop
nop
return_treasure:
[DISABLE]
aob_treasure:
readmem(treasure_ptr+8,7)
unregistersymbol(aob_treasure)
unregistersymbol(treasure_ptr)
dealloc(newmem_treasure)
{
// ORIGINAL CODE - INJECTION POINT: "dffnt.exe"+4A7C4E
"dffnt.exe"+4A7C1F: 57 - push rdi
"dffnt.exe"+4A7C20: 48 81 EC 40 02 00 00 - sub rsp,00000240
"dffnt.exe"+4A7C27: 48 8B 05 02 B2 19 02 - mov rax,[dffnt.exe+2642E30]
"dffnt.exe"+4A7C2E: 48 33 C4 - xor rax,rsp
"dffnt.exe"+4A7C31: 48 89 84 24 30 02 00 00 - mov [rsp+00000230],rax
"dffnt.exe"+4A7C39: 48 8B E9 - mov rbp,rcx
"dffnt.exe"+4A7C3C: 48 8B 0D 2D AB AA 03 - mov rcx,[dffnt.exe+3F52770]
"dffnt.exe"+4A7C43: 33 D2 - xor edx,edx
"dffnt.exe"+4A7C45: E8 56 A9 2C 00 - call dffnt.exe+7725A0
"dffnt.exe"+4A7C4A: 48 8D 4D 70 - lea rcx,[rbp+70]
// ---------- INJECTING HERE ----------
"dffnt.exe"+4A7C4E: 0F B7 80 2C B0 01 00 - movzx eax,word ptr [rax+0001B02C]
// ---------- DONE INJECTING ----------
"dffnt.exe"+4A7C55: 89 45 40 - mov [rbp+40],eax
"dffnt.exe"+4A7C58: E8 13 36 44 00 - call dffnt.exe+8EB270
"dffnt.exe"+4A7C5D: 48 8D 15 0C BB E3 00 - lea rdx,[dffnt.exe+12E3770]
"dffnt.exe"+4A7C64: 48 8B C8 - mov rcx,rax
"dffnt.exe"+4A7C67: E8 24 D8 90 00 - call dffnt.exe+DB5490
"dffnt.exe"+4A7C6C: 48 83 CB FF - or rbx,-01
"dffnt.exe"+4A7C70: 48 8B F8 - mov rdi,rax
"dffnt.exe"+4A7C73: 48 85 C0 - test rax,rax
"dffnt.exe"+4A7C76: 74 30 - je dffnt.exe+4A7CA8
"dffnt.exe"+4A7C78: 48 8B 0D E9 26 B0 03 - mov rcx,[dffnt.exe+3FAA368]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>53</ID>
<Description>"Treasure"</Description>
<VariableType>2 Bytes</VariableType>
<Address>treasure_ptr</Address>
<Offsets>
<Offset>1B02C</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Max Summon Gauge and Summon More Than Once
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>59</ID>
<Description>"Summon"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(aob_summon,dffnt.exe,F3 0F 10 47 E8 0F)
registersymbol(aob_summon)
alloc(newmem_summon,1024,dffnt.exe)
label(return_summon)
newmem_summon:
cmp rbp,0
jne @f
push rax
mov eax,[rdi-14]
mov [rdi-18],eax
pop rax
mov dword ptr [rdi-8],0
@@:
movss xmm0,[rdi-18]
jmp return_summon
aob_summon:
jmp newmem_summon
return_summon:
[DISABLE]
aob_summon:
db F3 0F 10 47 E8
unregistersymbol(aob_summon)
dealloc(newmem_summon)
{
// ORIGINAL CODE - INJECTION POINT: "dffnt.exe"+3E6ECE
"dffnt.exe"+3E6EA1: 48 83 EC 60 - sub rsp,60
"dffnt.exe"+3E6EA5: 45 33 F6 - xor r14d,r14d
"dffnt.exe"+3E6EA8: 48 8D 79 3C - lea rdi,[rcx+3C]
"dffnt.exe"+3E6EAC: 48 89 5C 24 70 - mov [rsp+70],rbx
"dffnt.exe"+3E6EB1: 41 8D 76 24 - lea esi,[r14+24]
"dffnt.exe"+3E6EB5: 41 8B EE - mov ebp,r14d
"dffnt.exe"+3E6EB8: 0F 1F 84 00 00 00 00 00 - nop [rax+rax+00000000]
"dffnt.exe"+3E6EC0: 44 38 37 - cmp [rdi],r14l
"dffnt.exe"+3E6EC3: 0F 85 A1 00 00 00 - jne dffnt.exe+3E6F6A
"dffnt.exe"+3E6EC9: F3 0F 10 4F EC - movss xmm1,[rdi-14]
// ---------- INJECTING HERE ----------
"dffnt.exe"+3E6ECE: F3 0F 10 47 E8 - movss xmm0,[rdi-18]
// ---------- DONE INJECTING ----------
"dffnt.exe"+3E6ED3: 0F 2F C1 - comiss xmm0,xmm1
"dffnt.exe"+3E6ED6: 0F 82 8E 00 00 00 - jb dffnt.exe+3E6F6A
"dffnt.exe"+3E6EDC: F3 0F 11 4F E8 - movss [rdi-18],xmm1
"dffnt.exe"+3E6EE1: C6 07 01 - mov byte ptr [rdi],01
"dffnt.exe"+3E6EE4: 48 8B 1D A5 15 B3 03 - mov rbx,[dffnt.exe+3F18490]
"dffnt.exe"+3E6EEB: 48 8B CB - mov rcx,rbx
"dffnt.exe"+3E6EEE: E8 BD AA 01 00 - call dffnt.exe+4019B0
"dffnt.exe"+3E6EF3: 48 8B CB - mov rcx,rbx
"dffnt.exe"+3E6EF6: 8B D0 - mov edx,eax
"dffnt.exe"+3E6EF8: E8 03 AB 01 00 - call dffnt.exe+401A00
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Memoria Used - dffnt.exe+3E62B5D [BYTE]
Memoria Earned - dffnt.exe+3E62B5E [BYTE]
Difference between both is the remaining memoria
Enemy Bravery 0 Fixed for Summon Battles
Code: Select all
{ Game : dffnt.exe
Version:
Date : 2019-03-14
Author : Jessie Kazama
}
[ENABLE]
aobscanmodule(noeb,dffnt.exe,48 8B CB 0F BF 6B 1C)
alloc(newmem,$1000,noeb)
label(code)
label(return)
registersymbol(noeb)
newmem:
cmp [rsp+2B0],0
je @f
cmp [rsp+2C4],0
je code
@@:
mov word ptr [rbx+1C],0
code:
mov rcx,rbx
movsx ebp,word ptr [rbx+1C]
jmp return
noeb:
jmp newmem
nop
nop
return:
[DISABLE]
noeb:
db 48 8B CB 0F BF 6B 1C
unregistersymbol(noeb)
dealloc(newmem)