developer's log7 }4 z. J; g2 i! j9 d
( z8 ~& Y4 g+ T& n/ F$ M4 P
Added extraction support for "Wintermute Engine"-games, DCP-files (by request)
/ w7 S) t$ L% `6 t1 a) V$ G' N% eThis format uses XOR-encryption to hide the file names.
) v- L$ i' j. `! g/ F; ?Notes:
9 J: v M1 ]0 D8 Z: [4 D6 WIt was slightly difficult to find out what the XOR-encryption value for the file names is by "scanning" the EXE. After I found it the remains were an easy task.( Y- K& q4 A6 f* ~ Z2 m" T T" P
The file has a known <name-size-offset> structure.- DE AD C0 DE "JUNK" ;Magic ("DEAD CODE:JUNK")
- 00 02 00 00 ;Version, if < 200h, then no XOR-filename-encryption is used
- ;here some useless commentaries up to offset 7fh
- Offset 80h:
- DWORD ;Offset file table
- <Offset file table>:
- BYTE length(descr) ;Length of (useless) DCP-file description string
- BYTEs descr ;String, variable length of length(descr) incl. 0
- BYTE 0 ;terminator
- DWORD ;Number of files
- File table entries:
- BYTE ;Length file name
- BYTEs ? ;File name; XOR-encrypted if version=200h; XOR-Value=44h
- DWORD ;Offset file
- DWORD ;Uncompressed data length
- DWORD ;Comressed data length (0, if uncompressed); compression=ZLIB
- DWORD 0
- DWORD CRC(?) ;Only present if version =200h
- DWORD 0 ;Only present if version =200h
复制代码
& |8 M* p* ? F7 V( W' whttp://forum.xentax.com/viewtopi ... 0&sk=t&sd=a |