Softlib

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
  
 
Standalone archived files in this format might have a .SLB extension (or might not; Softlib didn't enforce particular file naming conventions), but the self-extracting version (as a .EXE file) was more commonly encountered. One distinctive feature of Softlib-archived self-installers is that when you execute them from the DOS command line with the parameter /VER added, they display version information including the version of Softlib that was used to create the archive.
 
Standalone archived files in this format might have a .SLB extension (or might not; Softlib didn't enforce particular file naming conventions), but the self-extracting version (as a .EXE file) was more commonly encountered. One distinctive feature of Softlib-archived self-installers is that when you execute them from the DOS command line with the parameter /VER added, they display version information including the version of Softlib that was used to create the archive.
 +
 +
== Format ==
 +
 +
If the file is a self-extracting archive, you first need to skip the executable code; this is done by reading the first six bytes of the file, bytes 0 through 5, and then treating bytes 2 and 3 as an unsigned integer (call it a), and bytes 4 and 5 as another unsigned integer (call it b), and calculating a + 512*(b-1) (this may require use of a long integer variable). The result is the byte offset where the file data starts.
 +
 +
The data is structured like this:
 +
 +
Bytes 0-3: The capital letters SLIB. This identifies the file as a Softlib archive.
 +
 +
Bytes 4-5: Version number of Softlib needed to extract file (multipled by 100, so 4.1 would be 410) as unsigned integer
 +
 +
Bytes 6-7: Number of files in archive (unsigned integer)
 +
 +
(In versions prior to 3.0, this is the end of the header, and individual files proceed starting in the next byte. In later versions, the header continues:)
 +
 +
(to be finished later)

Revision as of 02:50, 20 November 2012

File Format
Name Softlib
Ontology
Extension(s) .slb

Softlib was a compression/archiving program used by Softdisk Publishing in the 1990s as a container format for their programs and data, but not actually released directly as a published program. Some game data files used in the Gamer's Edge product were compressed this way (with the decompression algorithm built into the game program itself), and various self-extracting installers for Softdisk products used the Softlib format for their compressed data.

Standalone archived files in this format might have a .SLB extension (or might not; Softlib didn't enforce particular file naming conventions), but the self-extracting version (as a .EXE file) was more commonly encountered. One distinctive feature of Softlib-archived self-installers is that when you execute them from the DOS command line with the parameter /VER added, they display version information including the version of Softlib that was used to create the archive.

Format

If the file is a self-extracting archive, you first need to skip the executable code; this is done by reading the first six bytes of the file, bytes 0 through 5, and then treating bytes 2 and 3 as an unsigned integer (call it a), and bytes 4 and 5 as another unsigned integer (call it b), and calculating a + 512*(b-1) (this may require use of a long integer variable). The result is the byte offset where the file data starts.

The data is structured like this:

Bytes 0-3: The capital letters SLIB. This identifies the file as a Softlib archive.

Bytes 4-5: Version number of Softlib needed to extract file (multipled by 100, so 4.1 would be 410) as unsigned integer

Bytes 6-7: Number of files in archive (unsigned integer)

(In versions prior to 3.0, this is the end of the header, and individual files proceed starting in the next byte. In later versions, the header continues:)

(to be finished later)

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox