developer's log' ^. g o7 @, O+ l
1 o. F9 Y& A$ q6 |4 C
Added extraction support for "Wintermute Engine"-games, DCP-files (by request)
, P# u! ^) P$ j, d7 o9 p% }: u/ ~This format uses XOR-encryption to hide the file names.& S- R/ {( K) m3 ?2 G
Notes:# q \! |9 u9 d+ c
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.8 L+ ?1 A* E6 K3 v4 z
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
复制代码
3 U0 O3 l5 ]& \$ ~http://forum.xentax.com/viewtopi ... 0&sk=t&sd=a |