xref: /openbsd-src/usr.bin/file/magdir/archive (revision 2b0358df1d88d06ef4139321dd05bd5e05d91eaf)
1#	$OpenBSD: archive,v 1.5 2008/05/08 01:40:57 chl Exp $
2
3#------------------------------------------------------------------------------
4# archive:  file(1) magic for archive formats (see also "msdos" for self-
5#           extracting compressed archives)
6#
7# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
8# pre-POSIX "tar" archives are handled in the C code.
9
10# POSIX tar archives
11257	string		ustar\0		POSIX tar archive
12257	string		ustar\040\040\0	GNU tar archive
13
14# cpio archives
15#
16# Yes, the top two "cpio archive" formats *are* supposed to just be "short".
17# The idea is to indicate archives produced on machines with the same
18# byte order as the machine running "file" with "cpio archive", and
19# to indicate archives produced on machines with the opposite byte order
20# from the machine running "file" with "byte-swapped cpio archive".
21#
22# The SVR4 "cpio(4)" hints that there are additional formats, but they
23# are defined as "short"s; I think all the new formats are
24# character-header formats and thus are strings, not numbers.
250	short		070707		cpio archive
260	short		0143561		byte-swapped cpio archive
270	string		070707		ASCII cpio archive (pre-SVR4 or odc)
280	string		070701		ASCII cpio archive (SVR4 with no CRC)
290	string		070702		ASCII cpio archive (SVR4 with CRC)
30
31# Debian package (needs to go before regular portable archives)
32#
330	string		=!<arch>\ndebian
34>8	string		debian-split	part of multipart Debian package
35>8	string		debian-binary	Debian binary package
36>68	string		>\0		(format %s)
37# These next two lines do not work, because a bzip2 Debian archive
38# still uses gzip for the control.tar (first in the archive).  Only
39# data.tar varies, and the location of its filename varies too.
40# file/libmagic does not current have support for ascii-string based
41# (offsets) as of 2005-09-15.
42#>81	string		bz2		\b, uses bzip2 compression
43#>84	string		gz		\b, uses gzip compression
44#>136	ledate		x		created: %s
45
46# other archives
470	long		0177555		very old archive
480	short		0177555		very old PDP-11 archive
490	long		0177545		old archive
500	short		0177545		old PDP-11 archive
510	long		0100554		apl workspace
520	string		=<ar>		archive
53
54# MIPS archive (needs to go before regular portable archives)
55#
560	string	=!<arch>\n__________E	MIPS archive
57>20	string	U			with MIPS Ucode members
58>21	string	L			with MIPSEL members
59>21	string	B			with MIPSEB members
60>19	string	L			and an EL hash table
61>19	string	B			and an EB hash table
62>22	string	X			-- out of date
63
640	string		-h-		Software Tools format archive text
65
66#
67# XXX - why are there multiple <ar> thingies?  Note that 0x213c6172 is
68# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
69#
70# 0	string		=!<arch>		current ar archive
71# 0	long		0x213c6172	archive file
72#
73# and for SVR1 archives, we have:
74#
75# 0	string		\<ar>		System V Release 1 ar archive
76# 0	string		=<ar>		archive
77#
78# XXX - did Aegis really store shared libraries, breakpointed modules,
79# and absolute code program modules in the same format as new-style
80# "ar" archives?
81#
820	string		=!<arch>		current ar archive
83>8	string		__.SYMDEF	random library
84>0	belong		=65538		- pre SR9.5
85>0	belong		=65539		- post SR9.5
86>0	beshort		2		- object archive
87>0	beshort		3		- shared library module
88>0	beshort		4		- debug break-pointed module
89>0	beshort		5		- absolute code program module
900	string		\<ar>		System V Release 1 ar archive
910	string		=<ar>		archive
92#
93# XXX - from "vax", which appears to collect a bunch of byte-swapped
94# thingies, to help you recognize VAX files on big-endian machines;
95# with "leshort", "lelong", and "string", that's no longer necessary....
96#
970	belong		0x65ff0000	VAX 3.0 archive
980	belong		0x3c61723e	VAX 5.0 archive
99#
1000	long		0x213c6172	archive file
1010	lelong		0177555		very old VAX archive
1020	leshort		0177555		very old PDP-11 archive
103#
104# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
105# be a random library (it said 0xff65 rather than 0177545).
106#
1070	lelong		0177545		old VAX archive
108>8	string		__.SYMDEF	random library
1090	leshort		0177545		old PDP-11 archive
110>8	string		__.SYMDEF	random library
111#
112# From "pdp" (but why a 4-byte quantity?)
113#
1140	lelong		0x39bed		PDP-11 old archive
1150	lelong		0x39bee		PDP-11 4.0 archive
116
117# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
118#
119# The first byte is the magic (0x1a), byte 2 is the compression type for
120# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
121# filename of the first file (null terminated).  Since some types collide
122# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
123# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%).  0x01 collides with terminfo.
1240	lelong&0x8080ffff	0x0000081a	ARC archive data, dynamic LZW
1250	lelong&0x8080ffff	0x0000091a	ARC archive data, squashed
1260	lelong&0x8080ffff	0x0000021a	ARC archive data, uncompressed
1270	lelong&0x8080ffff	0x0000031a	ARC archive data, packed
1280	lelong&0x8080ffff	0x0000041a	ARC archive data, squeezed
1290	lelong&0x8080ffff	0x0000061a	ARC archive data, crunched
130# [JW] stuff taken from idarc, obviously ARC successors:
1310	lelong&0x8080ffff	0x00000a1a	PAK archive data
1320	lelong&0x8080ffff	0x0000141a	ARC+ archive data
1330	lelong&0x8080ffff	0x0000481a	HYP archive data
134
135# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
136# I can't create either SPARK or ArcFS archives so I have not tested this stuff
137# [GRR:  the original entries collide with ARC, above; replaced with combined
138#  version (not tested)]
139#0	byte		0x1a		RISC OS archive (spark format)
1400	string		\032archive	RISC OS archive (ArcFS format)
1410       string          Archive\000     RISC OS archive (ArcFS format)
142
143# All these were taken from idarc, many could not be verified. Unfortunately,
144# there were many low-quality sigs, i.e. easy to trigger false positives.
145# Please notify me of any real-world fishy/ambiguous signatures and I'll try
146# to get my hands on the actual archiver and see if I find something better. [JW]
147# probably many can be enhanced by finding some 0-byte or control char near the start
148
149# idarc calls this Crush/Uncompressed... *shrug*
1500	string	CRUSH Crush archive data
151# Squeeze It (.sqz)
1520	string	HLSQZ Squeeze It archive data
153# SQWEZ
1540	string	SQWEZ SQWEZ archive data
155# HPack (.hpk)
1560	string	HPAK HPack archive data
157# HAP
1580	string	\x91\x33HF HAP archive data
159# MD/MDCD
1600	string	MDmd MDCD archive data
161# LIM
1620	string	LIM\x1a LIM archive data
163# SAR
1643	string	LH5 SAR archive data
165# BSArc/BS2
1660	string	\212\3SB \0 BSArc/BS2 archive data
167# MAR
1682	string	=-ah MAR archive data
169# ACB
1700	belong&0x00f800ff	0x00800000 ACB archive data
171# CPZ
172# TODO, this is what idarc says: 0	string	\0\0\0 CPZ archive data
173# JRC
1740	string	JRchive JRC archive data
175# Quantum
1760	string	DS\0 Quantum archive data
177# ReSOF
1780	string	PK\3\6 ReSOF archive data
179# QuArk
1800	string	7\4 QuArk archive data
181# YAC
18214	string	YC YAC archive data
183# X1
1840	string	X1 X1 archive data
1850	string	XhDr X1 archive data
186# CDC Codec (.dqt)
1870	belong&0xffffe000	0x76ff2000 CDC Codec archive data
188# AMGC
1890	string	\xad6" AMGC archive data
190# NuLIB
1910	string	NõFélå NuLIB archive data
192# PakLeo
1930	string	LEOLZW PAKLeo archive data
194# ChArc
1950	string	SChF ChArc archive data
196# PSA
1970	string	PSA PSA archive data
198# CrossePAC
1990	string	DSIGDCC CrossePAC archive data
200# Freeze
2010	string	\x1f\x9f\x4a\x10\x0a Freeze archive data
202# KBoom
2030	string	¨MP¨ KBoom archive data
204# NSQ, must go after CDC Codec
2050	string	\x76\xff NSQ archive data
206# DPA
2070	string	Dirk\ Paehl DPA archive data
208# BA
209# TODO: idarc says "bytes 0-2 == bytes 3-5"
210# TTComp
2110	string	\0\6 TTComp archive data
212# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
2130	string	ESP ESP archive data
214# ZPack
2150	string	\1ZPK\1 ZPack archive data
216# Sky
2170	string	\xbc\x40 Sky archive data
218# UFA
2190	string	UFA UFA archive data
220# Dry
2210	string	=-H2O DRY archive data
222# FoxSQZ
2230	string	FOXSQZ FoxSQZ archive data
224# AR7
2250	string	,AR7 AR7 archive data
226# PPMZ
2270	string	PPMZ PPMZ archive data
228# MS Compress
2294	string	\x88\xf0\x27 MS Compress archive data
230# updated by Joerg Jenderek
231>9	string	\0
232>>0	string	KWAJ
233>>>7	string	\321\003	MS Compress archive data
234>>>>14	ulong	>0		\b, original size: %ld bytes
235>>>>18		ubyte	>0x65
236>>>>>18		string	x    	\b, was %.8s
237>>>>>(10.b-4)	string	x    	\b.%.3s
238# MP3 (archiver, not lossy audio compression)
2390	string	MP3\x1a MP3-Archiver archive data
240# ZET
2410	string	OZÝ ZET archive data
242# TSComp
2430	string	\x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
244# ARQ
2450	string	gW\4\1 ARQ archive data
246# Squash
2473	string	OctSqu Squash archive data
248# Terse
2490	string	\5\1\1\0 Terse archive data
250# PUCrunch
2510	string	\x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
252# UHarc
2530	string	UHA UHarc archive data
254# ABComp
2550	string	\2AB ABComp archive data
2560	string	\3AB2 ABComp archive data
257# CMP
2580	string	CO\0 CMP archive data
259# Splint
2600	string	\x93\xb9\x06 Splint archive data
261# InstallShield
2620	string	 \x13\x5d\x65\x8c InstallShield Z archive Data
263# Gather
2641	string	GTH Gather archive data
265# BOA
2660	string	BOA BOA archive data
267# RAX
2680	string	ULEB\xa RAX archive data
269# Xtreme
2700	string	ULEB\0 Xtreme archive data
271# Pack Magic
2720	string	@â\1\0 Pack Magic archive data
273# BTS
2740	belong&0xfeffffff	0x1a034465 BTS archive data
275# ELI 5750
2760	string	Ora\  ELI 5750 archive data
277# QFC
2780	string	\x1aFC\x1a QFC archive data
2790	string	\x1aQF\x1a QFC archive data
280# PRO-PACK
2810	string	RNC PRO-PACK archive data
282# 777
2830	string	777 777 archive data
284# LZS221
2850	string	sTaC LZS221 archive data
286# HPA
2870	string	HPA HPA archive data
288# Arhangel
2890	string	LG Arhangel archive data
290# EXP1, uses bzip2
2910	string	0123456789012345BZh EXP1 archive data
292# IMP
2930	string	IMP\xa IMP archive data
294# NRV
2950	string	\x00\x9E\x6E\x72\x76\xFF NRV archive data
296# Squish
2970	string	\x73\xb2\x90\xf4 Squish archive data
298# Par
2990	string	PHILIPP Par archive data
3000	string	PAR Par archive data
301# HIT
3020	string	UB HIT archive data
303# SBX
3040	belong&0xfffff000	0x53423000 SBX archive data
305# NaShrink
3060	string	NSK NaShrink archive data
307# SAPCAR
3080	string	#\ CAR\ archive\ header SAPCAR archive data
3090	string	CAR\ 2.00RG SAPCAR archive data
310# Disintegrator
3110	string	DST Disintegrator archive data
312# ASD
3130	string	ASD ASD archive data
314# InstallShield CAB
3150	string	ISc( InstallShield CAB
316# TOP4
3170	string	T4\x1a TOP4 archive data
318# BatComp left out: sig looks like COM executable
319# so TODO: get real 4dos batcomp file and find sig
320# BlakHole
3210	string	BH\5\7 BlakHole archive data
322# BIX
3230	string	BIX0 BIX archive data
324# ChiefLZA
3250	string	ChfLZ ChiefLZA archive data
326# Blink
3270	string	Blink Blink archive data
328# Logitech Compress
3290	string	\xda\xfa Logitech Compress archive data
330# ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
3311	string	(C)\ STEPANYUK ARS-Sfx archive data
332# AKT/AKT32
3330	string	AKT32 AKT32 archive data
3340	string	AKT AKT archive data
335# NPack
3360	string	MSTSM NPack archive data
337# PFT
3380	string	\0\x50\0\x14 PFT archive data
339# SemOne
3400	string	SEM SemOne archive data
341# PPMD
3420	string	\x8f\xaf\xac\x84 PPMD archive data
343# FIZ
3440	string	FIZ FIZ archive data
345# MSXiE
3460	belong&0xfffff0f0	0x4d530000 MSXiE archive data
347# DeepFreezer
3480	belong&0xfffffff0	0x797a3030 DeepFreezer archive data
349# DC
3500	string	=<DC- DC archive data
351# TPac
3520	string	\4TPAC\3 TPac archive data
353# Ai
3540	string	Ai\1\1\0 Ai archive data
3550	string	Ai\1\0\0 Ai archive data
356# Ai32
3570	string	Ai\2\0 Ai32 archive data
3580	string	Ai\2\1 Ai32 archive data
359# SBC
3600	string	SBC SBC archive data
361# Ybs
3620	string	YBS Ybs archive data
363# DitPack
3640	string	\x9e\0\0 DitPack archive data
365# DMS
3660	string	DMS! DMS archive data
367# EPC
3680	string	\x8f\xaf\xac\x8c EPC archive data
369# VSARC
3700	string	VS\x1a VSARC archive data
371# PDZ
3720	string	PDZ PDZ archive data
373# ReDuq
3740	string	rdqx ReDuq archive data
375# GCA
3760	string	GCAX GCA archive data
377# PPMN
3780	string	pN PPMN archive data
379# WinImage
3803	string	WINIMAGE WinImage archive data
381# Compressia
3820	string	CMP0CMP Compressia archive data
383# UHBC
3840	string	UHB UHBC archive data
385# WinHKI
3860	string	\x61\x5C\x04\x05 WinHKI archive data
387# WWPack data file
3880	string	WWP WWPack archive data
389# BSN (BSA, PTS-DOS)
3900	string	\xffBSG BSN archive data
3911	string	\xffBSG BSN archive data
3923	string	\xffBSG BSN archive data
3931	string	\0\xae\2 BSN archive data
3941	string	\0\xae\3 BSN archive data
3951	string	\0\xae\7 BSN archive data
396# AIN
3970	string	\x33\x18 AIN archive data
3980	string	\x33\x17 AIN archive data
399# XPA32
4000	string	xpa\0\1 XPA32 archive data
401# SZip (TODO: doesn't catch all versions)
4020	string	SZ\x0a\4 SZip archive data
403# XPack DiskImage
4040	string	jm XPack DiskImage archive data
405# XPack Data
4060	string	xpa XPack archive data
407# XPack Single Data
4080	string	Í\ jm XPack single archive data
409
410# TODO: missing due to unknown magic/magic at end of file:
411#DWC
412#ARG
413#ZAR
414#PC/3270
415#InstallIt
416#RKive
417#RK
418#XPack Diskimage
419
420# These were inspired by idarc, but actually verified
421# Dzip archiver (.dz)
4220	string	DZ Dzip archive data
423>2	byte	x \b, version %i
424>3	byte	x \b.%i
425# ZZip archiver (.zz)
4260	string	ZZ\ \0\0 ZZip archive data
4270	string	ZZ0 ZZip archive data
428# PAQ archiver (.paq)
4290	string	\xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
4300	string	PAQ PAQ archive data
431>3	byte&0xf0	0x30
432>>3	byte	x (v%c)
433# JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
4340xe	string	\x1aJar\x1b JAR (ARJ Software, Inc.) archive data
4350	string	JARCS JAR (ARJ Software, Inc.) archive data
436
437# ARJ archiver (jason@jarthur.Claremont.EDU)
4380	leshort		0xea60		ARJ archive data
439>5	byte		x		\b, v%d,
440>8	byte		&0x04		multi-volume,
441>8	byte		&0x10		slash-switched,
442>8	byte		&0x20		backup,
443>34	string		x		original name: %s,
444>7	byte		0		os: MS-DOS
445>7	byte		1		os: PRIMOS
446>7	byte		2		os: Unix
447>7	byte		3		os: Amiga
448>7	byte		4		os: Macintosh
449>7	byte		5		os: OS/2
450>7	byte		6		os: Apple ][ GS
451>7	byte		7		os: Atari ST
452>7	byte		8		os: NeXT
453>7	byte		9		os: VAX/VMS
454>3	byte		>0		%d]
455# [JW] idarc says this is also possible
4562	leshort		0xea60		ARJ archive data
457
458# HA archiver (Greg Roelofs, newt@uchicago.edu)
459# This is a really bad format. A file containing HAWAII will match this...
460#0	string		HA		HA archive data,
461#>2	leshort		=1		1 file,
462#>2	leshort		>1		%u files,
463#>4	byte&0x0f	=0		first is type CPY
464#>4	byte&0x0f	=1		first is type ASC
465#>4	byte&0x0f	=2		first is type HSC
466#>4	byte&0x0f	=0x0e		first is type DIR
467#>4	byte&0x0f	=0x0f		first is type SPECIAL
468# suggestion: at least identify small archives (<1024 files)
4690  belong&0xffff00fc 0x48410000 HA archive data
470>2	leshort		=1		1 file,
471>2	leshort		>1		%u files,
472>4	byte&0x0f	=0		first is type CPY
473>4	byte&0x0f	=1		first is type ASC
474>4	byte&0x0f	=2		first is type HSC
475>4	byte&0x0f	=0x0e		first is type DIR
476>4	byte&0x0f	=0x0f		first is type SPECIAL
477
478# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
4790	string		HPAK		HPACK archive data
480
481# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
4820	string		\351,\001JAM\ 		JAM archive,
483>7	string		>\0			version %.4s
484>0x26	byte		=0x27			-
485>>0x2b	string          >\0			label %.11s,
486>>0x27	lelong		x			serial %08x,
487>>0x36	string		>\0			fstype %.8s
488
489# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
4902	string		-lh0-		LHarc 1.x/ARX archive data [lh0]
4912	string		-lh1-		LHarc 1.x/ARX archive data [lh1]
4922	string		-lz4-		LHarc 1.x archive data [lz4]
4932	string		-lz5-		LHarc 1.x archive data [lz5]
494#	[never seen any but the last; -lh4- reported in comp.compression:]
4952	string		-lzs-		LHa/LZS archive data [lzs]
4962	string		-lh\40-		LHa 2.x? archive data [lh ]
4972	string		-lhd-		LHa 2.x? archive data [lhd]
4982	string		-lh2-		LHa 2.x? archive data [lh2]
4992	string		-lh3-		LHa 2.x? archive data [lh3]
5002	string		-lh4-		LHa (2.x) archive data [lh4]
5012	string		-lh5-		LHa (2.x) archive data [lh5]
5022	string		-lh6-		LHa (2.x) archive data [lh6]
5032	string		-lh7-		LHa (2.x)/LHark archive data [lh7]
504>20	byte		x		- header level %d
505# taken from idarc [JW]
5062   string      -lZ         PUT archive data
5072   string      -lz         LZS archive data
5082   string      -sw1-       Swag archive data
509
510# RAR archiver (Greg Roelofs, newt@uchicago.edu)
5110	string		Rar!		RAR archive data,
512>44	byte		x		v%0x,
513>10	byte		>0		flags:
514>>10	byte		&0x01		Archive volume,
515>>10	byte		&0x02		Commented,
516>>10	byte		&0x04		Locked,
517>>10	byte		&0x08		Solid,
518>>10	byte		&0x20		Authenticated,
519>35	byte		0		os: MS-DOS
520>35	byte		1		os: OS/2
521>35	byte		2		os: Win32
522>35	byte		3		os: Unix
523# some old version? idarc says:
5240   string      RE\x7e\x5e  RAR archive data
525
526# SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
5270	string		SQSH		squished archive data (Acorn RISCOS)
528
529# UC2 archiver (Greg Roelofs, newt@uchicago.edu)
530# [JW] see exe section for self-extracting version
5310	string		UC2\x1a		UC2 archive data
532
533# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
5340	string		PK\003\004
535>4	byte		0x09		Zip archive data, at least v0.9 to extract
536>4	byte		0x0a		Zip archive data, at least v1.0 to extract
537>4	byte		0x0b		Zip archive data, at least v1.1 to extract
538>4	byte		0x14
539>>30	ubelong		!0x6d696d65	Zip archive data, at least v2.0 to extract
540>0x161	string		WINZIP          Zip archive data, WinZIP self-extracting
541
542
543# OpenOffice.org / KOffice / StarOffice documents
544# From: Abel Cheung <abel@oaka.org>
545# Listed here because they are basically zip files
546>>30	string		mimetype
547
548# KOffice (1.2 or above) formats
549>>>50	string	vnd.kde.		KOffice (>=1.2)
550>>>>58	string	karbon			Karbon document
551>>>>58	string	kchart			KChart document
552>>>>58	string	kformula		KFormula document
553>>>>58	string	kivio			Kivio document
554>>>>58	string	kontour			Kontour document
555>>>>58	string	kpresenter		KPresenter document
556>>>>58	string	kspread			KSpread document
557>>>>58	string	kword			KWord document
558
559# OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7)
560>>>50	string	vnd.sun.xml.		OpenOffice.org 1.x
561>>>>62	string	writer			Writer
562>>>>>68	byte	!0x2e			document
563>>>>>68	string	.template		template
564>>>>>68	string	.global			global document
565>>>>62	string	calc			Calc
566>>>>>66	byte	!0x2e			spreadsheet
567>>>>>66	string	.template		template
568>>>>62	string	draw			Draw
569>>>>>66	byte	!0x2e			document
570>>>>>66	string	.template		template
571>>>>62	string	impress			Impress
572>>>>>69	byte	!0x2e			presentation
573>>>>>69	string	.template		template
574>>>>62	string	math			Math document
575
576# OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
577# http://lists.oasis-open.org/archives/office/200505/msg00006.html
578>>>50	string	vnd.oasis.opendocument.	OpenDocument
579>>>>73	string	text
580>>>>>77	byte	!0x2d			Text
581>>>>>77	string	-template		Text Template
582>>>>>77	string	-web			HTML Document Template
583>>>>>77	string	-master			Master Document
584>>>>73	string	graphics		Drawing
585>>>>>81	string	-template		Template
586>>>>73	string	presentation		Presentation
587>>>>>85	string	-template		Template
588>>>>73	string	spreadsheet		Spreadsheet
589>>>>>84	string	-template		Template
590>>>>73	string	chart			Chart
591>>>>>78	string	-template		Template
592>>>>73	string	formula			Formula
593>>>>>80	string	-template		Template
594>>>>73	string	database		Database
595>>>>73	string	image			Image
596
597# Zoo archiver
59820	lelong		0xfdc4a7dc	Zoo archive data
599>4	byte		>48		\b, v%c.
600>>6	byte		>47		\b%c
601>>>7	byte		>47		\b%c
602>32	byte		>0		\b, modify: v%d
603>>33	byte		x		\b.%d+
604>42	lelong		0xfdc4a7dc	\b,
605>>70	byte		>0		extract: v%d
606>>>71	byte		x		\b.%d+
607
608# Shell archives
60910	string		#\ This\ is\ a\ shell\ archive	shell archive text
610
611#
612# LBR. NB: May conflict with the questionable
613#          "binary Computer Graphics Metafile" format.
614#
6150       string  \0\ \ \ \ \ \ \ \ \ \ \ \0\0    LBR archive data
616#
617# PMA (CP/M derivative of LHA)
618#
6192       string          -pm0-           PMarc archive data [pm0]
6202       string          -pm1-           PMarc archive data [pm1]
6212       string          -pm2-           PMarc archive data [pm2]
6222       string          -pms-           PMarc SFX archive (CP/M, DOS)
6235       string          -pc1-           PopCom compressed executable (CP/M)
624
625# From Rafael Laboissiere <rafael@laboissiere.net>
626# The Project Revision Control System (see
627# http://prcs.sourceforge.net) generates a packaged project
628# file which is recognized by the following entry:
6290	leshort		0xeb81	PRCS packaged project
630
631# Microsoft cabinets
632# by David Necas (Yeti) <yeti@physics.muni.cz>
633#0	string	MSCF\0\0\0\0	Microsoft cabinet file data,
634#>25	byte	x		v%d
635#>24	byte	x		\b.%d
636# MPi: All CABs have version 1.3, so this is pointless.
637# Better magic in debian-additions.
638
639# GTKtalog catalogs
640# by David Necas (Yeti) <yeti@physics.muni.cz>
6414	string	gtktalog\ 	GTKtalog catalog data,
642>13	string	3		version 3
643>>14	beshort	0x677a		(gzipped)
644>>14	beshort	!0x677a		(not gzipped)
645>13	string	>3		version %s
646
647############################################################################
648# Parity archive reconstruction file, the 'par' file format now used on Usenet.
6490       string          PAR\0	PARity archive data
650>48	leshort		=0	- Index file
651>48	leshort		>0	- file number %d
652
653# Felix von Leitner <felix-file@fefe.de>
6540	string	d8:announce	BitTorrent file
655
656# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
6570       beshort 0x0e0f          Atari MSA archive data
658>2      beshort x       	\b, %d sectors per track
659>4      beshort 0       	\b, 1 sided
660>4      beshort 1       	\b, 2 sided
661>6      beshort x       	\b, starting track: %d
662>8      beshort x       	\b, ending track: %d
663
664# Alternate ZIP string (amc@arwen.cs.berkeley.edu)
6650	string	PK00PK\003\004	Zip archive data
666
667# ACE archive (from http://www.wotsit.org/download.asp?f=ace)
668# by Stefan `Sec` Zehl <sec@42.org>
6697	string		**ACE**		ACE archive data
670>15	byte	>0		version %d
671>16	byte	=0x00		\b, from MS-DOS
672>16	byte	=0x01		\b, from OS/2
673>16	byte	=0x02		\b, from Win/32
674>16	byte	=0x03		\b, from Unix
675>16	byte	=0x04		\b, from MacOS
676>16	byte	=0x05		\b, from WinNT
677>16	byte	=0x06		\b, from Primos
678>16	byte	=0x07		\b, from AppleGS
679>16	byte	=0x08		\b, from Atari
680>16	byte	=0x09		\b, from Vax/VMS
681>16	byte	=0x0A		\b, from Amiga
682>16	byte	=0x0B		\b, from Next
683>14	byte	x		\b, version %d to extract
684>5	leshort &0x0080		\b, multiple volumes,
685>>17	byte	x		\b (part %d),
686>5	leshort &0x0002		\b, contains comment
687>5	leshort	&0x0200		\b, sfx
688>5	leshort	&0x0400		\b, small dictionary
689>5	leshort	&0x0800		\b, multi-volume
690>5	leshort	&0x1000		\b, contains AV-String
691>>30	string	\x16*UNREGISTERED\x20VERSION*	(unregistered)
692>5	leshort &0x2000		\b, with recovery record
693>5	leshort &0x4000		\b, locked
694>5	leshort &0x8000		\b, solid
695# Date in MS-DOS format (whatever that is)
696#>18	lelong	x		Created on
697
698# sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
699# <doj@cubic.org>
7000x1A	string	sfArk		sfArk compressed Soundfont
701>0x15	string	2
702>>0x1	string	>\0		Version %s
703>>0x2A	string	>\0		: %s
704
705# DR-DOS 7.03 Packed File *.??_
7060	string	Packed\ File\ 	Personal NetWare Packed File
707>12	string	x    		\b, was "%.12s"
708
709# EET archive
710# From: Tilman Sauerbeck <tilman@code-monkey.de>
7110	belong	0x1ee7ff00	EET archive
712
713# rzip archives
7140	string	RZIP		rzip compressed data
715>4	byte	x		- version %d
716>5	byte	x		\b.%d
717>6	belong	x		(%d bytes)
718
719# From: "Robert Dale" <robdale@gmail.com>
7200	belong	123		dar archive,
721>4	belong	x		label "%.8x
722>>8	belong	x		%.8x
723>>>12	beshort	x		%.4x"
724>14	byte	0x54		end slice
725>14	beshort	0x4e4e		multi-part
726>14	beshort	0x4e53		multi-part, with -S
727
728# Symbian installation files
729#  http://www.thouky.co.uk/software/psifs/sis.html
730#  http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
7318	lelong	0x10000419	Symbian installation file
732>4	lelong	0x1000006D	(EPOC release 3/4/5)
733>4	lelong	0x10003A12	(EPOC release 6)
7340	lelong	0x10201A7A	Symbian installation file (Symbian OS 9.x)
735