xref: /dragonfly/contrib/file/magic/Magdir/archive (revision 9f3fc534)
1#------------------------------------------------------------------------------
2# archive:  file(1) magic for archive formats (see also "msdos" for self-
3#           extracting compressed archives)
4#
5# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
6# pre-POSIX "tar" archives are handled in the C code.
7
8# POSIX tar archives
9257	string		ustar\0		POSIX tar archive
10!:mime	application/x-tar # encoding: posix
11257	string		ustar\040\040\0	GNU tar archive
12!:mime	application/x-tar # encoding: gnu
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
26!:mime	application/x-cpio
270	short		0143561		byte-swapped cpio archive
28!:mime	application/x-cpio # encoding: swapped
290	string		070707		ASCII cpio archive (pre-SVR4 or odc)
300	string		070701		ASCII cpio archive (SVR4 with no CRC)
310	string		070702		ASCII cpio archive (SVR4 with CRC)
32
33# Debian package (needs to go before regular portable archives)
34#
350	string		=!<arch>\ndebian
36!:mime	application/x-debian-package
37>8	string		debian-split	part of multipart Debian package
38>8	string		debian-binary	Debian binary package
39>8	string		!debian
40>68	string		>\0		(format %s)
41# These next two lines do not work, because a bzip2 Debian archive
42# still uses gzip for the control.tar (first in the archive).  Only
43# data.tar varies, and the location of its filename varies too.
44# file/libmagic does not current have support for ascii-string based
45# (offsets) as of 2005-09-15.
46#>81	string		bz2		\b, uses bzip2 compression
47#>84	string		gz		\b, uses gzip compression
48#>136	ledate		x		created: %s
49
50# other archives
510	long		0177555		very old archive
520	short		0177555		very old PDP-11 archive
530	long		0177545		old archive
540	short		0177545		old PDP-11 archive
550	long		0100554		apl workspace
560	string		=<ar>		archive
57!:mime	application/x-archive
58
59# MIPS archive (needs to go before regular portable archives)
60#
610	string	=!<arch>\n__________E	MIPS archive
62>20	string	U			with MIPS Ucode members
63>21	string	L			with MIPSEL members
64>21	string	B			with MIPSEB members
65>19	string	L			and an EL hash table
66>19	string	B			and an EB hash table
67>22	string	X			-- out of date
68
690	search/1	-h-		Software Tools format archive text
70
71#
72# XXX - why are there multiple <ar> thingies?  Note that 0x213c6172 is
73# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
74#
75# 0	string		=!<arch>		current ar archive
76# 0	long		0x213c6172	archive file
77#
78# and for SVR1 archives, we have:
79#
80# 0	string		\<ar>		System V Release 1 ar archive
81# 0	string		=<ar>		archive
82#
83# XXX - did Aegis really store shared libraries, breakpointed modules,
84# and absolute code program modules in the same format as new-style
85# "ar" archives?
86#
870	string		=!<arch>		current ar archive
88!:mime	application/x-archive
89>8	string		__.SYMDEF	random library
90>0	belong		=65538		- pre SR9.5
91>0	belong		=65539		- post SR9.5
92>0	beshort		2		- object archive
93>0	beshort		3		- shared library module
94>0	beshort		4		- debug break-pointed module
95>0	beshort		5		- absolute code program module
960	string		\<ar>		System V Release 1 ar archive
970	string		=<ar>		archive
98#
99# XXX - from "vax", which appears to collect a bunch of byte-swapped
100# thingies, to help you recognize VAX files on big-endian machines;
101# with "leshort", "lelong", and "string", that's no longer necessary....
102#
1030	belong		0x65ff0000	VAX 3.0 archive
1040	belong		0x3c61723e	VAX 5.0 archive
105#
1060	long		0x213c6172	archive file
1070	lelong		0177555		very old VAX archive
1080	leshort		0177555		very old PDP-11 archive
109#
110# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
111# be a random library (it said 0xff65 rather than 0177545).
112#
1130	lelong		0177545		old VAX archive
114>8	string		__.SYMDEF	random library
1150	leshort		0177545		old PDP-11 archive
116>8	string		__.SYMDEF	random library
117#
118# From "pdp" (but why a 4-byte quantity?)
119#
1200	lelong		0x39bed		PDP-11 old archive
1210	lelong		0x39bee		PDP-11 4.0 archive
122
123# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
124#
125# The first byte is the magic (0x1a), byte 2 is the compression type for
126# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
127# filename of the first file (null terminated).  Since some types collide
128# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
129# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%).  0x01 collides with terminfo.
1300	lelong&0x8080ffff	0x0000081a	ARC archive data, dynamic LZW
131!:mime	application/x-arc
1320	lelong&0x8080ffff	0x0000091a	ARC archive data, squashed
133!:mime	application/x-arc
1340	lelong&0x8080ffff	0x0000021a	ARC archive data, uncompressed
135!:mime	application/x-arc
1360	lelong&0x8080ffff	0x0000031a	ARC archive data, packed
137!:mime	application/x-arc
1380	lelong&0x8080ffff	0x0000041a	ARC archive data, squeezed
139!:mime	application/x-arc
1400	lelong&0x8080ffff	0x0000061a	ARC archive data, crunched
141!:mime	application/x-arc
142# [JW] stuff taken from idarc, obviously ARC successors:
1430	lelong&0x8080ffff	0x00000a1a	PAK archive data
144!:mime	application/x-arc
1450	lelong&0x8080ffff	0x0000141a	ARC+ archive data
146!:mime	application/x-arc
1470	lelong&0x8080ffff	0x0000481a	HYP archive data
148!:mime	application/x-arc
149
150# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
151# I can't create either SPARK or ArcFS archives so I have not tested this stuff
152# [GRR:  the original entries collide with ARC, above; replaced with combined
153#  version (not tested)]
154#0	byte		0x1a		RISC OS archive (spark format)
1550	string		\032archive	RISC OS archive (ArcFS format)
1560       string          Archive\000     RISC OS archive (ArcFS format)
157
158# All these were taken from idarc, many could not be verified. Unfortunately,
159# there were many low-quality sigs, i.e. easy to trigger false positives.
160# Please notify me of any real-world fishy/ambiguous signatures and I'll try
161# to get my hands on the actual archiver and see if I find something better. [JW]
162# probably many can be enhanced by finding some 0-byte or control char near the start
163
164# idarc calls this Crush/Uncompressed... *shrug*
1650	string	CRUSH Crush archive data
166# Squeeze It (.sqz)
1670	string	HLSQZ Squeeze It archive data
168# SQWEZ
1690	string	SQWEZ SQWEZ archive data
170# HPack (.hpk)
1710	string	HPAK HPack archive data
172# HAP
1730	string	\x91\x33HF HAP archive data
174# MD/MDCD
1750	string	MDmd MDCD archive data
176# LIM
1770	string	LIM\x1a LIM archive data
178# SAR
1793	string	LH5 SAR archive data
180# BSArc/BS2
1810	string	\212\3SB \0 BSArc/BS2 archive data
182# MAR
1832	string	=-ah MAR archive data
184# ACB
1850	belong&0x00f800ff	0x00800000 ACB archive data
186# CPZ
187# TODO, this is what idarc says: 0	string	\0\0\0 CPZ archive data
188# JRC
1890	string	JRchive JRC archive data
190# Quantum
1910	string	DS\0 Quantum archive data
192# ReSOF
1930	string	PK\3\6 ReSOF archive data
194# QuArk
1950	string	7\4 QuArk archive data
196# YAC
19714	string	YC YAC archive data
198# X1
1990	string	X1 X1 archive data
2000	string	XhDr X1 archive data
201# CDC Codec (.dqt)
2020	belong&0xffffe000	0x76ff2000 CDC Codec archive data
203# AMGC
2040	string	\xad6" AMGC archive data
205# NuLIB
2060	string	NõFélå NuLIB archive data
207# PakLeo
2080	string	LEOLZW PAKLeo archive data
209# ChArc
2100	string	SChF ChArc archive data
211# PSA
2120	string	PSA PSA archive data
213# CrossePAC
2140	string	DSIGDCC CrossePAC archive data
215# Freeze
2160	string	\x1f\x9f\x4a\x10\x0a Freeze archive data
217# KBoom
2180	string	¨MP¨ KBoom archive data
219# NSQ, must go after CDC Codec
2200	string	\x76\xff NSQ archive data
221# DPA
2220	string	Dirk\ Paehl DPA archive data
223# BA
224# TODO: idarc says "bytes 0-2 == bytes 3-5"
225# TTComp
2260	string	\0\6 TTComp archive data
227# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
2280	string	ESP ESP archive data
229# ZPack
2300	string	\1ZPK\1 ZPack archive data
231# Sky
2320	string	\xbc\x40 Sky archive data
233# UFA
2340	string	UFA UFA archive data
235# Dry
2360	string	=-H2O DRY archive data
237# FoxSQZ
2380	string	FOXSQZ FoxSQZ archive data
239# AR7
2400	string	,AR7 AR7 archive data
241# PPMZ
2420	string	PPMZ PPMZ archive data
243# MS Compress
2444	string	\x88\xf0\x27 MS Compress archive data
245# updated by Joerg Jenderek
246>9	string	\0
247>>0	string	KWAJ
248>>>7	string	\321\003	MS Compress archive data
249>>>>14	ulong	>0		\b, original size: %ld bytes
250>>>>18		ubyte	>0x65
251>>>>>18		string	x    	\b, was %.8s
252>>>>>(10.b-4)	string	x    	\b.%.3s
253# MP3 (archiver, not lossy audio compression)
2540	string	MP3\x1a MP3-Archiver archive data
255# ZET
2560	string	OZÝ ZET archive data
257# TSComp
2580	string	\x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data
259# ARQ
2600	string	gW\4\1 ARQ archive data
261# Squash
2623	string	OctSqu Squash archive data
263# Terse
2640	string	\5\1\1\0 Terse archive data
265# PUCrunch
2660	string	\x01\x08\x0b\x08\xef\x00\x9e\x32\x30\x36\x31 PUCrunch archive data
267# UHarc
2680	string	UHA UHarc archive data
269# ABComp
2700	string	\2AB ABComp archive data
2710	string	\3AB2 ABComp archive data
272# CMP
2730	string	CO\0 CMP archive data
274# Splint
2750	string	\x93\xb9\x06 Splint archive data
276# InstallShield
2770	string	 \x13\x5d\x65\x8c InstallShield Z archive Data
278# Gather
2791	string	GTH Gather archive data
280# BOA
2810	string	BOA BOA archive data
282# RAX
2830	string	ULEB\xa RAX archive data
284# Xtreme
2850	string	ULEB\0 Xtreme archive data
286# Pack Magic
2870	string	@â\1\0 Pack Magic archive data
288# BTS
2890	belong&0xfeffffff	0x1a034465 BTS archive data
290# ELI 5750
2910	string	Ora\  ELI 5750 archive data
292# QFC
2930	string	\x1aFC\x1a QFC archive data
2940	string	\x1aQF\x1a QFC archive data
295# PRO-PACK
2960	string	RNC PRO-PACK archive data
297# 777
2980	string	777 777 archive data
299# LZS221
3000	string	sTaC LZS221 archive data
301# HPA
3020	string	HPA HPA archive data
303# Arhangel
3040	string	LG Arhangel archive data
305# EXP1, uses bzip2
3060	string	0123456789012345BZh EXP1 archive data
307# IMP
3080	string	IMP\xa IMP archive data
309# NRV
3100	string	\x00\x9E\x6E\x72\x76\xFF NRV archive data
311# Squish
3120	string	\x73\xb2\x90\xf4 Squish archive data
313# Par
3140	string	PHILIPP Par archive data
3150	string	PAR Par archive data
316# HIT
3170	string	UB HIT archive data
318# SBX
3190	belong&0xfffff000	0x53423000 SBX archive data
320# NaShrink
3210	string	NSK NaShrink archive data
322# SAPCAR
3230	string	#\ CAR\ archive\ header SAPCAR archive data
3240	string	CAR\ 2.00RG SAPCAR archive data
325# Disintegrator
3260	string	DST Disintegrator archive data
327# ASD
3280	string	ASD ASD archive data
329# InstallShield CAB
3300	string	ISc( InstallShield CAB
331# TOP4
3320	string	T4\x1a TOP4 archive data
333# BatComp left out: sig looks like COM executable
334# so TODO: get real 4dos batcomp file and find sig
335# BlakHole
3360	string	BH\5\7 BlakHole archive data
337# BIX
3380	string	BIX0 BIX archive data
339# ChiefLZA
3400	string	ChfLZ ChiefLZA archive data
341# Blink
3420	string	Blink Blink archive data
343# Logitech Compress
3440	string	\xda\xfa Logitech Compress archive data
345# ARS-Sfx (FIXME: really a SFX? then goto COM/EXE)
3461	string	(C)\ STEPANYUK ARS-Sfx archive data
347# AKT/AKT32
3480	string	AKT32 AKT32 archive data
3490	string	AKT AKT archive data
350# NPack
3510	string	MSTSM NPack archive data
352# PFT
3530	string	\0\x50\0\x14 PFT archive data
354# SemOne
3550	string	SEM SemOne archive data
356# PPMD
3570	string	\x8f\xaf\xac\x84 PPMD archive data
358# FIZ
3590	string	FIZ FIZ archive data
360# MSXiE
3610	belong&0xfffff0f0	0x4d530000 MSXiE archive data
362# DeepFreezer
3630	belong&0xfffffff0	0x797a3030 DeepFreezer archive data
364# DC
3650	string	=<DC- DC archive data
366# TPac
3670	string	\4TPAC\3 TPac archive data
368# Ai
3690	string	Ai\1\1\0 Ai archive data
3700	string	Ai\1\0\0 Ai archive data
371# Ai32
3720	string	Ai\2\0 Ai32 archive data
3730	string	Ai\2\1 Ai32 archive data
374# SBC
3750	string	SBC SBC archive data
376# Ybs
3770	string	YBS Ybs archive data
378# DitPack
3790	string	\x9e\0\0 DitPack archive data
380# DMS
3810	string	DMS! DMS archive data
382# EPC
3830	string	\x8f\xaf\xac\x8c EPC archive data
384# VSARC
3850	string	VS\x1a VSARC archive data
386# PDZ
3870	string	PDZ PDZ archive data
388# ReDuq
3890	string	rdqx ReDuq archive data
390# GCA
3910	string	GCAX GCA archive data
392# PPMN
3930	string	pN PPMN archive data
394# WinImage
3953	string	WINIMAGE WinImage archive data
396# Compressia
3970	string	CMP0CMP Compressia archive data
398# UHBC
3990	string	UHB UHBC archive data
400# WinHKI
4010	string	\x61\x5C\x04\x05 WinHKI archive data
402# WWPack data file
4030	string	WWP WWPack archive data
404# BSN (BSA, PTS-DOS)
4050	string	\xffBSG BSN archive data
4061	string	\xffBSG BSN archive data
4073	string	\xffBSG BSN archive data
4081	string	\0\xae\2 BSN archive data
4091	string	\0\xae\3 BSN archive data
4101	string	\0\xae\7 BSN archive data
411# AIN
4120	string	\x33\x18 AIN archive data
4130	string	\x33\x17 AIN archive data
414# XPA32
4150	string	xpa\0\1 XPA32 archive data
416# SZip (TODO: doesn't catch all versions)
4170	string	SZ\x0a\4 SZip archive data
418# XPack DiskImage
4190	string	jm XPack DiskImage archive data
420# XPack Data
4210	string	xpa XPack archive data
422# XPack Single Data
4230	string	Í\ jm XPack single archive data
424
425# TODO: missing due to unknown magic/magic at end of file:
426#DWC
427#ARG
428#ZAR
429#PC/3270
430#InstallIt
431#RKive
432#RK
433#XPack Diskimage
434
435# These were inspired by idarc, but actually verified
436# Dzip archiver (.dz)
4370	string	DZ Dzip archive data
438>2	byte	x \b, version %i
439>3	byte	x \b.%i
440# ZZip archiver (.zz)
4410	string	ZZ\ \0\0 ZZip archive data
4420	string	ZZ0 ZZip archive data
443# PAQ archiver (.paq)
4440	string	\xaa\x40\x5f\x77\x1f\xe5\x82\x0d PAQ archive data
4450	string	PAQ PAQ archive data
446>3	byte&0xf0	0x30
447>>3	byte	x (v%c)
448# JAR archiver (.j), this is the successor to ARJ, not Java's JAR (which is essentially ZIP)
4490xe	string	\x1aJar\x1b JAR (ARJ Software, Inc.) archive data
4500	string	JARCS JAR (ARJ Software, Inc.) archive data
451
452# ARJ archiver (jason@jarthur.Claremont.EDU)
4530	leshort		0xea60		ARJ archive data
454!:mime	application/x-arj
455>5	byte		x		\b, v%d,
456>8	byte		&0x04		multi-volume,
457>8	byte		&0x10		slash-switched,
458>8	byte		&0x20		backup,
459>34	string		x		original name: %s,
460>7	byte		0		os: MS-DOS
461>7	byte		1		os: PRIMOS
462>7	byte		2		os: Unix
463>7	byte		3		os: Amiga
464>7	byte		4		os: Macintosh
465>7	byte		5		os: OS/2
466>7	byte		6		os: Apple ][ GS
467>7	byte		7		os: Atari ST
468>7	byte		8		os: NeXT
469>7	byte		9		os: VAX/VMS
470>3	byte		>0		%d]
471# [JW] idarc says this is also possible
4722	leshort		0xea60		ARJ archive data
473
474# HA archiver (Greg Roelofs, newt@uchicago.edu)
475# This is a really bad format. A file containing HAWAII will match this...
476#0	string		HA		HA archive data,
477#>2	leshort		=1		1 file,
478#>2	leshort		>1		%u files,
479#>4	byte&0x0f	=0		first is type CPY
480#>4	byte&0x0f	=1		first is type ASC
481#>4	byte&0x0f	=2		first is type HSC
482#>4	byte&0x0f	=0x0e		first is type DIR
483#>4	byte&0x0f	=0x0f		first is type SPECIAL
484# suggestion: at least identify small archives (<1024 files)
4850  belong&0xffff00fc 0x48410000 HA archive data
486>2	leshort		=1		1 file,
487>2	leshort		>1		%u files,
488>4	byte&0x0f	=0		first is type CPY
489>4	byte&0x0f	=1		first is type ASC
490>4	byte&0x0f	=2		first is type HSC
491>4	byte&0x0f	=0x0e		first is type DIR
492>4	byte&0x0f	=0x0f		first is type SPECIAL
493
494# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
4950	string		HPAK		HPACK archive data
496
497# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
4980	string		\351,\001JAM\ 		JAM archive,
499>7	string		>\0			version %.4s
500>0x26	byte		=0x27			-
501>>0x2b	string          >\0			label %.11s,
502>>0x27	lelong		x			serial %08x,
503>>0x36	string		>\0			fstype %.8s
504
505# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
5062	string		-lh0-		LHarc 1.x/ARX archive data [lh0]
507!:mime	application/x-lharc
5082	string		-lh1-		LHarc 1.x/ARX archive data [lh1]
509!:mime	application/x-lharc
5102	string		-lz4-		LHarc 1.x archive data [lz4]
511!:mime	application/x-lharc
5122	string		-lz5-		LHarc 1.x archive data [lz5]
513!:mime	application/x-lharc
514#	[never seen any but the last; -lh4- reported in comp.compression:]
5152	string		-lzs-		LHa/LZS archive data [lzs]
516!:mime	application/x-lha
5172	string		-lh\40-		LHa 2.x? archive data [lh ]
518!:mime	application/x-lha
5192	string		-lhd-		LHa 2.x? archive data [lhd]
520!:mime	application/x-lha
5212	string		-lh2-		LHa 2.x? archive data [lh2]
522!:mime	application/x-lha
5232	string		-lh3-		LHa 2.x? archive data [lh3]
524!:mime	application/x-lha
5252	string		-lh4-		LHa (2.x) archive data [lh4]
526!:mime	application/x-lha
5272	string		-lh5-		LHa (2.x) archive data [lh5]
528!:mime	application/x-lha
5292	string		-lh6-		LHa (2.x) archive data [lh6]
530!:mime	application/x-lha
5312	string		-lh7-		LHa (2.x)/LHark archive data [lh7]
532!:mime	application/x-lha
533>20	byte		x		- header level %d
534# taken from idarc [JW]
5352   string      -lZ         PUT archive data
5362   string      -lz         LZS archive data
5372   string      -sw1-       Swag archive data
538
539# RAR archiver (Greg Roelofs, newt@uchicago.edu)
5400	string		Rar!		RAR archive data,
541!:mime	application/x-rar
542>44	byte		x		v%0x,
543>10	byte		>0		flags:
544>>10	byte		&0x01		Archive volume,
545>>10	byte		&0x02		Commented,
546>>10	byte		&0x04		Locked,
547>>10	byte		&0x08		Solid,
548>>10	byte		&0x20		Authenticated,
549>35	byte		0		os: MS-DOS
550>35	byte		1		os: OS/2
551>35	byte		2		os: Win32
552>35	byte		3		os: Unix
553# some old version? idarc says:
5540   string      RE\x7e\x5e  RAR archive data
555
556# SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
5570	string		SQSH		squished archive data (Acorn RISCOS)
558
559# UC2 archiver (Greg Roelofs, newt@uchicago.edu)
560# [JW] see exe section for self-extracting version
5610	string		UC2\x1a		UC2 archive data
562
563# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
5640	string		PK\003\004
565>4	byte		0x00		Zip archive data
566!:mime	application/zip
567>4	byte		0x09		Zip archive data, at least v0.9 to extract
568!:mime	application/zip
569>4	byte		0x0a		Zip archive data, at least v1.0 to extract
570!:mime	application/zip
571>4	byte		0x0b		Zip archive data, at least v1.1 to extract
572!:mime	application/zip
573>0x161	string		WINZIP          Zip archive data, WinZIP self-extracting
574!:mime	application/zip
575>4	byte		0x14
576>>30	ubelong		!0x6d696d65	Zip archive data, at least v2.0 to extract
577!:mime	application/zip
578
579# OpenOffice.org / KOffice / StarOffice documents
580# Listed here because they ARE zip files
581#
582# From: Abel Cheung <abel@oaka.org>
583>4	byte		0x14
584>>30	string		mimetype
585
586# KOffice (1.2 or above) formats
587>>>50	string	vnd.kde.		KOffice (>=1.2)
588>>>>58	string	karbon			Karbon document
589>>>>58	string	kchart			KChart document
590>>>>58	string	kformula		KFormula document
591>>>>58	string	kivio			Kivio document
592>>>>58	string	kontour			Kontour document
593>>>>58	string	kpresenter		KPresenter document
594>>>>58	string	kspread			KSpread document
595>>>>58	string	kword			KWord document
596
597# OpenOffice formats (for OpenOffice 1.x / StarOffice 6/7)
598>>>50	string	vnd.sun.xml.		OpenOffice.org 1.x
599>>>>62	string	writer			Writer
600>>>>>68	byte	!0x2e			document
601>>>>>68	string	.template		template
602>>>>>68	string	.global			global document
603>>>>62	string	calc			Calc
604>>>>>66	byte	!0x2e			spreadsheet
605>>>>>66	string	.template		template
606>>>>62	string	draw			Draw
607>>>>>66	byte	!0x2e			document
608>>>>>66	string	.template		template
609>>>>62	string	impress			Impress
610>>>>>69	byte	!0x2e			presentation
611>>>>>69	string	.template		template
612>>>>62	string	math			Math document
613>>>>62	string	base			Database file
614
615# OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
616# http://lists.oasis-open.org/archives/office/200505/msg00006.html
617>>>50	string	vnd.oasis.opendocument.	OpenDocument
618>>>>73	string	text
619>>>>>77	byte	!0x2d			Text
620!:mime	application/vnd.oasis.opendocument.text
621>>>>>77	string	-template		Text Template
622>>>>>77	string	-web			HTML Document Template
623>>>>>77	string	-master			Master Document
624>>>>73	string	graphics		Drawing
625>>>>>81	string	-template		Template
626>>>>73	string	presentation		Presentation
627>>>>>85	string	-template		Template
628>>>>73	string	spreadsheet		Spreadsheet
629>>>>>84	string	-template		Template
630>>>>73	string	chart			Chart
631>>>>>78	string	-template		Template
632>>>>73	string	formula			Formula
633>>>>>80	string	-template		Template
634>>>>73	string	database		Database
635>>>>73	string	image			Image
636
637# Zoo archiver
63820	lelong		0xfdc4a7dc	Zoo archive data
639!:mime	application/x-zoo
640>4	byte		>48		\b, v%c.
641>>6	byte		>47		\b%c
642>>>7	byte		>47		\b%c
643>32	byte		>0		\b, modify: v%d
644>>33	byte		x		\b.%d+
645>42	lelong		0xfdc4a7dc	\b,
646>>70	byte		>0		extract: v%d
647>>>71	byte		x		\b.%d+
648
649# Shell archives
65010	string		#\ This\ is\ a\ shell\ archive	shell archive text
651!:mime	application/octet-stream
652
653#
654# LBR. NB: May conflict with the questionable
655#          "binary Computer Graphics Metafile" format.
656#
6570       string  \0\ \ \ \ \ \ \ \ \ \ \ \0\0    LBR archive data
658#
659# PMA (CP/M derivative of LHA)
660#
6612       string          -pm0-           PMarc archive data [pm0]
6622       string          -pm1-           PMarc archive data [pm1]
6632       string          -pm2-           PMarc archive data [pm2]
6642       string          -pms-           PMarc SFX archive (CP/M, DOS)
6655       string          -pc1-           PopCom compressed executable (CP/M)
666
667# From Rafael Laboissiere <rafael@laboissiere.net>
668# The Project Revision Control System (see
669# http://prcs.sourceforge.net) generates a packaged project
670# file which is recognized by the following entry:
6710	leshort		0xeb81	PRCS packaged project
672
673# Microsoft cabinets
674# by David Necas (Yeti) <yeti@physics.muni.cz>
675#0	string	MSCF\0\0\0\0	Microsoft cabinet file data,
676#>25	byte	x		v%d
677#>24	byte	x		\b.%d
678# MPi: All CABs have version 1.3, so this is pointless.
679# Better magic in debian-additions.
680
681# GTKtalog catalogs
682# by David Necas (Yeti) <yeti@physics.muni.cz>
6834	string	gtktalog\ 	GTKtalog catalog data,
684>13	string	3		version 3
685>>14	beshort	0x677a		(gzipped)
686>>14	beshort	!0x677a		(not gzipped)
687>13	string	>3		version %s
688
689############################################################################
690# Parity archive reconstruction file, the 'par' file format now used on Usenet.
6910       string          PAR\0	PARity archive data
692>48	leshort		=0	- Index file
693>48	leshort		>0	- file number %d
694
695# Felix von Leitner <felix-file@fefe.de>
6960	string	d8:announce	BitTorrent file
697!:mime	application/x-bittorrent
698
699# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
7000       beshort 0x0e0f          Atari MSA archive data
701>2      beshort x       	\b, %d sectors per track
702>4      beshort 0       	\b, 1 sided
703>4      beshort 1       	\b, 2 sided
704>6      beshort x       	\b, starting track: %d
705>8      beshort x       	\b, ending track: %d
706
707# Alternate ZIP string (amc@arwen.cs.berkeley.edu)
7080	string	PK00PK\003\004	Zip archive data
709
710# ACE archive (from http://www.wotsit.org/download.asp?f=ace)
711# by Stefan `Sec` Zehl <sec@42.org>
7127	string		**ACE**		ACE archive data
713>15	byte	>0		version %d
714>16	byte	=0x00		\b, from MS-DOS
715>16	byte	=0x01		\b, from OS/2
716>16	byte	=0x02		\b, from Win/32
717>16	byte	=0x03		\b, from Unix
718>16	byte	=0x04		\b, from MacOS
719>16	byte	=0x05		\b, from WinNT
720>16	byte	=0x06		\b, from Primos
721>16	byte	=0x07		\b, from AppleGS
722>16	byte	=0x08		\b, from Atari
723>16	byte	=0x09		\b, from Vax/VMS
724>16	byte	=0x0A		\b, from Amiga
725>16	byte	=0x0B		\b, from Next
726>14	byte	x		\b, version %d to extract
727>5	leshort &0x0080		\b, multiple volumes,
728>>17	byte	x		\b (part %d),
729>5	leshort &0x0002		\b, contains comment
730>5	leshort	&0x0200		\b, sfx
731>5	leshort	&0x0400		\b, small dictionary
732>5	leshort	&0x0800		\b, multi-volume
733>5	leshort	&0x1000		\b, contains AV-String
734>>30	string	\x16*UNREGISTERED\x20VERSION*	(unregistered)
735>5	leshort &0x2000		\b, with recovery record
736>5	leshort &0x4000		\b, locked
737>5	leshort &0x8000		\b, solid
738# Date in MS-DOS format (whatever that is)
739#>18	lelong	x		Created on
740
741# sfArk : compression program for Soundfonts (sf2) by Dirk Jagdmann
742# <doj@cubic.org>
7430x1A	string	sfArk		sfArk compressed Soundfont
744>0x15	string	2
745>>0x1	string	>\0		Version %s
746>>0x2A	string	>\0		: %s
747
748# DR-DOS 7.03 Packed File *.??_
7490	string	Packed\ File\ 	Personal NetWare Packed File
750>12	string	x    		\b, was "%.12s"
751
752# EET archive
753# From: Tilman Sauerbeck <tilman@code-monkey.de>
7540	belong	0x1ee7ff00	EET archive
755!:mime	application/x-eet
756
757# rzip archives
7580	string	RZIP		rzip compressed data
759>4	byte	x		- version %d
760>5	byte	x		\b.%d
761>6	belong	x		(%d bytes)
762
763# From: "Robert Dale" <robdale@gmail.com>
7640	belong	123		dar archive,
765>4	belong	x		label "%.8x
766>>8	belong	x		%.8x
767>>>12	beshort	x		%.4x"
768>14	byte	0x54		end slice
769>14	beshort	0x4e4e		multi-part
770>14	beshort	0x4e53		multi-part, with -S
771
772# Symbian installation files
773#  http://www.thouky.co.uk/software/psifs/sis.html
774#  http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
7758	lelong	0x10000419	Symbian installation file
776!:mime	application/vnd.symbian.install
777>4	lelong	0x1000006D	(EPOC release 3/4/5)
778>4	lelong	0x10003A12	(EPOC release 6)
7790	lelong	0x10201A7A	Symbian installation file (Symbian OS 9.x)
780!:mime	x-epoc/x-sisx-app
781
782# From "Nelson A. de Oliveira" <naoliv@gmail.com>
7830	string	MPQ\032		MoPaQ (MPQ) archive
784
785# From: Dirk Jagdmann <doj@cubic.org>
786# xar archive format: http://code.google.com/p/xar/
7870	string	xar!		xar archive
788>6	beshort	x		- version %ld
789
790# From: "Nelson A. de Oliveira" <naoliv@gmail.com>
791# .kgb
7920	string KGB_arch		KGB Archiver file
793>10	string x		with compression level %.1s
794
795# xar (eXtensible ARchiver) archive
796# From: "David Remahl" <dremahl@apple.com>
7970	string	xar!		xar archive
798#>4	beshort	x		header size %d
799>6	beshort	x		version %d,
800#>8	quad	x		compressed TOC: %d,
801#>16	quad	x		uncompressed TOC: %d,
802>24	belong	0		no checksum
803>24	belong	1		SHA-1 checksum
804>24	belong	2		MD5 checksum
805
806