Self-extracting ZIP
(→Sample files) |
|||
(6 intermediate revisions by one user not shown) | |||
Line 11: | Line 11: | ||
A self-extracting ZIP archive usually consists of an "executable stub" segment, followed by the part of the file containing the ZIP-formatted data. | A self-extracting ZIP archive usually consists of an "executable stub" segment, followed by the part of the file containing the ZIP-formatted data. | ||
− | In [[EXE]]-based formats, the ZIP data is usually placed in the "overlay" segment. So, signature bytes <code>'P' 'K' 0x03 0x04</code> usually appear at the start of the overlay segment, sometimes after a padding byte. | + | In [[EXE]]-based formats, the ZIP data is usually placed in the "overlay" segment (refer to [[MS-DOS EXE#Special file positions]]). So, signature bytes <code>'P' 'K' 0x03 0x04</code> usually appear at the start of the overlay segment, sometimes after a padding byte. |
=== DOS files made by PKZIP === | === DOS files made by PKZIP === | ||
− | Most versions of PKZIP for DOS include a ZIP2EXE.EXE utility that converts a ZIP file to a self-extracting archive. The files it creates can perhaps be put into four classes: | + | Most versions of [[PKZIP]] for DOS include a ZIP2EXE.EXE utility that converts a ZIP file to a self-extracting archive. The files it creates can perhaps be put into four classes: |
# The format made by PKZIP 0.90 to 1.02. Creating such files involves a convoluted method whereby the executable stub is copied from the original distribution file (e.g. PKZ090.EXE). The user must enable the feature by using the included MAKESFX.COM utility to generate the not-included PKSFX.PRG file required by ZIP2EXE.EXE. Every self-extracting EXE then begins with the bytes in PKSFX.PRG. | # The format made by PKZIP 0.90 to 1.02. Creating such files involves a convoluted method whereby the executable stub is copied from the original distribution file (e.g. PKZ090.EXE). The user must enable the feature by using the included MAKESFX.COM utility to generate the not-included PKSFX.PRG file required by ZIP2EXE.EXE. Every self-extracting EXE then begins with the bytes in PKSFX.PRG. | ||
# The "standard" format made by v1.10. The executable stub seems to be significantly different from earlier versions. Also, as of v1.10, the MAKESFX.COM method is no longer used. | # The "standard" format made by v1.10. The executable stub seems to be significantly different from earlier versions. Also, as of v1.10, the MAKESFX.COM method is no longer used. | ||
Line 21: | Line 21: | ||
== Software == | == Software == | ||
− | * | + | * [[PKZIP]] |
== Sample files == | == Sample files == | ||
− | * | + | Various: |
− | * | + | * {{CdTextfilesURL|vgaspectrum/animate/zip/}} |
+ | * {{CdTextfilesURL|swinnund/disk3/CLIPART/}} | ||
+ | |||
+ | Files made by ZIP2EXE from PKZIP: | ||
+ | * v1.01-1.02: (Note: Versions 1.01 and 1.02 produce identical files, reporting version number "1.01".) | ||
+ | ** {{CdTextfiles|smsharew/FINANCE/INVENT.ZIP|INVENT.ZIP}} → *.EXE | ||
+ | ** {{CdTextfiles|smsharew/GAMES2/VICTOR2.ZIP|VICTOR2.ZIP}} → *.EXE | ||
+ | * v1.10 | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/FOODS/QBOOK100.ZIP|QBOOK100.ZIP}} → SAMPLEDB.EXE | ||
+ | ** {{CdTextfiles|libris/COMMUNIC/NETWORKI/3172.ZIP|3172.ZIP}} → AUTOM.EXE | ||
+ | * v1.10, export version | ||
+ | ** {{CdTextfiles|libris/BUSINESS/CLIENT_M/3470.ZIP|3470.ZIP}} → CT1.EXE | ||
+ | ** {{CdTextfiles|libris/ENGINEER/3360.ZIP|3360.ZIP}} → TALKER.EXE | ||
+ | * v2.04c shareware | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/TRAVEL/FFLYER60.ZIP|FFLYER60.ZIP}} → FFLYER.EXE | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/LINGSTCS/ENTSPN13.ZIP|ENTSPN13.ZIP}} → SMGLOB.EXE | ||
+ | * v2.04c registered | ||
+ | ** [https://archive.org/details/Power_DOS_CD-ROM_Walnut_Creek_July_1995] → GAMES/PATCHES/HPATPG13.ZIP → HELL2.EXE | ||
+ | ** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → PRINTING/BBSPLV30.ZIP → UNZIPME.EXE | ||
+ | * v2.04c/e/g, "mini" format: (Note: Shareware v2.04c/e/g, and apparently registered 2.04c/e, all produce identical "mini" files, reporting version number "2.04c". A file containing "2.04g" is likely from a registered version of v2.04g.) | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/GRAPHICS/TXPNT18.ZIP|TXPNT18.ZIP}} → TXPNT18.EXE | ||
+ | * v2.04e shareware | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/EDITOR/NTUIT310.ZIP|NTUIT310.ZIP}} → NTUIT310.EXE | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/MAILNEWS/UKAPP151.ZIP|UKAPP151.ZIP}} → YARN.EXE | ||
+ | * v2.04e registered | ||
+ | ** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → EDUCATE/CONST10.ZIP → CONST101.EXE, EDUCATE/MOG20.ZIP → MOG201.EXE | ||
+ | * v2.04g shareware | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/DISKUTIL/DKCARE40.ZIP|DKCARE40.ZIP}} → DISK.EXE | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/GRAPHICS/3D_LAND.ZIP|3D_LAND.ZIP}} → 3DLAND_A.EXE | ||
+ | * v2.04g shareware, "Shareware Marketing" edition | ||
+ | ** {{CdTextfiles|simtel/simtel9703/disk2/DISC2/SYSUTL/DOS94_01.ZIP|DOS94_01.ZIP}} → DOS94-01.EXE | ||
+ | * v2.04g registered | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/DISKUTIL/FSAVE11.ZIP|FSAVE11.ZIP}} → ZIPSPL12.EXE | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/RECREATN/BIOD204B.ZIP|IOD204B.ZIP}} → Bio.exe | ||
+ | * v2.04g registered, "Shareware Marketing" edition | ||
+ | ** [https://archive.org/details/So_Much_Shareware_5_CD-ROM_Power_User_Software_1995] → FINANCE/FTTLV500.ZIP → HJS.EXE | ||
+ | * v2.04g registered, "mini" format | ||
+ | ** {{CdTextfiles|simtel/stmsdos9709/disk1/DISC1/HAMRADIO/LOGEQF83.ZIP|LOGEQF83.ZIP}} → LOGEQF.EXE | ||
== Links == | == Links == |
Latest revision as of 16:35, 16 November 2024
Self-extracting ZIP is a family of a executable/ZIP hybrid formats. On a compatible operating system, such a file can be executed, and it will extract the files contained in it.
Alternatively, it can usually be processed as if it were a ZIP file, even on an incompatible operating system. Renaming the file to end in ".zip" may make this easier.
Contents |
[edit] Format details
A self-extracting ZIP archive usually consists of an "executable stub" segment, followed by the part of the file containing the ZIP-formatted data.
In EXE-based formats, the ZIP data is usually placed in the "overlay" segment (refer to MS-DOS EXE#Special file positions). So, signature bytes 'P' 'K' 0x03 0x04
usually appear at the start of the overlay segment, sometimes after a padding byte.
[edit] DOS files made by PKZIP
Most versions of PKZIP for DOS include a ZIP2EXE.EXE utility that converts a ZIP file to a self-extracting archive. The files it creates can perhaps be put into four classes:
- The format made by PKZIP 0.90 to 1.02. Creating such files involves a convoluted method whereby the executable stub is copied from the original distribution file (e.g. PKZ090.EXE). The user must enable the feature by using the included MAKESFX.COM utility to generate the not-included PKSFX.PRG file required by ZIP2EXE.EXE. Every self-extracting EXE then begins with the bytes in PKSFX.PRG.
- The "standard" format made by v1.10. The executable stub seems to be significantly different from earlier versions. Also, as of v1.10, the MAKESFX.COM method is no longer used.
- The "standard" format made by v2.04c and higher. The executable stub is pre-compressed with PKLITE.
- The "PKSFXjr" format supported by v1.10+, selected using ZIP2EXE's
-j
option. This is also known as "Mini" or "Junior" format. PKSFXjr files have a smaller size overhead, but limited features. Only a single compression method is supported (Implode or Deflate, depending on the version).
[edit] Software
[edit] Sample files
Various:
Files made by ZIP2EXE from PKZIP:
- v1.01-1.02: (Note: Versions 1.01 and 1.02 produce identical files, reporting version number "1.01".)
- INVENT.ZIP → *.EXE
- VICTOR2.ZIP → *.EXE
- v1.10
- QBOOK100.ZIP → SAMPLEDB.EXE
- 3172.ZIP → AUTOM.EXE
- v1.10, export version
- v2.04c shareware
- FFLYER60.ZIP → FFLYER.EXE
- ENTSPN13.ZIP → SMGLOB.EXE
- v2.04c registered
- v2.04c/e/g, "mini" format: (Note: Shareware v2.04c/e/g, and apparently registered 2.04c/e, all produce identical "mini" files, reporting version number "2.04c". A file containing "2.04g" is likely from a registered version of v2.04g.)
- TXPNT18.ZIP → TXPNT18.EXE
- v2.04e shareware
- NTUIT310.ZIP → NTUIT310.EXE
- UKAPP151.ZIP → YARN.EXE
- v2.04e registered
- [3] → EDUCATE/CONST10.ZIP → CONST101.EXE, EDUCATE/MOG20.ZIP → MOG201.EXE
- v2.04g shareware
- DKCARE40.ZIP → DISK.EXE
- 3D_LAND.ZIP → 3DLAND_A.EXE
- v2.04g shareware, "Shareware Marketing" edition
- DOS94_01.ZIP → DOS94-01.EXE
- v2.04g registered
- FSAVE11.ZIP → ZIPSPL12.EXE
- IOD204B.ZIP → Bio.exe
- v2.04g registered, "Shareware Marketing" edition
- [4] → FINANCE/FTTLV500.ZIP → HJS.EXE
- v2.04g registered, "mini" format
- LOGEQF83.ZIP → LOGEQF.EXE