Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Little extractor program
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
Added: Extraction support for Nancy Drew
This is based on this post:
http://aluigi.freeforums.org/help-with- ... -t716.html
bugtest wrote a fine utility for testing the modified LZSS-(de-)compression. Without it I wouldn't never have found out this algorithm.
There is a "simple" encryption: The byte position is substracted from the bytecontent at the current position.
I am not sure if there is some directory structure or file type description.
Some data entries have zero length.
You have to evaluate the extracted files to find the proper file type (there are a lot of TGA-graphics, for example).
This is based on this post:
http://aluigi.freeforums.org/help-with- ... -t716.html
bugtest wrote a fine utility for testing the modified LZSS-(de-)compression. Without it I wouldn't never have found out this algorithm.
There is a "simple" encryption: The byte position is substracted from the bytecontent at the current position.
I am not sure if there is some directory structure or file type description.
Some data entries have zero length.
You have to evaluate the extracted files to find the proper file type (there are a lot of TGA-graphics, for example).
You do not have the required permissions to view the files attached to this post.
-
- veteran
- Posts: 130
- Joined: Sat Nov 01, 2008 12:02 pm
- Has thanked: 3 times
- Been thanked: 1 time
Re: Little extractor program
(1)At first .very thanks to asmxtx and bugtest!
(2)And then i also a few information to asmxtx and others.
In Nancy Drew 16,17,the pic file format is like some raw bmp file.
It looks likes this :
file head (18bytes)
24bit rgb raw data
Last line --->First line
and i have converted a pic to bmp by add a 54bytes bmp head with hand
(3)I have a question.
How to convert cif file to TGA picture?
Just change the file extend name or need add a file head?
Gobread can extract Nancy Drew 1-19 all ?
Can you add a to bmp option for nancy drew 16,17?
(2)And then i also a few information to asmxtx and others.
In Nancy Drew 16,17,the pic file format is like some raw bmp file.
It looks likes this :
file head (18bytes)
24bit rgb raw data
Last line --->First line
and i have converted a pic to bmp by add a 54bytes bmp head with hand
(3)I have a question.
How to convert cif file to TGA picture?
Just change the file extend name or need add a file head?
Gobread can extract Nancy Drew 1-19 all ?
Can you add a to bmp option for nancy drew 16,17?
You do not have the required permissions to view the files attached to this post.
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
@stevenx:
Simply use your favorite image processing software or a picture browser to handle this format.
It seems the picture format is TGA with transparency information.In Nancy Drew 16,17,the pic file format is like some raw bmp file.
Simply use your favorite image processing software or a picture browser to handle this format.
A CIF-file might be a container file. Extract it with "GOBREAD filename.cif".How to convert cif file to TGA picture?
It is tested with ND-17 only. ND-18 uses a different file format.Gobread can extract Nancy Drew 1-19 all ?
Sorry, no.Can you add a to bmp option for nancy drew 16,17?
-
- veteran
- Posts: 130
- Joined: Sat Nov 01, 2008 12:02 pm
- Has thanked: 3 times
- Been thanked: 1 time
Re: Little extractor program
@asmxtx
I want to change a file's name in the WME's .DCP file.
Can you tell me how to do it or make a file head output update?
If not,can you tell me the XOR key and file head structures so maybe i can make it myself?
I want to change a file's name in the WME's .DCP file.
Can you tell me how to do it or make a file head output update?
If not,can you tell me the XOR key and file head structures so maybe i can make it myself?
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
@stevenx
In general, once an extraction module works flawlessly, I will have deleted the game, shelved my source code and forgotten it.
I would not recommend to change filenames in a container file: The game might not gain access to predefined ressources.
I would recommend to leave the original file structure and add the edited files only.
Try if the game works with the extracted files and the not available container file (for safety rename it instead of deleting).
If so, just recover the original game, extract all files from the container into the right game directory, delete all files which you don't want to change, edit your file(s) and see if the game reflects your changes. (look for FILEMON/REGMON/PROCMON in this thread)
If this not works, you would have to program a DCP-repacker for all the extracted game files.
Here is my file declaration:
For your appeasement, I am currently working on an extractor for the remaining Nancy-Drew-container-versions (01...18).
But it will take some time...
In general, once an extraction module works flawlessly, I will have deleted the game, shelved my source code and forgotten it.
I would not recommend to change filenames in a container file: The game might not gain access to predefined ressources.
I would recommend to leave the original file structure and add the edited files only.
Try if the game works with the extracted files and the not available container file (for safety rename it instead of deleting).
If so, just recover the original game, extract all files from the container into the right game directory, delete all files which you don't want to change, edit your file(s) and see if the game reflects your changes. (look for FILEMON/REGMON/PROCMON in this thread)
If this not works, you would have to program a DCP-repacker for all the extracted game files.
Here is my file declaration:
Code: Select all
Magic:
DE AD C0 DE JUNK
00 02 00 00 Version, if <> 200h, then no XOR-encryption of filename
Table:
db len,description(len-1)
db 0
dword number_of_files
byte length name
bytes Name, (xor-value: 44h, only if Version 200h)
dword Offset data
dword uncompressed length of data
dword compressed length of data (or 0, if not compressed)
dword 0
dword CRC(?) ;only if Version 200h
dword 0 ;only if Version 200h
But it will take some time...
-
- veteran
- Posts: 130
- Joined: Sat Nov 01, 2008 12:02 pm
- Has thanked: 3 times
- Been thanked: 1 time
Re: Little extractor program
@asmxtx
At first ,very thanks for your hard work!
I will tell you why i want to change file name in .dcp file.
I have a WME adventure game made in german language,it can't be started at chinese windows XP. When the game access some german filename files ,it had exceptions. So,i
want to chang the german filename files into english filename.
Here is my plan A:
1. XOR .dcp with 44h ,so i can see and find the german filename
2.chang it into english filename
3.find the location which CALL FROM of german filename and chang it into english filename too.
(Maybe in .exe or other files)
4.After done these,i think it will well run in chinese windows XP without any setting.
Here is my plan B:
1.find the location which CALL FROM of german filename and chang it into english filename .
(Maybe in .exe or other files)
2.extract them from .dcp and put them in the same folder with changed english name .
3.After done these,i think it will well run in chinese windows XP without any setting.
I don't know which will be success before test.
At first ,very thanks for your hard work!
I will tell you why i want to change file name in .dcp file.
I have a WME adventure game made in german language,it can't be started at chinese windows XP. When the game access some german filename files ,it had exceptions. So,i
want to chang the german filename files into english filename.
Here is my plan A:
1. XOR .dcp with 44h ,so i can see and find the german filename
2.chang it into english filename
3.find the location which CALL FROM of german filename and chang it into english filename too.
(Maybe in .exe or other files)
4.After done these,i think it will well run in chinese windows XP without any setting.
Here is my plan B:
1.find the location which CALL FROM of german filename and chang it into english filename .
(Maybe in .exe or other files)
2.extract them from .dcp and put them in the same folder with changed english name .
3.After done these,i think it will well run in chinese windows XP without any setting.
I don't know which will be success before test.
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
@stevenx
It would not be the best to XOR the DCP-header.
As a very lazy man I would do the following:
- Extract all container files to somewhere.
- Create a list file of all extracted files like this:
- In this text file search for the target with a text editor. If you found a suspicious one, do a full-text-search in all extracted files in ASCII- and UNICODE-mode.
- If possible, replace the wrong name with an appropriate one in the found file(s).
- Rename the suspicious file to the new name.
- Add these changed files to the game directory keeping the directory structure intact.
---
I am about to finish my work on these annoying Nancy-Drew-files. Most of the content is stored as RAW data.
There are at least three data types in a "TREE"-file:
A "FILE"-file can contain another series of nested "FILE"-files. Therefore extracted files have to be extracted again.
It would not be the best to XOR the DCP-header.
As a very lazy man I would do the following:
- Extract all container files to somewhere.
- Create a list file of all extracted files like this:
Code: Select all
dir /b /s >FILELIST.TXT
- If possible, replace the wrong name with an appropriate one in the found file(s).
- Rename the suspicious file to the new name.
- Add these changed files to the game directory keeping the directory structure intact.
---
I am about to finish my work on these annoying Nancy-Drew-files. Most of the content is stored as RAW data.
There are at least three data types in a "TREE"-file:
Code: Select all
00 - Directory entry (?), has always zero-length, won't be extracted in the future
02 - Picture data, sometimes stored as TGA, sometimes as RAW, with or without transparency
03 - Some kind of data I can't recognize
-
- veteran
- Posts: 130
- Joined: Sat Nov 01, 2008 12:02 pm
- Has thanked: 3 times
- Been thanked: 1 time
Re: Little extractor program
@asmxtx
Thanks again,my friend.
I have use a way like yours to make the game run in my chinese windows XP.
And waiting yours ND extractor now...
And also a question,you said some game will first find if the same file exists out of the continer file. I made a test ,ND18,19 worked with the OUT files.But ND 16,17 does not worked.I have use filemon to checked,it read autotext.cif ... first. I won't to make a packer ,so i wnat to made it works.Can you give a little advice?Maybe it need add a head to the OUT file? I means autotext.cif and so on. I just want to translate it.
here is a pic of the german wme avg
Thanks again,my friend.
I have use a way like yours to make the game run in my chinese windows XP.
And waiting yours ND extractor now...
And also a question,you said some game will first find if the same file exists out of the continer file. I made a test ,ND18,19 worked with the OUT files.But ND 16,17 does not worked.I have use filemon to checked,it read autotext.cif ... first. I won't to make a packer ,so i wnat to made it works.Can you give a little advice?Maybe it need add a head to the OUT file? I means autotext.cif and so on. I just want to translate it.
here is a pic of the german wme avg
You do not have the required permissions to view the files attached to this post.
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
@stevenx
That means the programmers not simply chose to store original files into their containers (like in Wintermute, Quake, StarshipTroopers or other gory shooters), but they decided to remove irrelevant headers and informations from the original files and store only raw data with encryption+compression into their containers. It seems that this game won't run with original files in any case. Therefore it is immanent to know (or to guess) what type of data has been extracted.
Once a container is extracted, the obtained files might have to be converted to a generic format for further processing with an editor.
After editing (if possible) it is necessary to recompile these files to Nancy-Drew-raw-format and to put these files into a container.
Because I am not able to decrypt all fields in a container-table-entry I am not able to write a container-file-rebuilder - and I must admit I don't want to do that.
Maybe you could find a (commercial?) editor on the net, similar to Quake or something...
Nancy-Drew-files is a proprietary file format (like Tomb-Raider BIG-files).And also a question,you said some game will first find if the same file exists out of the continer file. I made a test ,ND18,19 worked with the OUT files.But ND 16,17 does not worked
That means the programmers not simply chose to store original files into their containers (like in Wintermute, Quake, StarshipTroopers or other gory shooters), but they decided to remove irrelevant headers and informations from the original files and store only raw data with encryption+compression into their containers. It seems that this game won't run with original files in any case. Therefore it is immanent to know (or to guess) what type of data has been extracted.
Once a container is extracted, the obtained files might have to be converted to a generic format for further processing with an editor.
After editing (if possible) it is necessary to recompile these files to Nancy-Drew-raw-format and to put these files into a container.
Because I am not able to decrypt all fields in a container-table-entry I am not able to write a container-file-rebuilder - and I must admit I don't want to do that.
Maybe you could find a (commercial?) editor on the net, similar to Quake or something...
- asmxtx
- veteran
- Posts: 127
- Joined: Sun Jun 08, 2008 10:32 pm
- Location: Developers Country
- Has thanked: 1 time
- Been thanked: 30 times
Re: Little extractor program
Added: Full extraction support for Monolith Games, ARCH??-files
Updated: F.E.A.R. 2: Project Origin, BNDL-/LVBNDL-files
Game info:
http://www.mobygames.com/game/windows/f ... ect-origin
I had to add the ARCH??-fileformat because GAUP (and maybe other unpackers) aren't able to recognize compressed data within the ARCH-files.
It was expecting to much to decompress such an amount of extracted files piece by piece.
Updated: F.E.A.R. 2: Project Origin, BNDL-/LVBNDL-files
Game info:
http://www.mobygames.com/game/windows/f ... ect-origin
I had to add the ARCH??-fileformat because GAUP (and maybe other unpackers) aren't able to recognize compressed data within the ARCH-files.
It was expecting to much to decompress such an amount of extracted files piece by piece.
You do not have the required permissions to view the files attached to this post.
-
- n00b
- Posts: 19
- Joined: Thu Jan 01, 2009 1:15 pm
- Location: www.sniperelitev2.66ghz.com
- Has thanked: 1 time
- Been thanked: 1 time
- Contact:
Re: Little extractor program
The .ttarch is a Telltale game extention that was used in many famous games such as Sam and Max,Bone and CSI.I wander if gobread could deal with it.