PC-Shrink

From Just Solve the File Format Problem
Revision as of 16:57, 1 March 2023 by Jsummers (Talk | contribs)

Jump to: navigation, search
File Format
Name PC-Shrink
Ontology
Extension(s) .shr, .001, ...

PC-Shrink a compression/archiving utility, and a component of PC-Install. PC-Install is installation software for DOS and Windows, developed by 20/20 Software.

Its file format is .SHR. The format might also be embedded in some self-extracting installer files -- more research is needed.

It uses PKWARE DCL Implode compression.

There are two known versions of SHR format. We'll call them "old" and "new", on the assumption that the one with generally larger segments and fields is newer.

Contents

File structure

The information here is based on educated guesswork. It was written for the fileformats.archiveteam.org wiki.

An SHR file starts with a fixed-size archive header. Normally, this is followed by a sequence of member files, each with a fixed-size file header. Multi-part archives are different, though -- best guess is that the data after the archive headers needs to be collected and concatenated.

Old format file structure

The archive header size is 56 bytes. Each file header is 48 bytes.

Archive header:

Offset Length Description
0 13 Usually all 0x00 bytes.
13 1 Always 0x74.
14 2 Number of member files.
16 1 Always or usually 0x74.
17 39 Usually all 0x00 bytes.

New format file structure

The archive header size is 58 bytes. Each file header is 168 bytes.

Archive header:

Offset Length Description
0 14 All 0x00 bytes for a single part archive. A filename appears here if the file is part of a multi-part archive.
14 2 Always 0x74 0x00.
16 2 Number of member files.
18 2 0x74 0x00 for a single-part archive, or the initial file of a multi-part archive. 0x75 0x00 for non-initial files.
20 38 Usually all 0x00 bytes. But, for example, the first byte is 0x05 in some self-extracting installers.

Software

Sample files

Old format:

New format:

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox