Page 2 of 2
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Sat Mar 16, 2019 6:55 pm
by predprey
Gil Pointer causes gil to not display properly in shop because readmem() does not account for instructions that specify the source address by relative offsets.
Instruction affected is dffnt.exe+8605F0 - 4C 8D 05 59D5A300 - lea r8,[dffnt.exe+129DB50]
For cases, like this use reasemble() instead of readmem(),
[Link]
Thanks for the table.
Code: Select all
{ Game : DISSIDIA FINAL FANTASY NT Free Edition
Version:
Date : 2019-03-13
Author : Jessie Kazama
}
[ENABLE]
aobscanmodule(gil,dffnt.exe,44 8B 4B 58 4C 8D 05 ** ** ** ** 48 8D 4C 24 20)
alloc(newmem,$1000,gil)
label(code)
label(return)
label(gilp)
registersymbol(gil)
registersymbol(gilp)
newmem:
mov [gilp],rbx
code:
readmem(gil,4)
reassemble(gil+4)
jmp return
gilp:
dq 0
readmem(gil,11)
gil:
jmp newmem
nop
nop
nop
nop
nop
nop
return:
[DISABLE]
gil:
readmem(gilp+8,11)
unregistersymbol(gil)
unregistersymbol(gilp)
dealloc(newmem)
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Sun Mar 17, 2019 3:10 am
by JessieKazama
Updated the table, please read the text in red so you don't break your save! Redownload from the main post!
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Sun Mar 17, 2019 2:01 pm
by predprey
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)
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Mon Mar 18, 2019 5:33 pm
by ApeDemon66
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>15</ID>
<Description>"Access All Characters"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(Access_All_Char,dffnt.exe,80 * * * 72 * B0 01)
Access_All_Char+04:
db 70
registersymbol(Access_All_Char)
[DISABLE]
Access_All_Char+04:
db 72
unregistersymbol(Access_All_Char)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Here is a script I made that changes one byte on a conditional jump instruction so it never jumps. This will make locked characters unlocked and accessible while the script is active. Just a nice simple and clean approach.
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Mon Mar 18, 2019 6:08 pm
by cricro89
How to add script in table?
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Mon Mar 18, 2019 6:08 pm
by cricro89
Geordan9 wrote: ↑Mon Mar 18, 2019 5:33 pm
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>15</ID>
<Description>"Access All Characters"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(Access_All_Char,dffnt.exe,80 * * * 72 * B0 01)
Access_All_Char+04:
db 70
registersymbol(Access_All_Char)
[DISABLE]
Access_All_Char+04:
db 72
unregistersymbol(Access_All_Char)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Here is a script I made that changes one byte on a conditional jump instruction so it never jumps. This will make locked characters unlocked and accessible while the script is active. Just a nice simple and clean approach.
How to add script in table?
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Mon Mar 18, 2019 6:26 pm
by ApeDemon66
cricro89 wrote: ↑Mon Mar 18, 2019 6:08 pm
How to add script in table?
Nice double post.
It was copied straight from my cheat table so its in the xml format. Just copy the code and paste it directly into a cheat table and it'll make a new script item named "Access All Characters".
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Mon Mar 18, 2019 10:13 pm
by Alucard0Reborn
So I figured I'd share this tip to make grinding super easy. Using the infinite dash and 9999 bravery cheats make sure to pick stages that have multiple elevations and use the climbing skill at any surface you can climb to gain the highest altitude. This trick is extremely useful for HP skill attacks that lock on. I'm currently using clouds 3rd HP attack, Cherry Blossom. All you have to do is dash in the air infinitely and be on top of the target. Once one is incapacitated use choose next target to go on to the next. If you repeat that fast enough you can get a pretty high score and level up much quicker. For his second HP attack you can sort of use the same tactic. Just bait the enemy and make them chase you and then time your HP attack and it hits them most if the time. Or charge them and attack quickly. That doesn't work past platinum though. Hope this helps people grind without hurting their save. Have fun!
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Tue Mar 19, 2019 3:00 pm
by Canzah
Geordan9 wrote: ↑Mon Mar 18, 2019 5:33 pm
Here is a script I made that changes one byte on a conditional jump instruction so it never jumps. This will make locked characters unlocked and accessible while the script is active. Just a nice simple and clean approach.
Have you tried making a script to unlock all skins?
There's 3 skins that are apparently missing in PC version, "Nameless Warrior" skin for Warrior of Light, "Equilibrium" skin for Lightning and "Royal Raiment" for Noctis.
This leads me to wonder if they were removed entirely from PC version in terms of files, or if they're just locked out for whatever reason.
Any chance you could make a script for unlocking all skins to look into that issue?
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Tue Mar 19, 2019 10:04 pm
by ApeDemon66
Canzah wrote: ↑Tue Mar 19, 2019 3:00 pm
There's 3 skins that are apparently missing in PC version, ...
Any chance you could make a script for unlocking all skins to look into that issue?
I don't play this game and was just making one script since a friend of mine tried to access all characters. I hardly know anything about the game and don't plan on getting invested in it so don't request anything from me
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Thu Jun 06, 2019 2:14 am
by mrkitblue
Hi
thx for the table!
Character exp multiplier stoped working for me
what could it be causing it?
I was only using 8x
thx
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Fri Jul 05, 2019 3:59 am
by Bananas_Foster
So, i've got most of these working in my game when i'm playing in the offline battle mode, but for some reason the 0 bravery, 9999 bravery, and character exp cheats are not working at all. I can't check the boxes next to them. Any idea on what I should do to get these cheats working? Any help would be most appreciated.
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Fri Jul 05, 2019 5:26 am
by CeLioCiBR
Hey there, can you please update your table ? at least the - Character EXP Multiplier
It's not working anymore :/
Re: DISSIDIA FINAL FANTASY NT (Steam) - Cheat Table
Posted: Sat Jul 06, 2019 12:53 pm
by STN
JessieKazama is on an indefinite break and won't be continuing her work. Closing this thread.
Please make a new one if you want to post your table.