DX Archive: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks (→Keys) |
imported>Ikskoks (→Keys) |
(No difference)
| |
Revision as of 15:24, 4 August 2021
Back to index | Edit this page
DAT, WOLF, BIN, DXA, TEC, PAK, ARC, LED
- Format Type : Archive
- Endian Order : Little Endian
Format Specifications
// DX Archive (v6) file format
// little endian
// Note: Whole archive is encrypted and compressed in most cases.
// Custom key is required to parse data.
// header (48 bytes)
2 bytes (char) - signature // "DX"
2 bytes (uint16) - version // 6
4 bytes (uint32) - archive tail size (filename table + file table + directory table)
8 bytes (uint64) - data start address // 48
8 bytes (uint64) - filename table start address (also tail start offset)
8 bytes (uint64) - file table start address // relative to tail start
8 bytes (uint64) - directory table start address // relative to tail start
8 bytes (uint64) - code page // e.g. 1252
// data
num_of_files *
{
x bytes - file data
}
// tail
{
// filename table
num_of_files *
{
2 bytes (uint16) - number of "packs" // It can be calculated like this:
// num_of_packs = (filename_length + 3) / 4
2 bytes (uint16) - Parity?
x bytes (char) - filename in uppercase + padding // e.g. "WHITE_BACK.JPG"
x bytes (char) - filename + padding // e.g. "white_back.jpg"
}
// file table (64 bytes per entry)
// It contain headers for all files in archive
// Note: There is one additional entry at the beginning (e.g. we have 32 files, but 33 entries)
num_of_files+1 *
{
8 bytes (uint64) - filename offset // relative to tail start
8 bytes (uint64) - file attributes
8 bytes (uint64) - file create time
8 bytes (uint64) - file last acces time
8 bytes (uint64) - file last write time
8 bytes (uint64) - file data offset // relative to header end?
8 bytes (uint64) - file data size
8 bytes (uint64) - file press data size
}
// directory table
// Note: There is at least one entry in this table (for main dir)
num_of_directories *
{
8 bytes (uint64) - directory offset // relative?
8 bytes (uint64) - parent directory offset // "-1" if there is no parent
8 bytes (uint64) - number of files in directory
8 bytes (uint64) - first file header offset for this dir // relative to end of filename table
}
}
MultiEx BMS Script
Not written yet.
QuickBMS Script
Notes and Comments
- This file format occurs in games made in Wolf RPG Editor and in games using DxLibrary.
- Archives using this file format are encrypted with custom XOR algorithm.
- Files inside archive may be compressed with Huffman compression.
- There are several versions of this file format and there are some differences in maximum key length:
- v1-6 max key length = 12
- v7 max key length = 32
- v8 max key length = 56
Games
List of games using this file format:
- Artemis Pearl Omake
- Castle Evil
- Dungeon Town
- Gensokyo Shiki
- I was Reborn as an Angel so I Decided to Conquer the World
- Labyrinth of Touhou
- Labyrinth of Touhou ~ Special Disc
- Labyrinth of Touhou 2
- Mad Father
- Magic Castle RePure Aria
- Prelude
- Rosenkreuzstilette
- Rosenkreuzstilette Freudenstachel
- The Imperial Gatekeeper
- Viocide Vore Side Action RPG
- Many more...
Keys
| Game Title | Key (hex) | Key (ASCII) |
|---|---|---|
| Rosenkreuzstilette v2.00a | AC36E2889ADE96323B36E18F 9596F8098BDF8A922B1540BE |
SchweringIsC unknown |
| Rosenkreuzstilette Freudenstachel (v2.02c) Rosenkreuzstilette Freudenstachel (v1.00a) |
AC36E2889ADE96323B36E18F 9637EF2996D59E52AB0C91A8 |
SchweringIsC isemiyamustdie |
| Innkeep Girl: Connie vs The Succubi Within (18+) Sealed Room Breed (18+) Sealed Room Breed 2 (18+) |
8E57E31998CD9253831E60AF | quingamepakc |
| Wolf RPG Editor v1.10 Wolf RPG Editor v1.20 Wolf RPG Editor v1.30 Wolf RPG Editor v1.31 Wolf RPG Editor v2.00 Wolf RPG Editor v2.01 Wolf RPG Editor v2.02a Paranoiac The Holy Grail Of Alharahn v1.12 |
F0356B1CFB9BED1D0370E32D | n/a |
| Gensokyo Shiki | 8607E9B9CE9ECEB9994E41BC | ypcd121231 |
| Labyrinth of Touhou - Special Disc | 9DF6E8099CC39999914DF0A3 | bobocof322 |
| Magic Castle RePure Aria (18+) The Paradise Fortress of RePure Aria (18+) The Paradise Fortress of RePure Aria 2 (18+) Rakuen Iseki no Limulilim (18+) Hide and seek v0.7 |
55AA2055550655AA55D57C66 | n/a |
| [Xi] High Priest Adventure (18+) | FFFFFFFFFFFFFFFFFFFFFFFF | n/a |
| [Xi] Viocide Vore Side Action RPG (18+) | 9DF6E5C88BCE90129B0BF0A3 | boost |
| Labyrinth of Touhou 2 | AD14C4698CEBB077923E32A5 | RANisGOD |
| Prelude (18+) | 760F1A237D5C730C94124E3C | n/a |
| Wolf RPG Editor v2.10 Misao v3.03 TSMS #4: The Hanged Man - Voiceless version TSMS #3: The Boogie Man v2 - Voiceless version TSMS #2: The Sandman v2 TSMS #1: The Crooked Man Mad Father v2.08 Mad Father v2.01 - English Midnight Puppeteer v1.08 Alicemare v1.07 Mermaid Swamp Purgatory 2 v1.70e One Way Heroics v1.88 |
B39DA084D737531FF1081880 | n/a |
| Wolf RPG Editor v2.20 Wolf RPG Editor v2.21 Wolf RPG Editor v2.24 Lola's World of Wonders Alternate DiMansion Diary (18+) Niplheim's Hunter - Branded Azel (18+) 1bitHeart Treasure Hunter Claire (18+) LiEat LiEat 2 LiEat 3 The Imperial Gatekeeper v1.32 (18+) I was Reborn as an Angel so I Decided to Conquer the World (18+) Paranoiac (remake) Artemis Pearl ~Pirate Princess Rubina and the Phantom Treasure~ v1.1.1 (18+) The Trap of Revil (18+) The Heroine Proceeds Alone (18+) Submissive Hero Quest Chapter 1 (18+) |
C705CA7D8DE3DEF1D90C85F4 | 8P@(rO!p;s5 |
| Hentai Eater (18+) | 8C57E9C98ACE8A919B0AE0AF | succubus |
| Maidens of a Hollow Dream (18+) | CE43C8DC096DA5FECE43BDDC CE43BDDCCE98C8B9894BA5FE |
unknown 1472 |
| Recover the Restarts! v0.11 | C857E0789ECFC8F6B90A70B4 | 7ujxac7H |
| unknown | 4CD92AB7289BAC073E77EC4C | unknown |
| Moekuri: Adorable + Tactical SRPG | 92F6E4686FCE9032CA1E00A3 92F6E4689EC19032CB1E00A 92F6E4689EC19032CB1E00A3 |
unknown unknown monya |
| Touhou Puppet Dance Performance - Shard of Dreams | 9B16FE3A98C2A0730B0BB590 | dat\gn_dat6\ |
| Touhou Rhythm Carnival! Scarlet | 9B16FE0D96C19E132B50E1B5 | dat/image/sy |
| Dungeon Town (18+) | 95F6EBA9B9EDBDB70B1980A3 | joaeFABBafeo |
| Castle Evil (18+) Suicider (18+) Happy Bird in Patino (18+) Minerva's Adventure - Slave One - (18+) Heroine Syndicate: Blessing of Goddess (18+) |
A933E2EAA8F4BD55B24C509D | V3hQWXBU |
| Trouble Travel ~Spirit Road~ (18+) Let's play with Eva (18+) |
D5FECEE4F3BEC7 (v8) | V3hQWXBU |
| TouchyAria Mini Game (18+) | unknown | unknown |
| Wolf RPG Editor v2.255 Wolf RPG Editor v2.264 Wolf RPG Editor v2.271 Two beasts or Not to Beast!! (18+) Kanade Rogue-like+ (18+) Artemis Pearl Omake v1.1 (18+) |
56F06CA787CF0E (v8) | WLFRPrO!p(;s5((8P@((UFWlu$#5(= |
| Len'en Mugenri ~ Evanescent Existence v1.20a Len'en Tasouken ~ Earthen Miraculous Sword v1.20a Len'en Reiretsuden ~ Reactivate Majestical Imperial v1.21a Len'en Ten'eisenki ~ Brilliant Pagoda or Haze Castle v1.20f |
B496F9E992CDB2D2A31A40BE | KisamaMiteir |
| Sanae Challenge! FUSION | 9EC6E3C99ACD93D21B1AC0A0 | alice |
Compatible Programs
- DXExtract
- touhouSE (+ source code)
- WolfDec + source
- DXADecodeW (+ source code)
- DXADecodeDEC / DXAEncodeDEC + mirror1
- DXArc (+ source code)
- DxLib + mirror1
- WolfRPGEditor
- Rosenkreuz Tool
Usage Examples
Here are some examples of using programs listed above:
Guessing the key:
DXArc.exe b "scenario.dat"
Extracting data with hex key:
DXADecode.exe -K:AC36E2889ADE96323B36E18F "script.dat"
Extracting data with ASCII key:
DXADecode.exe -K:RANisGOD img2.dxa
Creating new DX archive with custom ASCII key:
DXAEncode.exe -K:aabb1 in_dir out_file.dxa
Note: There is some bug in the tool that prevents creating proper archives for english users.
To fix this issue, you have to change your Windows locale settings to Japaneese.