Last Update: 02/16/17
This file contains information about two programs I created to parse some of the files created by the initial version of Iomega's 1-Step Backup program. See the OverView Page for more information about the Iomega programs which created backup files. This page pertains to 'Image.113' files created by the dtiom98.exe dated The file format used in these files is described in 113 Format and is significantly different from the later Iomega 1-Step Backup Ver 5.3 which created *.1-Step files as described in 1-Step Format. At the end I also have a short discussion about the downloadable installers.
I installed the w32_iom221a_en.exe download on a machine running WinME and made a number of sample backups. Then explored the data that running this 1-Step backup program produced and reverse engineered the 113 format above. This was all done by inspection and guess work, some of it maybe wrong. I am giving fair warning that its speculation, and I can not be held liable for guessing wrong.
The backup program, dtiom98, has a couple command line options that are
set from the Win9x Programs menu for Iomega when the program is spawned:
Two C source code programs were written while attempting to work out the file format used to create the Image.113 backup files. The rd113 program will parse backup files that are in the *.113 format. The iocfg program will display information from the *.dbf files that are in the selection database which controls the files included in the backup. iocfg was a debug aid which I include as it maybe of interest for future work, but has nothing to do with actually extracting files from an *.113 backup.
rd113 version 0.91 compiled for LINUX usage: rd113 file-name [-c] [-f] [-p] [-v] [-vv] [-t] attempts to summarize or extract backup file contents optional -c display catalog from uncompressed file optional -f set flag to force uncompressed file mode optional -p set xtract , so only extract files at of below this optional -t save dir_list and run tests optional -v set verbose mode to display more fields optional -vv set very verbose display independently from -v optional -x set xtract flag, => all files unless -p is also setbash-4.2#
Above is the usage screen for this program if no arguments are given on the command line. The first argument must be a file name containing a file header that conforms to the *.113 file format. Ie it begins with the long signature value 0xAA55AA55.
If the source backup file passes this test rd113 then checks the first 8 bytes of the 4th file block at offset 0x15C00 to determine if the file is compressed. If compressed the headers for the compressed blocks will be displayed, but at this time the compression method has not been identified and the program will then exit. The current program was written using sample files from single disk backups. As detailed in Iomega 113 Backup File Format, only the first disk of a multi disk backup is formated with eight zero bytes at 0x115c00 for a compressed file, subsequent disks have none zero values.
If the disk file in question is known to contain uncompressed backup date, but is not the 1st disk in the file set, use the -f option. This forces uncompressed mode parsing and searchs for the first DIR_SIG == 0x33CC33CC after the start of data to begin the data parse. This is a temporary work around to validate multi-media disk backups and allow recovery when all media disks in data set are not retained. Typically in a multi media disk set the data is just appended to the file, if it runs out of space in the middle of writing a file it just reopens another file and starts appending data where it left off in the previous file. The current algorithm requires the data to start with the DIR_SIG = 0x33CC33CC and terminate with the FILE_SIG = 0x66996699. If these are not found (which is unlikely in a multi media disk image) and error occurs in the preceding file and the next disk image file will skip the remainder of the data when -f is used. So typically one looses one file with this work around.
If its an uncompressed backup file the data in the files region of the archive which starts at offset 0x15C00 will be displayed. If the -x command line option has been used files will also be extracted as they are displayed.
The default behavior if just a valid file name is given is to display a listing of the data which maybe directory and/or file entries from the file data region in the backup. Use the -c option to list the catalog. In this case the program looks for a valid catalog region and displays it if found.
The -v option sets verbose mode. This displays additional data for each entry
when the main files data region is being displayed. It has no effect on the
display of catalog data.
-x and -p are used by the extraction logic. Therefore they only work with
uncompressed files! -x sets extraction mode while the default is just to
list the file data. If -p is not used rd113 attempts to extract all files
in the backup to the pseudo drives trees that are created in the current directory.
-p maybe used to limit the files extracted to those in or below any
paths in the backup that are in or below a path in the backup the is a string
match with the string that follow the '-p' argument.
The -t option is another debug aid, and not intended for casual use. It runs
some comparative tests on the data in my struct dir_head.
If you really want to understand options -vv or -t look at the source code.
iocfg version 0.91 compiled for LINUX usage: iocfg ? [-d] where ? maybe '1' to '4' for one of *.dbf, or 'a' for all 1: fileinfo.dbf 2: files.dbf 3: tapes.dbf 4: volumes.dbf use '5' to parse version 4.4 '1-STEP.FSS' optional -d to display data in addition to field definitions
The usage display above is given if no input is entered. iocfg expects
and least on character after the program name on the command line.
Characters between '1' and '4' select one of the four know databases above
for display. Entering 'a' or 'A' selects all four files. By default it
displays the fields in each record for the selected files and exits.
useage: slib [-v] display contents of setup library file: currently only option is -v to enable verbose data display