developer's log
$ |5 R& b5 D9 X4 F8 q# W8 r! _& \, j
( o4 c: _' q1 g# DAdded extraction support for "Wintermute Engine"-games, DCP-files (by request)
) v, H: R7 |0 wThis format uses XOR-encryption to hide the file names.
" p( w) F* l! [" DNotes:5 O3 X: V* ~3 L1 u' U
It 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.5 v+ @0 w. T0 J. X |7 ?& |; c
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
复制代码 / B7 ?6 a( ?* w7 d
http://forum.xentax.com/viewtopi ... 0&sk=t&sd=a |