Difference between revisions of "Telara.db"

From The Ghar Station Wiki
Jump to: navigation, search
m (Dataset Summary)
m (Update link to see)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
= telara.db =
 
= telara.db =
  
'''telara.db''' is an encrypted [https://www.sqlite.org/see/doc/trunk/www/index.wiki SQLite3 database] stored within the RIFT [[Assets]] and consists of 3 tables, only 2 are used by program.
+
'''telara.db''' is an encrypted [https://www.sqlite.org/see/doc/release/www/index.wiki SQLite3 database] stored within the RIFT [[Assets]] and consists of 3 tables, only 2 are used by program.
  
 
It can be decrypted using [https://github.com/newsoft/sqlite3-dbx sqlite3-dbx] and the appropriate encryption key.
 
It can be decrypted using [https://github.com/newsoft/sqlite3-dbx sqlite3-dbx] and the appropriate encryption key.

Latest revision as of 03:32, 14 April 2020

telara.db

telara.db is an encrypted SQLite3 database stored within the RIFT Assets and consists of 3 tables, only 2 are used by program.

It can be decrypted using sqlite3-dbx and the appropriate encryption key.

Alternately, the file can be decrypted without using sqlite3 because the DB is encrypted using a simple 128-AES block cipher. See SQLite Encryption Extension Documentation for more information.

The only caveat is that bytes 16-23 on the first page are NOT encrypted. See: Database File Format for the exact purpose of these bytes. The only one you really need is the first 2 bytes at offset 16 which contain the pagesize, which is the amount of bytes you have to feed into the decryption routine.


Dataset Info

dataset

Contains 6 columns. The most useful are "datasetID", "datasetKey" and "value". The ID and Key together point to a unique entry. Most of the entries are COMPRESSED and have to be decompressed to be read.

Each entry starts with a LEB128 to indicate decompressed size, followed by compressed DAT_Format data.


dataset_compression

This table contains 2 columns, "datasetId" and "frequencies" and contains the 1024 byte Huffman table frequencies to build a Huffman tree to decompress the dataset entries.

See here for an implementation in C#.

Dataset Summary

Dataset # Contents
43 Messages?
52 UNKNOWN - Every entry empty
53 Spell Categories
80 UNKNOWN - Every entry empty
98 Buffs/Auras
111 Scene definitions - Skymaps possibly ambient lighting
113 Zone definitions
114 More zone sounds? Ambient? VFX - refs 4479
119  ?
121 Ambient sounds
125 triggers for ambience?
3199 levels of mobs?
10005 sound bank files
3410 ability defintions of some kind - gfx related?
623 model definitions? KFM/NIF/HKX
3004 spells or abilities VFX
7305 nif references
7304 HKX (Collision data?)
6009 icons
3613 not sure? Npc related?
10017 voice references
2200 achievement related, references 2204
2204 achievement names
7638 appearance sets
7629 items -> refs: 6009/7305/7377
7701 EULA
4307 profanity/blocked text
10701 artifacts
11343 map -> refs XML files
1101 LUA documentation
159 Class callings/soul presets
1870 language related -> refs 83
10854 minion card quests
4479 teleport/spawn locations
4426 instances/worlds
7710 console commands
3798 Moving object paths
13148 Store promotion definitions