summaryrefslogtreecommitdiffstats
path: root/contrib/file/magic/Magdir/archive
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/file/magic/Magdir/archive')
-rw-r--r--contrib/file/magic/Magdir/archive292
1 files changed, 53 insertions, 239 deletions
diff --git a/contrib/file/magic/Magdir/archive b/contrib/file/magic/Magdir/archive
index db17ae1..f115e95 100644
--- a/contrib/file/magic/Magdir/archive
+++ b/contrib/file/magic/Magdir/archive
@@ -1,5 +1,5 @@
#------------------------------------------------------------------------------
-# $File: archive,v 1.102 2016/01/11 20:59:24 christos Exp $
+# $File: archive,v 1.91 2015/09/16 13:49:33 christos Exp $
# archive: file(1) magic for archive formats (see also "msdos" for self-
# extracting compressed archives)
#
@@ -246,15 +246,7 @@
# BA
# TODO: idarc says "bytes 0-2 == bytes 3-5"
# TTComp
-# URL: http://fileformats.archiveteam.org/wiki/TTComp_archive
-# Update: Joerg Jenderek
-# GRR: line below is too general as it matches also Panorama database "TCDB 2003-10 demo.pan", others
-0 string \0\6
-# look for first keyword of Panorama database *.pan
->12 search/261 DESIGN
-# skip keyword with low entropy
->12 default x TTComp archive, binary, 4K dictionary
-# (version 5.25) labeled the above entry as "TTComp archive data"
+0 string \0\6 TTComp archive data
# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
0 string ESP ESP archive data
# ZPack
@@ -552,212 +544,55 @@
>>0x36 string >\0 fstype %.8s
# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
-# Update: Joerg Jenderek
-# URL: https://en.wikipedia.org/wiki/LHA_(file_format)
-# Reference: http://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html
-#
-# check and display information of lharc (LHa,PMarc) file
-0 name lharc-file
-# check 1st character of method id like -lz4- -lh5- or -pm2-
->2 string -
-# check 5th character of method id
->>6 string -
-# check header level 0 1 2 3
->>>20 ubyte <4
-# check 2nd, 3th and 4th character of method id
->>>>3 regex \^(lh[0-9a-ex]|lz[s2-8]|pm[012]|pc1) \b
-!:mime application/x-lzh-compressed
-# creator type "LHA "
-!:apple ????LHA
-# display archive type name like "LHa/LZS archive data" or "LArc archive"
->>>>>2 string -lz \b
-!:ext lzs
-# already known -lzs- -lz4- -lz5- with old names
->>>>>>2 string -lzs LHa/LZS archive data
->>>>>>3 regex \^lz[45] LHarc 1.x archive data
-# missing -lz?- with wikipedia names
->>>>>>3 regex \^lz[2378] LArc archive
-# display archive type name like "LHa (2.x) archive data"
->>>>>2 string -lh \b
-# already known -lh0- -lh1- -lh2- -lh3- -lh4- -lh5- -lh6- -lh7- -lhd- variants with old names
->>>>>>3 regex \^lh[01] LHarc 1.x/ARX archive data
-# LHice archiver use ".ICE" as name extension instead usual one ".lzh"
-# FOOBAR archiver use ".foo" as name extension instead usual one
-# "Florain Orjanov's and Olga Bachetska's ARchiver" not found at the moment
->>>>>>>2 string -lh1 \b
-!:ext lha/lzh/ice
->>>>>>3 regex \^lh[23d] LHa 2.x? archive data
->>>>>>3 regex \^lh[7] LHa (2.x)/LHark archive data
->>>>>>3 regex \^lh[456] LHa (2.x) archive data
->>>>>>>2 string -lh5 \b
-# https://en.wikipedia.org/wiki/BIOS
-# Some mainboard BIOS like Award use LHa compression. So archives with unusal extension are found like
-# bios.rom , kd7_v14.bin, 1010.004, ...
-!:ext lha/lzh/rom/bin
-# missing -lh?- variants (Joe Jared)
->>>>>>3 regex \^lh[89a-ce] LHa (Joe Jared) archive
-# UNLHA32 2.67a
->>>>>>2 string -lhx LHa (UNLHA32) archive
-# lha archives with standard file name extensions ".lha" ".lzh"
->>>>>>3 regex !\^(lh1|lh5) \b
-!:ext lha/lzh
-# this should not happen if all -lh variants are described
->>>>>>2 default x LHa (unknown) archive
-#!:ext lha
-# PMarc
->>>>>3 regex \^pm[012] PMarc archive data
-!:ext pma
-# append method id without leading and trailing minus character
->>>>>3 string x [%3.3s]
->>>>>>0 use lharc-header
-#
-# check and display information of lharc header
-0 name lharc-header
-# header size 0x4 , 0x1b-0x61
->0 ubyte x
-# compressed data size != compressed file size
-#>7 ulelong x \b, data size %d
-# attribute: 0x2~?? 0x10~symlink|target 0x20~normal
-#>19 ubyte x \b, 19_0x%x
-# level identifier 0 1 2 3
-#>20 ubyte x \b, level %d
-# time stamp
-#>15 ubelong x DATE 0x%8.8x
-# OS ID for level 1
->20 ubyte 1
-# 0x20 types find for *.rom files
->>(21.b+24) ubyte <0x21 \b, 0x%x OS
-# ascii type like M for MSDOS
->>(21.b+24) ubyte >0x20 \b, '%c' OS
-# OS ID for level 2
->20 ubyte 2
-#>>23 ubyte x \b, OS ID 0x%x
->>23 ubyte <0x21 \b, 0x%x OS
->>23 ubyte >0x20 \b, '%c' OS
-# filename only for level 0 and 1
->20 ubyte <2
-# length of filename
->>21 ubyte >0 \b, with
-# filename
->>>21 pstring x "%s"
-#
-#2 string -lh0- LHarc 1.x/ARX archive data [lh0]
-#!:mime application/x-lharc
-2 string -lh0-
->0 use lharc-file
-#2 string -lh1- LHarc 1.x/ARX archive data [lh1]
-#!:mime application/x-lharc
-2 string -lh1-
->0 use lharc-file
-# NEW -lz2- ... -lz8-
-2 string -lz2-
->0 use lharc-file
-2 string -lz3-
->0 use lharc-file
-2 string -lz4-
->0 use lharc-file
-2 string -lz5-
->0 use lharc-file
-2 string -lz7-
->0 use lharc-file
-2 string -lz8-
->0 use lharc-file
+2 string -lh0- LHarc 1.x/ARX archive data [lh0]
+!:mime application/x-lharc
+2 string -lh1- LHarc 1.x/ARX archive data [lh1]
+!:mime application/x-lharc
+2 string -lz4- LHarc 1.x archive data [lz4]
+!:mime application/x-lharc
+2 string -lz5- LHarc 1.x archive data [lz5]
+!:mime application/x-lharc
# [never seen any but the last; -lh4- reported in comp.compression:]
-#2 string -lzs- LHa/LZS archive data [lzs]
-2 string -lzs-
->0 use lharc-file
-# According to wikipedia and others such a version does not exist
-#2 string -lh\40- LHa 2.x? archive data [lh ]
-#2 string -lhd- LHa 2.x? archive data [lhd]
-2 string -lhd-
->0 use lharc-file
-#2 string -lh2- LHa 2.x? archive data [lh2]
-2 string -lh2-
->0 use lharc-file
-#2 string -lh3- LHa 2.x? archive data [lh3]
-2 string -lh3-
->0 use lharc-file
-#2 string -lh4- LHa (2.x) archive data [lh4]
-2 string -lh4-
->0 use lharc-file
-#2 string -lh5- LHa (2.x) archive data [lh5]
-2 string -lh5-
->0 use lharc-file
-#2 string -lh6- LHa (2.x) archive data [lh6]
-2 string -lh6-
->0 use lharc-file
-#2 string -lh7- LHa (2.x)/LHark archive data [lh7]
-2 string -lh7-
-# !:mime application/x-lha
-# >20 byte x - header level %d
->0 use lharc-file
-# NEW -lh8- ... -lhe- , -lhx-
-2 string -lh8-
->0 use lharc-file
-2 string -lh9-
->0 use lharc-file
-2 string -lha-
->0 use lharc-file
-2 string -lhb-
->0 use lharc-file
-2 string -lhc-
->0 use lharc-file
-2 string -lhe-
->0 use lharc-file
-2 string -lhx-
->0 use lharc-file
+2 string -lzs- LHa/LZS archive data [lzs]
+!:mime application/x-lha
+2 string -lh\40- LHa 2.x? archive data [lh ]
+!:mime application/x-lha
+2 string -lhd- LHa 2.x? archive data [lhd]
+!:mime application/x-lha
+2 string -lh2- LHa 2.x? archive data [lh2]
+!:mime application/x-lha
+2 string -lh3- LHa 2.x? archive data [lh3]
+!:mime application/x-lha
+2 string -lh4- LHa (2.x) archive data [lh4]
+!:mime application/x-lha
+2 string -lh5- LHa (2.x) archive data [lh5]
+!:mime application/x-lha
+2 string -lh6- LHa (2.x) archive data [lh6]
+!:mime application/x-lha
+2 string -lh7- LHa (2.x)/LHark archive data [lh7]
+!:mime application/x-lha
+>20 byte x - header level %d
# taken from idarc [JW]
2 string -lZ PUT archive data
-# already done by LHarc magics
-# this should never happen if all sub types of LZS archive are identified
-#2 string -lz LZS archive data
+2 string -lz LZS archive data
2 string -sw1- Swag archive data
-0 name rar-file-header
->24 byte 15 \b, v1.5
->24 byte 20 \b, v2.0
->24 byte 29 \b, v4
->15 byte 0 \b, os: MS-DOS
->15 byte 1 \b, os: OS/2
->15 byte 2 \b, os: Win32
->15 byte 3 \b, os: Unix
->15 byte 4 \b, os: Mac OS
->15 byte 5 \b, os: BeOS
-
-0 name rar-archive-header
->3 leshort&0x1ff >0 \b, flags:
->>3 leshort &0x01 ArchiveVolume
->>3 leshort &0x02 Commented
->>3 leshort &0x04 Locked
->>3 leshort &0x10 NewVolumeNaming
->>3 leshort &0x08 Solid
->>3 leshort &0x20 Authenticated
->>3 leshort &0x40 RecoveryRecordPresent
->>3 leshort &0x80 EncryptedBlockHeader
->>3 leshort &0x100 FirstVolume
-
-# RAR (Roshal Archive) archive
-0 string Rar!\x1a\7\0 RAR archive data
-!:mime application/x-rar
-!:ext rar/cbr
-# file header
->(0xc.l+9) byte 0x74
->>(0xc.l+7) use rar-file-header
-# subblock seems to share information with file header
->(0xc.l+9) byte 0x7a
->>(0xc.l+7) use rar-file-header
->9 byte 0x73
->>7 use rar-archive-header
-
-0 string Rar!\x1a\7\1\0 RAR archive data, v5
-!:mime application/x-rar
-!:ext rar
-
-# Very old RAR archive
-# http://jasonblanks.com/wp-includes/images/papers/KnowyourarchiveRAR.pdf
-0 string RE\x7e\x5e RAR archive data (<v1.5)
+# RAR archiver (Greg Roelofs, newt@uchicago.edu)
+0 string Rar! RAR archive data,
!:mime application/x-rar
-!:ext rar/cbr
+>44 byte x v%0x,
+>10 byte >0 flags:
+>>10 byte &0x01 Archive volume,
+>>10 byte &0x02 Commented,
+>>10 byte &0x04 Locked,
+>>10 byte &0x08 Solid,
+>>10 byte &0x20 Authenticated,
+>35 byte 0 os: MS-DOS
+>35 byte 1 os: OS/2
+>35 byte 2 os: Win32
+>35 byte 3 os: Unix
+# some old version? idarc says:
+0 string RE\x7e\x5e RAR archive data
# SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
0 string SQSH squished archive data (Acorn RISCOS)
@@ -769,12 +604,9 @@
# PKZIP multi-volume archive
0 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract
!:mime application/zip
-!:ext zip/cbz
# Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
0 string PK\005\006 Zip archive data (empty)
-!:mime application/zip
-!:ext zip/cbz
0 string PK\003\004
# Specialised zip formats which start with a member named 'mimetype'
@@ -932,24 +764,12 @@
0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data
#
# PMA (CP/M derivative of LHA)
-# Update: Joerg Jenderek
-# URL: https://en.wikipedia.org/wiki/LHA_(file_format)
#
-#2 string -pm0- PMarc archive data [pm0]
-2 string -pm0-
->0 use lharc-file
-#2 string -pm1- PMarc archive data [pm1]
-2 string -pm1-
->0 use lharc-file
-#2 string -pm2- PMarc archive data [pm2]
-2 string -pm2-
->0 use lharc-file
+2 string -pm0- PMarc archive data [pm0]
+2 string -pm1- PMarc archive data [pm1]
+2 string -pm2- PMarc archive data [pm2]
2 string -pms- PMarc SFX archive (CP/M, DOS)
-#!:mime application/x-foobar-exec
-!:ext com
5 string -pc1- PopCom compressed executable (CP/M)
-#!:mime application/x-
-#!:ext com
# From Rafael Laboissiere <rafael@laboissiere.net>
# The Project Revision Control System (see
@@ -982,9 +802,6 @@
# Felix von Leitner <felix-file@fefe.de>
0 string d8:announce BitTorrent file
!:mime application/x-bittorrent
-# Durval Menezes, <jmgthbfile at durval dot com>
-0 string d13:announce-list BitTorrent file
-!:mime application/x-bittorrent
# Atari MSA archive - Teemu Hukkanen <tjhukkan@iki.fi>
0 beshort 0x0e0f Atari MSA archive data
@@ -1072,16 +889,19 @@
# From "Nelson A. de Oliveira" <naoliv@gmail.com>
0 string MPQ\032 MoPaQ (MPQ) archive
+# From: Dirk Jagdmann <doj@cubic.org>
+# xar archive format: http://code.google.com/p/xar/
+0 string xar! xar archive
+>6 beshort x - version %d
+
# From: "Nelson A. de Oliveira" <naoliv@gmail.com>
# .kgb
0 string KGB_arch KGB Archiver file
>10 string x with compression level %.1s
# xar (eXtensible ARchiver) archive
-# xar archive format: http://code.google.com/p/xar/
# From: "David Remahl" <dremahl@apple.com>
0 string xar! xar archive
-!:mime application/x-xar
#>4 beshort x header size %d
>6 beshort x version %d,
#>8 quad x compressed TOC: %d,
@@ -1155,9 +975,3 @@
>0xE08 search/7776 \x55\xAA
>>&-512 indirect x \b; contains
-# Google Chrome extensions
-# https://developer.chrome.com/extensions/crx
-# https://developer.chrome.com/extensions/hosting
-0 string Cr24 Google Chrome extension
-!:mime application/x-chrome-extension
->4 ulong x \b, version %u
OpenPOWER on IntegriCloud