developer's log! s8 V ]# ~3 g. P" j- [( E
( Z) X' K3 Y3 U1 m4 I6 E
Added extraction support for "Wintermute Engine"-games, DCP-files (by request); v: I/ D9 g5 M# y3 p! w3 r% v
This format uses XOR-encryption to hide the file names.1 x0 k! x) N, W, _) Z, R0 f
Notes:
1 P" W V5 R0 w1 T0 D; c# u- a$ RIt 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.3 c& D% {& b1 m, C6 T+ N7 d/ G
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
复制代码
) e$ W( K# w3 t) S* O9 d. ]% Ohttp://forum.xentax.com/viewtopi ... 0&sk=t&sd=a |