GOBREAD是一个通用的游戏解包软件,支持很多游戏。1 U, t- i* d2 q' D3 D- S
它支持Wintermute引擎制造的游戏所用的DCP格式。, h& }" Q s. o: \$ u* J
T- f" H4 H ?% a- u
失落的王冠就是Wintermute引擎制造的。
4 ^& _& s: A" \5 ?8 `
: W7 R0 s" J: J5 S; ]' x, ~9 Y/ U用法以及支持游戏列表8 W: `2 R4 {( ]# O
' \6 G/ K1 j0 Q/ B* F- r9 z- G
Extracts container files from different programs into the current directory.' b4 ]6 c8 \. F9 D9 E
6 w* z& b" H) F9 F$ x; e+ F
Syntax: GOBREAD [{/|-}option] containerfile [{/|-}option]
" i3 {9 B2 X2 l$ i8 u5 p or GOBREAD {/|-}create{=|:}containerfile {/|-}option
% t& f" L7 B) A+ U4 ^: N; k7 I+ I& a$ J6 Z% Z
Options, Flags, Meaning:
6 r5 n0 W5 X& ^& L ]9 u I13C A 13th Century - Death or Glory, PAK-files
* V' n2 z: M0 m j2 o- P# cAFIST2 AC Armored Fist 2, RES-files8 x8 w! C% V8 a& X
AMERICA A America, RDA-files
( Q. ~$ p. J$ Z' d$ t6 b2 WASCEND Ascendancy, COB-files
V4 ~! v! h1 b, R3 c/ F8 J0 N. [AVP1 A Aliens versus Predator 1, FFL-files5 X# s) H0 K) l. J. q
WRS A Baggersimulator, WRS-file
- P9 Y9 E* F# w5 E; J* |& i0 N W$ dBLDRAYN A BloodRayne, POD-files
& U* P' L) d" \2 Y: oC3 AC Comanche 3, RES-files (s. a. AFIST2)2 \2 | n! k! A; T' y4 x; c$ j' q
COMBWING A Combat Wings, file 'data'
2 ]0 r; D: b- yCBN Dreamstripper (and others?), CBN-files2 T. w$ ^$ e7 ]6 z. V* j
CMD Commandos and -Expansion, WARGAME.DIR
. o. L1 s1 a2 Y8 [# v+ x2 LCOSS A Cossacks, GSx-files, F; a8 @7 z" s
CURSE A Curse: The Eye Of Isis, file GAME.AE
3 H) U- i+ f, G' h( @/ ?! kDAIK A Daikatana, PAK-files* b. _, ?! W( O# v+ D" a. q
DBTS C Die By The Sword, ATD-files
9 }( w1 v2 S% H/ @2 o2 S' ADCP A Wintermute Games, DCP-files' K+ c3 \2 `# N6 Y- w$ l% W$ N
DFGOB A Dark Forces, GOB-files
) J7 a9 [$ ?& P$ G- A. \' EDIGPUB A Digital Publishing, EXE-files
O% H+ S( r' U' {DK2 A Dungeon Keeper 2, WAD-files
0 h% P, x$ O! YDOA A Dawn Of Aces, TEX/TRN-files
" }8 a& k2 T, d5 Y; aDOMINION A Dominion, RDF-file% j! g& ?; R, y; Y) @9 @7 c8 I# j
DSA1 A Das schwarze Auge, ALF-files) ], w5 `9 F# p- Y
DSA4 A Das schwarze Auge: Drakensang, NPK-files
; {: t+ D4 x9 ^$ P% O/ R9 U: e oFFEAST Flesh Feast, MUF-files3 x( s, h. j! I- ?, x3 U3 O: Y) Z" ^
FS Gene Troopers/Chaser,FS-files (decompression not error-free)
. o8 e1 X/ O2 V( QGIANTS A Giants, GZP-files
2 A7 Y% R) ^! `$ `GRP AC GRP-files (Blood,DukeNukem3D,RedneckRampage...)6 [# J$ |; C4 `8 t& k0 t
GUT A GUT-files (Soldier, ShadowCompany...)( j9 m2 k( U. n" z0 z
H2AGG Heroes of Might and Magic 2, AGG-file5 L) W; K% r" a1 c" ^
H3SND Heroes of Might and Magic 3, SND-files
* W8 {4 w2 Y: S( _1 z# RH3VID Heroes of Might and Magic 3, VID-files( b% q0 {! [8 M+ E
HF Hellforces, RES-files
+ M3 I- Z9 x: a, N2 NHW A Hostile Waters, MNG-files
, |/ {. y6 c4 s9 I+ c. T) _. RIDPAK A ID-Software, PAK-files (Quake,Kingpin,HalfLife...)
5 Z t' A$ d! _8 ?, `% QJERICHO A Jericho, .packed-files
4 _8 z2 p: f3 `, h, m3 sKREED A Kreed, PAK-files
7 v( n( g. ?7 k$ S/ t) ^LB2 A Apache Longbow 2, TRE-files
1 G) @1 y9 P8 c: a! }$ ? DLFD A Lucas-Arts-Programs, LFD-files (DarkForces,TieFighter...)' P+ ^4 L' N0 @5 _5 N7 C1 s# }6 g
LHOG Legend: Hand of God, PAK(+DAT)-files( h$ T |8 F- Z& _
MIX A Command & Conquer Renegade, MIX-files
6 M/ T; a( l: w- [. ^4 t, WMESSIAH Messiah, DTA-files (IDX-file must also exist in source location)2 r; \. F: T& d+ ^ ?
MORTYR AC Mortyr, file MAIN.HAL
- W7 R+ X; v3 [* g6 ^8 T, ]MOTORACE Moto Racer, BKF-files2 R( b! ~7 F; o0 A
MONORES A Monolith Productions, RES-files (Blood2, Rage of Mages...)8 b% d6 ?. J9 A4 Q
NAM67 Shellshock NAM67, ASSETS??.DAT-files5 s# Z! `: T' m8 ]- G; p* Z: \
NASCAR2 Nascar Racing 2, DAT-files
* S8 J, G- c2 V& @8 L# COUTLAWS A Outlaws, LAB-files
8 R, Z v: m4 v; ^: i1 YOUTWARS Outwars, FF-files
; T: Z& t, s( @) z; b5 FPACSTORM A Pacific Storm, SMA-files, f' j6 {$ v( m8 L$ W* W/ Z, D
PATR2 A Patrizier 2, CPR-files% s) F# ?8 o2 A6 @, v5 u! h! Z
PEA A Panzer Elite Action, X-files
$ w) m- M0 V" X- T% s. O- ^' ^PFF A NovaLogic, PFF-files (DeltaForce, F16...)
4 e4 ^3 P8 P: e0 F7 UPOSTAL A Postal, SAK-files (not complete)
$ Y3 J5 ?& N( M% x' @7 Z' R7 sPRIV Privateer 1, TRE-files
1 m/ s/ |/ O9 w* L1 WPOD Terminal Velocity, POD-files/ E* G3 L9 {( M! u# y \1 F9 i
OFP Operation Flashpoint, PBO-files
+ a, P& B, E% Y( @1 c- _RAMP Rampage, BSA-file. X N9 T* K8 o/ q7 g9 W! o/ F
REDFACT A Red Faction, VPP-files
j5 M" B: b" Z5 R# NSC2K Sim City 2000, SC2000.DAT
) k! ~/ e F j$ F: }SS2 A Secret Service 2, CHR-/SS-files9 E! ~; |" m. C/ R$ ?& }# W
SSG A Space Siege, SS???-files
, ^3 E p" h3 k p1 cSIN A SIN 1, PAK-files; M6 D) ]) n R' c5 Q3 |/ F+ D
SLAK A Starship Troopers, SLAK-files
" B; I& F p% [SYSSHOCK A SystemShock 1, RES-files
- |2 t5 r9 V& K( N& c6 x+ cSTOLEN Stolen, BCB-files
: S5 S- W, \) `# STOMB3 C Tomb Raider 3, CDAUDIO.WAD& x5 k0 W+ F3 v. W$ v1 o
TUROK2 Turok 2, 11K/11C-files* U$ R1 f/ _2 k
WARCR2 AC Warcraft II (incl. expansion-CD)& b; D3 `) z) j }
PKR A XMEN2-Wolverine/Spiderman/PRO-BMX, PKR-files (BZIP2+WAVPACK reqd.)8 |; L1 V; d0 Q, `/ Y) l0 d4 O
WW2F A World War 2 Fighters, SQ?-files
! ]" _# X, F0 v4 G# M* ~. h8 w+ G( f g
4 m6 O* u( [& n/ d; D% M7 ^CREATE Create container file (not fully supported)
" J/ c# m ]6 M/ j. V g$ N& u* o" r9 ?! n" \* M5 b
8 l9 h3 v. G j& r' w0 D8 t8 l
Flags (informational only):
6 J% G4 i m8 N/ [/ b! N! U A Automatic format detection; if not shown, the format option MUST be given
# K6 G. h" k: E; a5 V0 ?2 X4 I C Creation of container file possible$ S3 E5 l6 c8 [3 C/ A
! P$ K0 W5 Q! l4 a! {1 A) mOption and filename can be given in any order.0 n) `8 \* V* B8 s( ?
: s' W% [9 @ A( b" l! w- V/ pExamples:7 @% {2 l6 Y5 }4 A9 [( v& i g
GOBREAD DATA.PAK = Extracts all files from DATA.PAK: l4 \+ L6 Z' p" N& {5 c6 @
if the format can be detected' {6 j* }9 d4 I6 [
GOBREAD DARK.COB -DF = Extracts all files from DARK.COB
5 w) |8 l0 G! q- |/ h forcing format "Dark Forces"$ X6 T5 V8 |1 v& @
GOBREAD /cbn file.cbn = Same as above, but other file format
' ]- r* n8 r( Z& d9 ? GOBREAD -CREATE=REDNECK.GRP /GRP = Creates "REDNECK.GRP"2 r( k1 l0 _$ x7 U. {- o6 M
from all files in current directory
: f' R/ z& A4 E7 ~ of type "GRP-Files"+ X5 r- B ~/ c4 i5 O
6 s$ r' q9 Y( y: f4 _+ I) c6 T
This program is freeware. Use it at your own risk. Only for private use.. {& |! L! m9 J7 d# S
" t& `8 ~5 k" d# }) V/ G
-------------------------------------------' z Q0 B# _6 y- U
DCP文件结构(做打包处理时可参考)
# I# k6 x- n# Q: J6 w------------------------------------------+ B _+ j6 s; V/ e7 c
& m& w2 s& r" s& s) U" B9 u$ T
Added extraction support for "Wintermute Engine"-games, DCP-files (by request) ]: {* @6 S$ q" @
This format uses XOR-encryption to hide the file names.9 P" [7 b0 @2 w% P
Notes:
$ ?. i4 B" {' w4 C* R5 `/ iIt 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 @) |$ I, v0 Y. F3 {. K3 E
The file has a known <name-size-offset> structure.* _ t' A+ r1 ^# ~
# Q, W2 `1 z9 C3 h2 H1 y
Format description:
9 h W, t& M: E( K& t
- l Q- L, d* g1 x+ r" j1 a. Y5 M8 m: K2 D
Code:2 p: y2 ?* d4 ]/ W
DE AD C0 DE "JUNK" ;Magic ("DEAD CODE:JUNK")
* {, P& E" Z2 h, i ?; _# {+ g. t00 02 00 00 ;Version, if < 200h, then no XOR-filename-encryption is used: x1 L5 Q0 \7 \
;here some useless commentaries up to offset 7fh
/ Q8 s* h# A: e: S. H, [7 ~, r7 b N; d0 ^
Offset 80h:2 g$ t7 v7 \. D
DWORD ;Offset file table
/ q* V3 A7 ~1 A) s
0 C7 J9 C4 G Q4 U7 x; s+ e<Offset file table>:
) n- A- A( m" g0 N6 X$ v; x; \! PBYTE length(descr) ;Length of (useless) DCP-file description string! t& S1 ^: _9 w2 j$ z4 ?
BYTEs descr ;String, variable length of length(descr) incl. 0, N% i; w# G0 |; X
BYTE 0 ;terminator, }) h0 Z. N( v2 \+ s+ W( }7 a6 h
+ h$ |0 h9 Q! A* g3 u- aDWORD ;Number of files
/ s X W7 {1 m+ ~+ ?; S- ^3 z( O0 v: B2 [8 K
File table entries:/ O( C8 U9 `& I% z+ c
% i1 J5 P& G" k3 G6 g
BYTE ;Length file name
8 D0 f7 \; j. x5 C1 y$ jBYTEs ? ;File name; XOR-encrypted if version=200h; XOR-Value=44h; ~6 [3 ]: B7 s) ^' N
DWORD ;Offset file
4 U3 D# R$ G8 \; CDWORD ;Uncompressed data length
8 g+ s" l: u- A! h2 kDWORD ;Comressed data length (0, if uncompressed); compression=ZLIB
5 _, o( f5 d0 P4 P, e* J @' VDWORD 0: D# U; U7 Y( [2 P3 k" x
DWORD CRC(?) ;Only present if version =200h
; U$ J% ]/ g$ ^0 M5 {DWORD 0 ;Only present if version =200h |