Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
vocaloidimai
Posts: 2
Joined: Sun Jan 03, 2016 2:15 pm

Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Post by vocaloidimai »

Hello everybody
Can someone help me to extract file language TLFILE.TLDAT & FILEHEADER.TOFHDB in game Tales of Zestiria
I just want to try translate this game
Please help & Thanks
shadow_lonely
Posts: 216
Joined: Mon Oct 06, 2014 3:30 am

Re: Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Post by shadow_lonely »

vocaloidimai wrote:Hello everybody
Can someone help me to extract file language TLFILE.TLDAT & FILEHEADER.TOFHDB in game Tales of Zestiria
I just want to try translate this game
Please help & Thanks


You mean all text store from this file? I want to translate this game, too.
You can try this with quickbms:

Code: Select all

# Tales of Xillia / Zestiria / Tales of the Abyss (script 0.1.1)
# script from Chrrox http://forum.xentax.com/viewtopic.php?p=59251#p59251
# updated and rewritten by aluigi
# script for QuickBMS http://quickbms.aluigi.org

get EXT extension

string TMP p "FILEHEADER.%s" EXT
open FDSE TMP 0 EXISTS
if EXISTS == 0
string TMP p "FILEHEADER.%s" "TOFHDB"
open FDSE TMP 0
set EXT string "TLDAT"
endif

string TMP p "TLFILE.%s" EXT
open FDSE TMP 1

endian big

get DUMMY long # 0x9ae71c1a
get DUMMY long
get DUMMY long
get HASHES long
endian guess HASHES
get HASH_SIZE long
get ZERO long
get DUMMY long
get FILES long
get DUMMY_SIZE long
get ZERO long
for i = 0 < HASHES
get HASH_KEY long
get HASH_VALUE long
next i
for i = 0 < FILES
get SIZE longlong
get ZSIZE longlong
get OFFSET longlong
get HASH long
getdstring EXT 8
get DUMMY long

string NAME p= "%s/." EXT # autoguess

if ZSIZE == SIZE
log NAME OFFSET SIZE 1
else
endian save CURRENT_ENDIAN
endian little
goto OFFSET 1
get TLZC long 1
get TVER long 1
get TZSIZE long 1
get TSIZE long 1
if TVER == 0x0201 # Tales of the Abyss
comtype deflate
getdstring DUMMY 8 1
savepos OFFSET 1
clog NAME OFFSET TZSIZE TSIZE 1
else
comtype MSF # lzma_0
getdstring DUMMY 9 1
get CHUNK_SIZE long 1

xmath CHUNKS "TSIZE / CHUNK_SIZE"
xmath TMP "CHUNKS * CHUNK_SIZE"
if TMP != TSIZE
math CHUNKS + 1
endif
for x = 0 < CHUNKS
get CHUNK_ZSIZE short 1
putarray 0 x CHUNK_ZSIZE
next x
savepos OFFSET 1

log NAME 0 0
append
for x = 0 < CHUNKS
getarray CHUNK_ZSIZE 0 x
clog NAME OFFSET CHUNK_ZSIZE CHUNK_SIZE 1
math OFFSET + CHUNK_ZSIZE
next x
append

endif
if CURRENT_ENDIAN != 0
endian big
endif
endif
next i
vocaloidimai
Posts: 2
Joined: Sun Jan 03, 2016 2:15 pm

Re: Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Post by vocaloidimai »

shadow_lonely wrote:
vocaloidimai wrote:Hello everybody
Can someone help me to extract file language TLFILE.TLDAT & FILEHEADER.TOFHDB in game Tales of Zestiria
I just want to try translate this game
Please help & Thanks


You mean all text store from this file? I want to translate this game, too.
You can try this with quickbms:

Code: Select all

# Tales of Xillia / Zestiria / Tales of the Abyss (script 0.1.1)
# script from Chrrox http://forum.xentax.com/viewtopic.php?p=59251#p59251
# updated and rewritten by aluigi
# script for QuickBMS http://quickbms.aluigi.org

get EXT extension

string TMP p "FILEHEADER.%s" EXT
open FDSE TMP 0 EXISTS
if EXISTS == 0
string TMP p "FILEHEADER.%s" "TOFHDB"
open FDSE TMP 0
set EXT string "TLDAT"
endif

string TMP p "TLFILE.%s" EXT
open FDSE TMP 1

endian big

get DUMMY long # 0x9ae71c1a
get DUMMY long
get DUMMY long
get HASHES long
endian guess HASHES
get HASH_SIZE long
get ZERO long
get DUMMY long
get FILES long
get DUMMY_SIZE long
get ZERO long
for i = 0 < HASHES
get HASH_KEY long
get HASH_VALUE long
next i
for i = 0 < FILES
get SIZE longlong
get ZSIZE longlong
get OFFSET longlong
get HASH long
getdstring EXT 8
get DUMMY long

string NAME p= "%s/." EXT # autoguess

if ZSIZE == SIZE
log NAME OFFSET SIZE 1
else
endian save CURRENT_ENDIAN
endian little
goto OFFSET 1
get TLZC long 1
get TVER long 1
get TZSIZE long 1
get TSIZE long 1
if TVER == 0x0201 # Tales of the Abyss
comtype deflate
getdstring DUMMY 8 1
savepos OFFSET 1
clog NAME OFFSET TZSIZE TSIZE 1
else
comtype MSF # lzma_0
getdstring DUMMY 9 1
get CHUNK_SIZE long 1

xmath CHUNKS "TSIZE / CHUNK_SIZE"
xmath TMP "CHUNKS * CHUNK_SIZE"
if TMP != TSIZE
math CHUNKS + 1
endif
for x = 0 < CHUNKS
get CHUNK_ZSIZE short 1
putarray 0 x CHUNK_ZSIZE
next x
savepos OFFSET 1

log NAME 0 0
append
for x = 0 < CHUNKS
getarray CHUNK_ZSIZE 0 x
clog NAME OFFSET CHUNK_ZSIZE CHUNK_SIZE 1
math OFFSET + CHUNK_ZSIZE
next x
append

endif
if CURRENT_ENDIAN != 0
endian big
endif
endif
next i


Thank shadow_lonely to help me open this file
Yes - i really want to translate this game so much
Please someone help me T-T
Tarik
Posts: 1
Joined: Tue May 03, 2022 11:11 am

Re: Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Post by Tarik »

I want to translate the game but quickbms give this error to me. My quickbns is up to date
Image
xmotoracer
Posts: 6
Joined: Sun May 01, 2022 6:07 pm

Re: Tales of Zestiria Language TLFILE.TLDAT/FILEHEADER.TOFHDB

Post by xmotoracer »

quickbms error