mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-29 03:45:02 +01:00
Compare commits
101
Commits
stable/10
...
releng/10.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8411c9ac24 | ||
|
|
2110728606 | ||
|
|
9da63612b3 | ||
|
|
a500153f5e | ||
|
|
139e67194b | ||
|
|
aedcefc6b2 | ||
|
|
937fc455dc | ||
|
|
de4dbc704d | ||
|
|
cb48ae6583 | ||
|
|
db9a031547 | ||
|
|
778b7c0a70 | ||
|
|
743f9810cd | ||
|
|
f8ea0a67d3 | ||
|
|
ae7f9f96b8 | ||
|
|
fc060baf27 | ||
|
|
087a6afc1b | ||
|
|
ee08412fa9 | ||
|
|
834a5b0c7d | ||
|
|
a4f37dd7ce | ||
|
|
cf06afb78a | ||
|
|
30bf2773be | ||
|
|
c82f6a0586 | ||
|
|
2d3b729673 | ||
|
|
bb70217cc3 | ||
|
|
f22ae5912a | ||
|
|
14f66fc8ea | ||
|
|
6cc6b6209e | ||
|
|
0daaada21b | ||
|
|
abda3c7760 | ||
|
|
45a5fa67d3 | ||
|
|
2caa5c48a8 | ||
|
|
1bd8be53ec | ||
|
|
b8dce58e29 | ||
|
|
a97d006c65 | ||
|
|
69f7d1337c | ||
|
|
6107c6581a | ||
|
|
1b9f4103cd | ||
|
|
5094663b79 | ||
|
|
ce559d2151 | ||
|
|
25a1f7b4e3 | ||
|
|
6089cad107 | ||
|
|
9e3c39ad24 | ||
|
|
2ae99e0d7b | ||
|
|
9a1e15f7b5 | ||
|
|
ec96817639 | ||
|
|
8c10bcb466 | ||
|
|
ec940dd917 | ||
|
|
d712f7ed76 | ||
|
|
516e9d43f4 | ||
|
|
639f263514 | ||
|
|
2e61bfb455 | ||
|
|
abf3de7a50 | ||
|
|
69c104f760 | ||
|
|
22adccfa2c | ||
|
|
ead5b463be | ||
|
|
24af17b7ea | ||
|
|
daba42f21e | ||
|
|
6b3a74505a | ||
|
|
874f68080b | ||
|
|
f12c05ae3e | ||
|
|
6d396180af | ||
|
|
567ab48e44 | ||
|
|
96e6249c96 | ||
|
|
5df8bd0e3f | ||
|
|
81f84b9b78 | ||
|
|
ed9dbe02b3 | ||
|
|
0dc82c2068 | ||
|
|
18b4b6a82f | ||
|
|
560c0946e4 | ||
|
|
fee8af92bd | ||
|
|
ae8523cae9 | ||
|
|
2ef5a941ca | ||
|
|
f6f48dede2 | ||
|
|
ab14850818 | ||
|
|
d6e9e3540b | ||
|
|
227dab625a | ||
|
|
b24f2be5b4 | ||
|
|
c1c1cdcafb | ||
|
|
6229ee20a0 | ||
|
|
2797326505 | ||
|
|
cabaf15c07 | ||
|
|
c99e1d5aca | ||
|
|
6c76153fcd | ||
|
|
d1f61bd0ab | ||
|
|
03dedfb902 | ||
|
|
09d13a6771 | ||
|
|
e5b9585449 | ||
|
|
d9eba4d9ba | ||
|
|
d979c2db0f | ||
|
|
500eb27990 | ||
|
|
9fe9e7570b | ||
|
|
30c6e999c3 | ||
|
|
74dd397534 | ||
|
|
25eb0444a1 | ||
|
|
4bee7678e1 | ||
|
|
e5abf1aa05 | ||
|
|
4b57ff6f1d | ||
|
|
119e7533b7 | ||
|
|
6370f59b57 | ||
|
|
025e521088 | ||
|
|
84ae83b66a |
No files matched your search
@@ -1,5 +1,5 @@
|
||||
Updating Information for FreeBSD current users
|
||||
|
||||
2
|
||||
This file is maintained and copyrighted by M. Warner Losh <[email protected]>.
|
||||
See end of file for further details. For commonly done items, please see the
|
||||
COMMON ITEMS: section later in the file. These instructions assume that you
|
||||
@@ -16,6 +16,207 @@ from older versions of FreeBSD, try WITHOUT_CLANG to bootstrap to the tip of
|
||||
stable/10, and then rebuild without this option. The bootstrap process from
|
||||
older version of current is a bit fragile.
|
||||
|
||||
20180404 p29 FreeBSD-SA-18:04.vt
|
||||
FreeBSD-SA-18:05.ipsec
|
||||
FreeBSD-EN-18:03.tzdata
|
||||
FreeBSD-EN-18:04.mem
|
||||
|
||||
Fix vt console memory disclosure. [SA-18:04.vt]
|
||||
|
||||
Fix ipsec crash or denial of service. [SA-18:05.ipsec]
|
||||
|
||||
Update timezone database information. [EN-18:03.tzdata]
|
||||
|
||||
Fix multiple small kernel memory disclosures. [EN-18:04.mem]
|
||||
|
||||
20180308 p28 FreeBSD-SA-18:01.ipsec [revised]
|
||||
|
||||
Fix ipsec validation and use-after-free.
|
||||
|
||||
20180307 p27 FreeBSD-SA-18:01.ipsec
|
||||
FreeBSD-SA-18:02.ntp
|
||||
FreeBSD-EN-18:01.tzdata
|
||||
FreeBSD-EN-18:02.file
|
||||
|
||||
Fix ipsec validation and use-after-free. [SA-18:01.ipsec]
|
||||
|
||||
Fix multiple vulnerabilities in ntp. [SA-18:02.ntp]
|
||||
|
||||
Update timezone database information. [EN-18:01.tzdata]
|
||||
|
||||
Update file(1) to new version with security update. [EN-18:02.file]
|
||||
|
||||
20171209 p26 FreeBSD-SA-17:12.openssl
|
||||
|
||||
Fix OpenSSL error state vulnerability.
|
||||
|
||||
20171129 p25 FreeBSD-SA-17:11.openssl
|
||||
|
||||
Fix OpenSSL out-of-bounds read vulnerability.
|
||||
|
||||
20171115 p24 FreeBSD-SA-17:08.ptrace
|
||||
FreeBSD-SA-17:09.shm
|
||||
FreeBSD-SA-17:10.kldstat
|
||||
|
||||
Fix ptrace(2) vulnerability. [SA-17:08.ptrace]
|
||||
|
||||
Fix POSIX shm namespace vulnerability. [SA-17:09.shm]
|
||||
|
||||
Fix kldstat(2) vulnerability. [SA-17:10.kldstat]
|
||||
|
||||
20171102 p23 FreeBSD-EN-17:09.tzdata
|
||||
|
||||
Update timezone database information. [EN-17:09]
|
||||
|
||||
20171017 p22 FreeBSD-SA-17:07.wpa
|
||||
|
||||
Fix WPA2 protocol vulnerability. [SA-17:07]
|
||||
|
||||
20170810 p21 FreeBSD-SA-17:06.openssh
|
||||
|
||||
Fix OpenSSH Denial of Service vulnerability. [SA-17:06]
|
||||
|
||||
20170712 p20 FreeBSD-SA-17:05.heimdal
|
||||
FreeBSD-EN-17:06.hyperv
|
||||
|
||||
Fix heimdal KDC-REP service name validation vulnerability [SA-17:05]
|
||||
|
||||
Boot compatibility improvements with Azure VMs. [EN-17:06]
|
||||
|
||||
20170427 p19 FreeBSD-SA-17:04.ipfilter
|
||||
|
||||
Fix ipfilter(4) fragment handling panic. [SA-17:04]
|
||||
|
||||
20170412 p18 FreeBSD-SA-17:03.ntp
|
||||
FreeBSD-EN-17:05.xen
|
||||
|
||||
Fix multiple vulnerabilities of ntp. [SA-17:03]
|
||||
|
||||
Xen migration enhancements. [EN-17:05]
|
||||
|
||||
20170223 p17 FreeBSD-SA-17:02.openssl
|
||||
|
||||
Fix OpenSSL RC4_MD5 cipher vulnerability.
|
||||
|
||||
20170111 p16 FreeBSD-SA-17:01.openssh
|
||||
|
||||
Fix multiple vulnerabilities of OpenSSH.
|
||||
|
||||
20161222 p15 FreeBSD-SA-16:39.ntp
|
||||
|
||||
Fix multiple vulnerabilities of ntp.
|
||||
|
||||
20161208 p14 FreeBSD-SA-16:37.libc [revised]
|
||||
|
||||
Fix regressions introduced by SA-16:37.libc.
|
||||
|
||||
20161206 p13 FreeBSD-SA-16:36.telnetd
|
||||
FreeBSD-SA-16:37.libc
|
||||
FreeBSD-SA-16:38.bhyve
|
||||
FreeBSD-EN-16:19.tzcode
|
||||
FreeBSD-EN-16:20.tzdata
|
||||
|
||||
Fix possible login(1) argument injection in telnetd(8). [SA-16:36]
|
||||
Fix link_ntoa(3) buffer overflow in libc. [SA-16:37]
|
||||
Fix possible escape from bhyve(8) virtual machine. [SA-16:38]
|
||||
Fix warnings about valid time zone abbreviations. [EN-16:19]
|
||||
Update timezone database information. [EN-16:20]
|
||||
|
||||
20161102 p12 FreeBSD-SA-16:33.openssh
|
||||
FreeBSD-SA-16:35.openssl
|
||||
|
||||
Fix OpenSSH remote Denial of Service vulnerability. [SA-16:33]
|
||||
|
||||
Fix OpenSSL remote DoS vulnerability. [SA-16:35]
|
||||
|
||||
20161025 p11 FreeBSD-SA-16:15.sysarch [revised]
|
||||
FreeBSD-EN-16:17.vm
|
||||
|
||||
Fix incorrect argument validation in sysarch(2). [SA-16:15]
|
||||
Fix virtual memory subsystem bugs. [EN-16:17]
|
||||
|
||||
20161010 p10 FreeBSD-SA-16:29.bspatch
|
||||
FreeBSD-SA-16:30.portsnap
|
||||
FreeBSD-SA-16:31.libarchive
|
||||
|
||||
Fix bspatch heap overflow vulnerability. [SA-16:29]
|
||||
|
||||
Fix multiple portsnap vulnerabilities. [SA-16:30]
|
||||
|
||||
Fix multiple libarchive vulnerabilities. [SA-16:31]
|
||||
|
||||
20160926 p9 FreeBSD-SA-16:26.openssl [revised]
|
||||
|
||||
Fix OpenSSL regression introduced in SA-16:26.
|
||||
|
||||
20160923 p8 FreeBSD-SA-16:26.openssl
|
||||
|
||||
Fix multiple OpenSSL vulnerabilitites.
|
||||
|
||||
20160811 p7 FreeBSD-EN-16:10.dhclient
|
||||
FreeBSD-EN-16:11.vmbus
|
||||
FreeBSD-EN-16:12.hv_storvsc
|
||||
FreeBSD-EN-16:13.vmbus
|
||||
FreeBSD-EN-16:14.hv_storvsc
|
||||
FreeBSD-EN-16:15.vmbus
|
||||
FreeBSD-EN-16:16.hv_storvsc
|
||||
|
||||
Fix handling of unknown options from a DHCP server. [EN-16:10]
|
||||
Fix a panic in hv_vmbus(4). [EN-16:11]
|
||||
Fix missing hotplugged disk in hv_storvsc(4). [EN-16:12]
|
||||
Fix the timecounter emulation in hv_vmbus(4). [EN-16:13]
|
||||
Fix callout(9) handling in hv_storvsc(4). [EN-16:14]
|
||||
Fix memory allocation issues in hv_vmbus(4). [EN-16:15]
|
||||
Fix SCSI command handling in hv_storvsc(4). [EN-16:16]
|
||||
|
||||
20160725 p6 FreeBSD-SA-16:25.bspatch
|
||||
FreeBSD-EN-16:09.freebsd-update
|
||||
|
||||
Fix bspatch heap overflow vulnerability. [SA-16:25]
|
||||
|
||||
Fix freebsd-update(8) support of FreeBSD 11.0 release
|
||||
distribution. [EN-16:09]
|
||||
|
||||
20160604 p5 FreeBSD-SA-16:24.ntp
|
||||
|
||||
Fix multiple vulnerabilities of ntp.
|
||||
|
||||
20160531 p4 FreeBSD-SA-16:20.linux
|
||||
FreeBSD-SA-16:21.43bsd
|
||||
FreeBSD-SA-16:22.libarchive
|
||||
|
||||
Fix kernel stack disclosure in Linux compatibility layer. [SA-16:20]
|
||||
Fix kernel stack disclosure in 4.3BSD compatibility layer. [SA-16:21]
|
||||
Fix directory traversal in cpio(1). [SA-16:22]
|
||||
|
||||
|
||||
20160517 p3 FreeBSD-SA-16:18.atkbd
|
||||
FreeBSD-SA-16:19.sendmsg
|
||||
|
||||
Fix buffer overflow in keyboard driver. [SA-16:18]
|
||||
|
||||
Fix incorrect argument handling in sendmsg(2). [SA-16:19]
|
||||
|
||||
20160504 p2 FreeBSD-SA-16:17.openssl
|
||||
FreeBSD-EN-16:06.libc
|
||||
FreeBSD-EN-16:07.ipi
|
||||
FreeBSD-EN-16:08.zfs
|
||||
|
||||
Fix multiple OpenSSL vulnerabilitites. [SA-16:17]
|
||||
|
||||
Fix performance regression in libc hash(3). [EN-16:06]
|
||||
|
||||
Fix excessive latency in x86 IPI delivery. [EN-16:07]
|
||||
|
||||
Fix memory leak in ZFS. [EN-16:08]
|
||||
|
||||
20160429 p1 FreeBSD-SA-16:16.ntp
|
||||
|
||||
Fix multiple vulnerabilities of ntp.
|
||||
|
||||
20160329:
|
||||
10.3-RELEASE.
|
||||
|
||||
20160124:
|
||||
The NONE and HPN patches has been removed from OpenSSH. They are
|
||||
still available in the security/openssh-portable port.
|
||||
|
||||
+155
-1
@@ -1,3 +1,157 @@
|
||||
2017-09-02 11:53 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.32
|
||||
|
||||
2017-08-28 16:37 Christos Zoulas <[email protected]>
|
||||
|
||||
* Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski)
|
||||
|
||||
2017-08-27 03:55 Christos Zoulas <[email protected]>
|
||||
|
||||
* Fix always true condition (Thomas Jarosch)
|
||||
|
||||
2017-05-24 17:30 Christos Zoulas <[email protected]>
|
||||
|
||||
* pickier parsing of numeric values in magic files.
|
||||
|
||||
2017-05-23 17:55 Christos Zoulas <[email protected]>
|
||||
|
||||
* PR/615 add magic_getflags()
|
||||
|
||||
2017-05-23 13:55 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.31
|
||||
|
||||
2017-03-17 20:32 Christos Zoulas <[email protected]>
|
||||
|
||||
* remove trailing spaces from magic files
|
||||
* refactor is_tar
|
||||
* better bounds checks for cdf
|
||||
|
||||
2017-02-10 12:24 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.30
|
||||
|
||||
2017-02-07 23:27 Christos Zoulas <[email protected]>
|
||||
|
||||
* If we exceeded the offset in a search return no match
|
||||
(Christoph Biedl)
|
||||
* Be more lenient on corrupt CDF files (Christoph Biedl)
|
||||
|
||||
2017-02-04 16:46 Christos Zoulas <[email protected]>
|
||||
|
||||
* pacify ubsan sign extension (oss-fuzz/524)
|
||||
|
||||
2017-02-01 12:42 Christos Zoulas <[email protected]>
|
||||
|
||||
* off by one in cdf parsing (PR/593)
|
||||
* report debugging sections in elf (PR/591)
|
||||
|
||||
2016-11-06 10:52 Christos Zoulas <[email protected]>
|
||||
|
||||
* Allow @@@ in extensions
|
||||
* Add missing overflow check in der magic (Jonas Wagner)
|
||||
|
||||
2016-10-25 10:40 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.29
|
||||
|
||||
2016-10-24 11:20 Christos Zoulas <[email protected]>
|
||||
|
||||
* der getlength overflow (Jonas Wagner)
|
||||
* multiple magic file load failure (Christoph Biedl)
|
||||
|
||||
2016-10-17 11:26 Christos Zoulas <[email protected]>
|
||||
|
||||
* CDF parsing improvements (Guy Helmer)
|
||||
|
||||
2016-07-20 7:26 Christos Zoulas <[email protected]>
|
||||
|
||||
* Add support for signed indirect offsets
|
||||
|
||||
2016-07-18 7:41 Christos Zoulas <[email protected]>
|
||||
|
||||
* cat /dev/null | file - should print empty (Christoph Biedl)
|
||||
|
||||
2016-07-05 15:20 Christos Zoulas <[email protected]>
|
||||
|
||||
* Bump string size from 64 to 96.
|
||||
|
||||
2016-06-13 20:20 Christos Zoulas <[email protected]>
|
||||
|
||||
* PR/556: Fix separators on annotations.
|
||||
|
||||
2016-06-13 19:40 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.28
|
||||
* fix leak on allocation failure
|
||||
|
||||
2016-06-01 1:20 Christos Zoulas <[email protected]>
|
||||
|
||||
* PR/555: Avoid overflow for offset > nbytes
|
||||
* PR/550: Segv on DER parsing:
|
||||
- use the correct variable for length
|
||||
- set offset to 0 on failure.
|
||||
|
||||
2016-05-13 12:00 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.27
|
||||
|
||||
2016-04-18 9:35 Christos Zoulas <[email protected]>
|
||||
|
||||
* Errors comparing DER entries or computing offsets
|
||||
are just indications of malformed non-DER files.
|
||||
Don't print them.
|
||||
* Offset comparison was off-by-one.
|
||||
* Fix compression code (Werner Fink)
|
||||
* Put new bytes constant in the right file (not the generated one)
|
||||
|
||||
2016-04-16 18:34 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.26
|
||||
|
||||
2016-03-31 13:50 Christos Zoulas <[email protected]>
|
||||
|
||||
* make the number of bytes read from files configurable.
|
||||
|
||||
2016-03-21 13:40 Christos Zoulas <[email protected]>
|
||||
|
||||
* Add bounds checks for DER code (discovered by Thomas Jarosch)
|
||||
* Change indirect recursion limit to indirect use count and
|
||||
bump from 15 to 50 to prevent abuse.
|
||||
|
||||
2016-03-13 20:39 Christos Zoulas <[email protected]>
|
||||
|
||||
* Add -00 which prints filename\0description\0
|
||||
|
||||
2016-03-01 13:28 Christos Zoulas <[email protected]>
|
||||
|
||||
* Fix ID3 indirect parsing
|
||||
|
||||
2016-01-19 10:18 Christos Zoulas <[email protected]>
|
||||
|
||||
* add DER parsing capability
|
||||
|
||||
2015-11-13 10:35 Christos Zoulas <[email protected]>
|
||||
|
||||
* provide dprintf(3) for the OS's that don't have it.
|
||||
|
||||
2015-11-11 16:25 Christos Zoulas <[email protected]>
|
||||
|
||||
* redo the compression code report decompression errors
|
||||
|
||||
2015-11-10 23:25 Christos Zoulas <[email protected]>
|
||||
|
||||
* REG_STARTEND code is not working as expected, delete it.
|
||||
|
||||
2015-11-09 16:05 Christos Zoulas <[email protected]>
|
||||
|
||||
* Add zlib support if we have it.
|
||||
|
||||
2015-11-05 11:22 Christos Zoulas <[email protected]>
|
||||
|
||||
* PR/492: compression forking was broken with magic_buffer.
|
||||
|
||||
2015-09-16 9:50 Christos Zoulas <[email protected]>
|
||||
|
||||
* release 5.25
|
||||
@@ -287,7 +441,7 @@
|
||||
`
|
||||
2013-11-06 14:40 Christos Zoulas <[email protected]>
|
||||
|
||||
* fix erroneous non-zero exit code from non-existant file and message
|
||||
* fix erroneous non-zero exit code from non-existent file and message
|
||||
|
||||
2013-10-29 14:25 Christos Zoulas <[email protected]>
|
||||
|
||||
|
||||
+32
-5
@@ -1,6 +1,6 @@
|
||||
## README for file(1) Command ##
|
||||
|
||||
@(#) $File: README,v 1.49 2015/01/02 20:23:04 christos Exp $
|
||||
@(#) $File: README,v 1.50 2016/04/16 22:40:54 christos Exp $
|
||||
|
||||
Mailing List: [email protected]
|
||||
Mailing List archives: http://mx.gw.com/pipermail/file/
|
||||
@@ -67,17 +67,41 @@ in magic(5) format please, to the maintainer, Christos Zoulas.
|
||||
COPYING - read this first.
|
||||
README - read this second (you are currently reading this file).
|
||||
INSTALL - read on how to install
|
||||
src/localtime_r.c
|
||||
src/magic.c
|
||||
src/magic.h
|
||||
src/mygetopt.h
|
||||
src/newtest2.c
|
||||
src/newtest3.c
|
||||
src/pread.c
|
||||
src/print.c
|
||||
src/readcdf.c
|
||||
src/readelf.c
|
||||
src/readelf.h
|
||||
src/regex.c
|
||||
src/regex2.c
|
||||
src/softmagic.c
|
||||
src/strcasestr.c
|
||||
src/strlcat.c
|
||||
src/strlcpy.c
|
||||
src/strndup.c
|
||||
src/tar.h
|
||||
src/teststrchr.c
|
||||
src/vasprintf.c
|
||||
src/x.c
|
||||
src/apprentice.c - parses /etc/magic to learn magic
|
||||
src/asctime_r.c - replacement for OS's that don't have it.
|
||||
src/apptype.c - used for OS/2 specific application type magic
|
||||
src/asprintf.c - replacement for OS's that don't have it.
|
||||
src/ascmagic.c - third & last set of tests, based on hardwired assumptions.
|
||||
src/asctime_r.c - replacement for OS's that don't have it.
|
||||
src/asprintf.c - replacement for OS's that don't have it.
|
||||
src/asctime_r.c - replacement for OS's that don't have it.
|
||||
src/asprintf.c - replacement for OS's that don't have it.
|
||||
src/cdf.[ch] - parser for Microsoft Compound Document Files
|
||||
src/cdf_time.c - time converter for CDF.
|
||||
src/compress.c - handles decompressing files to look inside.
|
||||
src/ctime_r.c - replacement for OS's that don't have it.
|
||||
src/der.[ch] - parser for Distinguished Encoding Rules
|
||||
src/dprintf.c - replacement for OS's that don't have it.
|
||||
src/elfclass.h - common code for elf 32/64.
|
||||
src/encoding.c - handles unicode encodings
|
||||
src/file.c - the main program
|
||||
@@ -88,10 +112,13 @@ src/fsmagic.c - first set of tests the program runs, based on filesystem info
|
||||
src/funcs.c - utilility functions
|
||||
src/getline.c - replacement for OS's that don't have it.
|
||||
src/getopt_long.c - replacement for OS's that don't have it.
|
||||
src/is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).
|
||||
src/names.h - header file for ascmagic.c
|
||||
src/gmtime_r.c - replacement for OS's that don't have it.
|
||||
src/is_tar.c, tar.h - knows about Tape ARchive format (courtesy John Gilmore).
|
||||
src/localtime_r.c - replacement for OS's that don't have it.
|
||||
src/magic.h.in - source file for magic.h
|
||||
src/mygetopt.h - replacement for OS's that don't have it.
|
||||
src/magic.c - the libmagic api
|
||||
src/names.h - header file for ascmagic.c
|
||||
src/pread.c - replacement for OS's that don't have it.
|
||||
src/print.c - print results, errors, warnings.
|
||||
src/readcdf.c - CDF wrapper.
|
||||
|
||||
+17
-3
@@ -6,7 +6,6 @@ file, not here. More speculative material can live here.
|
||||
listed in the BUGS section of the man page had been fixed!)
|
||||
|
||||
---
|
||||
|
||||
It would be nice to simplify file considerably. For example,
|
||||
reimplement the apprentice and non-pattern magic methods in Python,
|
||||
and compile the magic patterns to a giant regex (or something similar;
|
||||
@@ -15,8 +14,23 @@ small amount of C is needed (because fast execution is typically only
|
||||
required for soft magic, not the more detailed information given by
|
||||
hard-wired routines). In this regard, note that hplip, which is
|
||||
BSD-licensed, has a magic reimplementation in Python.
|
||||
|
||||
---
|
||||
Read the kerberos magic entry for more ideas.
|
||||
|
||||
---
|
||||
Write a string merger to make magic entry sizes dynamic.
|
||||
Strings will be converted to offsets from the string table.
|
||||
---
|
||||
Programming language support, we can introduce the concept of a group
|
||||
of rules where n rules need to match before the rule is positive. This
|
||||
could require structural changes to the matching code :-(
|
||||
|
||||
0 group 2 # require 2 matches
|
||||
# rule 1
|
||||
>0 ....
|
||||
...
|
||||
# rule 2
|
||||
>0 ....
|
||||
...
|
||||
|
||||
christos
|
||||
|
||||
Vendored
+1
-1
@@ -21,7 +21,7 @@ If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
|
||||
|
||||
# visibility.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2005, 2008, 2010-2014 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2005, 2008, 2010-2016 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
Vendored
+216
-284
@@ -1,14 +1,12 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011, 2012 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2017 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2012-02-10'
|
||||
timestamp='2017-01-01'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
|
||||
# Originally written by Per Bothner. Please send patches (context
|
||||
# diff format) to <[email protected]> and include a ChangeLog
|
||||
# entry.
|
||||
# the same distribution terms that you use for the rest of that
|
||||
# program. This Exception is an additional permission under section 7
|
||||
# of the GNU General Public License, version 3 ("GPLv3").
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
||||
#
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||
#
|
||||
# Please send patches to <[email protected]>.
|
||||
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
@@ -54,9 +50,7 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1992-2017 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
case "${UNAME_SYSTEM}" in
|
||||
Linux|GNU|GNU/*)
|
||||
# If the system lacks a compiler, then just pick glibc.
|
||||
# We could probably try harder.
|
||||
LIBC=gnu
|
||||
|
||||
eval $set_cc_for_build
|
||||
cat <<-EOF > $dummy.c
|
||||
#include <features.h>
|
||||
#if defined(__UCLIBC__)
|
||||
LIBC=uclibc
|
||||
#elif defined(__dietlibc__)
|
||||
LIBC=dietlibc
|
||||
#else
|
||||
LIBC=gnu
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
||||
;;
|
||||
esac
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
@@ -153,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
# Note: NetBSD doesn't particularly care about the vendor
|
||||
# portion of the name. We always set it to "unknown".
|
||||
sysctl="sysctl -n hw.machine_arch"
|
||||
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
|
||||
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
|
||||
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
|
||||
/sbin/$sysctl 2>/dev/null || \
|
||||
/usr/sbin/$sysctl 2>/dev/null || \
|
||||
echo unknown)`
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
armeb) machine=armeb-unknown ;;
|
||||
arm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
sh3eb) machine=sh-unknown ;;
|
||||
sh5el) machine=sh5le-unknown ;;
|
||||
earmv*)
|
||||
arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
|
||||
endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
|
||||
machine=${arch}${endian}-unknown
|
||||
;;
|
||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||
esac
|
||||
# The Operating System including object format, if it has switched
|
||||
# to ELF recently, or will in the future.
|
||||
# to ELF recently (or will in the future) and ABI.
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
earm*)
|
||||
os=netbsdelf
|
||||
;;
|
||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
eval $set_cc_for_build
|
||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
@@ -182,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
os=netbsd
|
||||
;;
|
||||
esac
|
||||
# Determine ABI tags.
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
earm*)
|
||||
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
|
||||
abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
|
||||
;;
|
||||
esac
|
||||
# The OS release
|
||||
# Debian GNU/NetBSD machines have a different userland, and
|
||||
# thus, need a distinct triplet. However, they do not need
|
||||
@@ -192,18 +224,26 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
release='-gnu'
|
||||
;;
|
||||
*)
|
||||
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
|
||||
;;
|
||||
esac
|
||||
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
||||
# contains redundant information, the shorter form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
||||
echo "${machine}-${os}${release}"
|
||||
echo "${machine}-${os}${release}${abi}"
|
||||
exit ;;
|
||||
*:Bitrig:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:OpenBSD:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:LibertyBSD:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:ekkoBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -216,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
*:MirBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:Sortix:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-sortix
|
||||
exit ;;
|
||||
alpha:OSF1:*:*)
|
||||
case $UNAME_RELEASE in
|
||||
*4.0)
|
||||
@@ -232,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
|
||||
case "$ALPHA_CPU_TYPE" in
|
||||
"EV4 (21064)")
|
||||
UNAME_MACHINE="alpha" ;;
|
||||
UNAME_MACHINE=alpha ;;
|
||||
"EV4.5 (21064)")
|
||||
UNAME_MACHINE="alpha" ;;
|
||||
UNAME_MACHINE=alpha ;;
|
||||
"LCA4 (21066/21068)")
|
||||
UNAME_MACHINE="alpha" ;;
|
||||
UNAME_MACHINE=alpha ;;
|
||||
"EV5 (21164)")
|
||||
UNAME_MACHINE="alphaev5" ;;
|
||||
UNAME_MACHINE=alphaev5 ;;
|
||||
"EV5.6 (21164A)")
|
||||
UNAME_MACHINE="alphaev56" ;;
|
||||
UNAME_MACHINE=alphaev56 ;;
|
||||
"EV5.6 (21164PC)")
|
||||
UNAME_MACHINE="alphapca56" ;;
|
||||
UNAME_MACHINE=alphapca56 ;;
|
||||
"EV5.7 (21164PC)")
|
||||
UNAME_MACHINE="alphapca57" ;;
|
||||
UNAME_MACHINE=alphapca57 ;;
|
||||
"EV6 (21264)")
|
||||
UNAME_MACHINE="alphaev6" ;;
|
||||
UNAME_MACHINE=alphaev6 ;;
|
||||
"EV6.7 (21264A)")
|
||||
UNAME_MACHINE="alphaev67" ;;
|
||||
UNAME_MACHINE=alphaev67 ;;
|
||||
"EV6.8CB (21264C)")
|
||||
UNAME_MACHINE="alphaev68" ;;
|
||||
UNAME_MACHINE=alphaev68 ;;
|
||||
"EV6.8AL (21264B)")
|
||||
UNAME_MACHINE="alphaev68" ;;
|
||||
UNAME_MACHINE=alphaev68 ;;
|
||||
"EV6.8CX (21264D)")
|
||||
UNAME_MACHINE="alphaev68" ;;
|
||||
UNAME_MACHINE=alphaev68 ;;
|
||||
"EV6.9A (21264/EV69A)")
|
||||
UNAME_MACHINE="alphaev69" ;;
|
||||
UNAME_MACHINE=alphaev69 ;;
|
||||
"EV7 (21364)")
|
||||
UNAME_MACHINE="alphaev7" ;;
|
||||
UNAME_MACHINE=alphaev7 ;;
|
||||
"EV7.9 (21364A)")
|
||||
UNAME_MACHINE="alphaev79" ;;
|
||||
UNAME_MACHINE=alphaev79 ;;
|
||||
esac
|
||||
# A Pn.n version is a patched version.
|
||||
# A Vn.n version is a released version.
|
||||
# A Tn.n version is a released field test version.
|
||||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
||||
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
||||
exitcode=$?
|
||||
trap '' 0
|
||||
@@ -302,7 +345,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
arm:riscos:*:*|arm:RISCOS:*:*)
|
||||
arm*:riscos:*:*|arm*:RISCOS:*:*)
|
||||
echo arm-unknown-riscos
|
||||
exit ;;
|
||||
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
|
||||
@@ -340,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
exit ;;
|
||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||
eval $set_cc_for_build
|
||||
SUN_ARCH="i386"
|
||||
SUN_ARCH=i386
|
||||
# If there is a compiler, see if it is configured for 64-bit objects.
|
||||
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
||||
# This test works for both compilers.
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
||||
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
SUN_ARCH="x86_64"
|
||||
SUN_ARCH=x86_64
|
||||
fi
|
||||
fi
|
||||
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
@@ -374,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
exit ;;
|
||||
sun*:*:4.2BSD:*)
|
||||
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
||||
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
|
||||
test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
|
||||
case "`/bin/arch`" in
|
||||
sun3)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
@@ -560,8 +603,9 @@ EOF
|
||||
else
|
||||
IBM_ARCH=powerpc
|
||||
fi
|
||||
if [ -x /usr/bin/oslevel ] ; then
|
||||
IBM_REV=`/usr/bin/oslevel`
|
||||
if [ -x /usr/bin/lslpp ] ; then
|
||||
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
|
||||
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
|
||||
else
|
||||
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
|
||||
fi
|
||||
@@ -598,13 +642,13 @@ EOF
|
||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
||||
32) HP_ARCH=hppa2.0n ;;
|
||||
64) HP_ARCH=hppa2.0w ;;
|
||||
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
@@ -643,11 +687,11 @@ EOF
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||
(CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||
fi ;;
|
||||
esac
|
||||
if [ ${HP_ARCH} = "hppa2.0w" ]
|
||||
if [ ${HP_ARCH} = hppa2.0w ]
|
||||
then
|
||||
eval $set_cc_for_build
|
||||
|
||||
@@ -660,12 +704,12 @@ EOF
|
||||
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
|
||||
# => hppa64-hp-hpux11.23
|
||||
|
||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||
if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||
grep -q __LP64__
|
||||
then
|
||||
HP_ARCH="hppa2.0w"
|
||||
HP_ARCH=hppa2.0w
|
||||
else
|
||||
HP_ARCH="hppa64"
|
||||
HP_ARCH=hppa64
|
||||
fi
|
||||
fi
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
@@ -770,14 +814,14 @@ EOF
|
||||
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
||||
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
5000:UNIX_System_V:4.*:*)
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||
@@ -801,10 +845,13 @@ EOF
|
||||
i*:CYGWIN*:*)
|
||||
echo ${UNAME_MACHINE}-pc-cygwin
|
||||
exit ;;
|
||||
*:MINGW64*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw64
|
||||
exit ;;
|
||||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:MSYS*:*)
|
||||
*:MSYS*:*)
|
||||
echo ${UNAME_MACHINE}-pc-msys
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
@@ -852,21 +899,21 @@ EOF
|
||||
exit ;;
|
||||
*:GNU:*:*)
|
||||
# the GNU system
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
exit ;;
|
||||
*:GNU/*:*:*)
|
||||
# other systems with GNU libc and userland
|
||||
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
|
||||
exit ;;
|
||||
i*86:Minix:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-minix
|
||||
exit ;;
|
||||
aarch64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
aarch64_be:Linux:*:*)
|
||||
UNAME_MACHINE=aarch64_be
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
@@ -879,59 +926,60 @@ EOF
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
arc:Linux:*:* | arceb:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_EABI__
|
||||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
else
|
||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_PCS_VFP
|
||||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
|
||||
fi
|
||||
fi
|
||||
exit ;;
|
||||
avr32*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
cris:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-axis-linux-gnu
|
||||
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||
exit ;;
|
||||
crisv32:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-axis-linux-gnu
|
||||
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||
exit ;;
|
||||
e2k:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
hexagon:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
LIBC=gnu
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
#ifdef __dietlibc__
|
||||
LIBC=dietlibc
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||
exit ;;
|
||||
ia64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
k1om:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
m32r*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
m68*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
mips:Linux:*:* | mips64:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
@@ -950,54 +998,69 @@ EOF
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||
;;
|
||||
or32:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
mips64el:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
openrisc*:Linux:*:*)
|
||||
echo or1k-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
or32:Linux:*:* | or1k*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
padre:Linux:*:*)
|
||||
echo sparc-unknown-linux-gnu
|
||||
echo sparc-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-gnu
|
||||
echo hppa64-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||
# Look for CPU level
|
||||
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||
PA7*) echo hppa1.1-unknown-linux-gnu ;;
|
||||
PA8*) echo hppa2.0-unknown-linux-gnu ;;
|
||||
*) echo hppa-unknown-linux-gnu ;;
|
||||
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
|
||||
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
|
||||
*) echo hppa-unknown-linux-${LIBC} ;;
|
||||
esac
|
||||
exit ;;
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
echo powerpc64-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-gnu
|
||||
echo powerpc-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
ppc64le:Linux:*:*)
|
||||
echo powerpc64le-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
ppcle:Linux:*:*)
|
||||
echo powerpcle-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
riscv32:Linux:*:* | riscv64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||
exit ;;
|
||||
x86_64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
i*86:DYNIX/ptx:4*:*)
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||
@@ -1073,7 +1136,7 @@ EOF
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# Note: whatever this is, it MUST be the same as what config.sub
|
||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||
# prints for the "djgpp" host, or else GDB configure will decide that
|
||||
# this is a cross-build.
|
||||
echo i586-pc-msdosdjgpp
|
||||
exit ;;
|
||||
@@ -1201,6 +1264,9 @@ EOF
|
||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
||||
echo i586-pc-haiku
|
||||
exit ;;
|
||||
x86_64:Haiku:*:*)
|
||||
echo x86_64-unknown-haiku
|
||||
exit ;;
|
||||
SX-4:SUPER-UX:*:*)
|
||||
echo sx4-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -1219,6 +1285,9 @@ EOF
|
||||
SX-8R:SUPER-UX:*:*)
|
||||
echo sx8r-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-ACE:SUPER-UX:*:*)
|
||||
echo sxace-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
Power*:Rhapsody:*:*)
|
||||
echo powerpc-apple-rhapsody${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -1227,24 +1296,36 @@ EOF
|
||||
exit ;;
|
||||
*:Darwin:*:*)
|
||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||
case $UNAME_PROCESSOR in
|
||||
i386)
|
||||
eval $set_cc_for_build
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
UNAME_PROCESSOR="x86_64"
|
||||
fi
|
||||
fi ;;
|
||||
unknown) UNAME_PROCESSOR=powerpc ;;
|
||||
esac
|
||||
eval $set_cc_for_build
|
||||
if test "$UNAME_PROCESSOR" = unknown ; then
|
||||
UNAME_PROCESSOR=powerpc
|
||||
fi
|
||||
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
|
||||
if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
case $UNAME_PROCESSOR in
|
||||
i386) UNAME_PROCESSOR=x86_64 ;;
|
||||
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
elif test "$UNAME_PROCESSOR" = i386 ; then
|
||||
# Avoid executing cc on OS X 10.9, as it ships with a stub
|
||||
# that puts up a graphical alert prompting to install
|
||||
# developer tools. Any system running Mac OS X 10.7 or
|
||||
# later (Darwin 11 and later) is required to have a 64-bit
|
||||
# processor. This is not true of the ARM version of Darwin
|
||||
# that Apple uses in portable devices.
|
||||
UNAME_PROCESSOR=x86_64
|
||||
fi
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||
UNAME_PROCESSOR=`uname -p`
|
||||
if test "$UNAME_PROCESSOR" = "x86"; then
|
||||
if test "$UNAME_PROCESSOR" = x86; then
|
||||
UNAME_PROCESSOR=i386
|
||||
UNAME_MACHINE=pc
|
||||
fi
|
||||
@@ -1256,7 +1337,7 @@ EOF
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSE-?:NONSTOP_KERNEL:*:*)
|
||||
NSE-*:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSR-?:NONSTOP_KERNEL:*:*)
|
||||
@@ -1275,7 +1356,7 @@ EOF
|
||||
# "uname -m" is not consistent, so use $cputype instead. 386
|
||||
# is converted to i386 for consistency with other x86
|
||||
# operating systems.
|
||||
if test "$cputype" = "386"; then
|
||||
if test "$cputype" = 386; then
|
||||
UNAME_MACHINE=i386
|
||||
else
|
||||
UNAME_MACHINE="$cputype"
|
||||
@@ -1317,7 +1398,7 @@ EOF
|
||||
echo i386-pc-xenix
|
||||
exit ;;
|
||||
i*86:skyos:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
|
||||
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
|
||||
exit ;;
|
||||
i*86:rdos:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-rdos
|
||||
@@ -1328,174 +1409,25 @@ EOF
|
||||
x86_64:VMkernel:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-esx
|
||||
exit ;;
|
||||
amd64:Isilon\ OneFS:*:*)
|
||||
echo x86_64-unknown-onefs
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
eval $set_cc_for_build
|
||||
cat >$dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
if (version < 4)
|
||||
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
||||
else
|
||||
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-pc-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
# if !defined (ultrix)
|
||||
# include <sys/param.h>
|
||||
# if defined (BSD)
|
||||
# if BSD == 43
|
||||
printf ("vax-dec-bsd4.3\n"); exit (0);
|
||||
# else
|
||||
# if BSD == 199006
|
||||
printf ("vax-dec-bsd4.3reno\n"); exit (0);
|
||||
# else
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
# endif
|
||||
# else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
|
||||
{ echo "$SYSTEM_NAME"; exit; }
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
cat >&2 <<EOF
|
||||
$0: unable to guess system type
|
||||
|
||||
This script, last modified $timestamp, has failed to recognize
|
||||
the operating system you are using. It is advised that you
|
||||
download the most up to date version of the config scripts from
|
||||
This script (version $timestamp), has failed to recognize the
|
||||
operating system you are using. If your script is old, overwrite
|
||||
config.guess and config.sub with the latest versions from:
|
||||
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
||||
and
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
|
||||
If the version you run ($0) is already up to date, please
|
||||
send the following data and any information you think might be
|
||||
pertinent to <[email protected]> in order to provide the needed
|
||||
information to handle your system.
|
||||
If $0 has already been updated, send the following data and any
|
||||
information you think might be pertinent to [email protected] to
|
||||
provide the necessary information to handle your system.
|
||||
|
||||
config.guess timestamp = $timestamp
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the `dprintf' function. */
|
||||
#undef HAVE_DPRINTF
|
||||
|
||||
/* Define to 1 if you have the <err.h> header file. */
|
||||
#undef HAVE_ERR_H
|
||||
|
||||
@@ -325,6 +328,9 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Enable zlib compression support */
|
||||
#undef ZLIBSUPPORT
|
||||
|
||||
/* Enable large inode numbers on Mac OS X 10.5. */
|
||||
#ifndef _DARWIN_USE_64_BIT_INODE
|
||||
# define _DARWIN_USE_64_BIT_INODE 1
|
||||
|
||||
Vendored
+111
-62
@@ -1,24 +1,18 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011, 2012 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2017 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2012-04-18'
|
||||
timestamp='2017-01-01'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
# the same distribution terms that you use for the rest of that
|
||||
# program. This Exception is an additional permission under section 7
|
||||
# of the GNU General Public License, version 3 ("GPLv3").
|
||||
|
||||
|
||||
# Please send patches to <[email protected]>. Submit a context
|
||||
# diff and a properly formatted GNU ChangeLog entry.
|
||||
# Please send patches to <[email protected]>.
|
||||
#
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
@@ -38,7 +33,7 @@ timestamp='2012-04-18'
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
@@ -58,8 +53,7 @@ timestamp='2012-04-18'
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION] CPU-MFR-OPSYS
|
||||
$0 [OPTION] ALIAS
|
||||
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
||||
|
||||
Canonicalize a configuration name.
|
||||
|
||||
@@ -73,9 +67,7 @@ Report bugs and patches to <[email protected]>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
Copyright 1992-2017 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@@ -123,9 +115,9 @@ esac
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
kopensolaris*-gnu* | \
|
||||
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
|
||||
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
@@ -156,7 +148,7 @@ case $os in
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple | -axis | -knuth | -cray | -microblaze)
|
||||
-apple | -axis | -knuth | -cray | -microblaze*)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
@@ -259,21 +251,25 @@ case $basic_machine in
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| be32 | be64 \
|
||||
| arc | arceb \
|
||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
||||
| avr | avr32 \
|
||||
| ba \
|
||||
| be32 | be64 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| c4x | c8051 | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| epiphany \
|
||||
| fido | fr30 | frv \
|
||||
| e2k | epiphany \
|
||||
| fido | fr30 | frv | ft32 \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| k1om \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
@@ -287,26 +283,30 @@ case $basic_machine in
|
||||
| mips64vr5900 | mips64vr5900el \
|
||||
| mipsisa32 | mipsisa32el \
|
||||
| mipsisa32r2 | mipsisa32r2el \
|
||||
| mipsisa32r6 | mipsisa32r6el \
|
||||
| mipsisa64 | mipsisa64el \
|
||||
| mipsisa64r2 | mipsisa64r2el \
|
||||
| mipsisa64r6 | mipsisa64r6el \
|
||||
| mipsisa64sb1 | mipsisa64sb1el \
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipsr5900 | mipsr5900el \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios | nios2 \
|
||||
| nios | nios2 | nios2eb | nios2el \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
| or32 \
|
||||
| open8 | or1k | or1knd | or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pru \
|
||||
| pyramid \
|
||||
| riscv32 | riscv64 \
|
||||
| rl78 | rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
@@ -314,6 +314,7 @@ case $basic_machine in
|
||||
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| ubicom32 \
|
||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||
| visium \
|
||||
| we32k \
|
||||
| x86 | xc16x | xstormy16 | xtensa \
|
||||
| z8k | z80)
|
||||
@@ -328,7 +329,10 @@ case $basic_machine in
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
|
||||
leon|leon[3-9])
|
||||
basic_machine=sparc-$basic_machine
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
@@ -370,26 +374,29 @@ case $basic_machine in
|
||||
| aarch64-* | aarch64_be-* \
|
||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| ba-* \
|
||||
| be32-* | be64-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
| c8051-* | clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
| e2k-* | elxsi-* \
|
||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| k1om-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
||||
| microblaze-* | microblazeel-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
| mips16-* \
|
||||
| mips64-* | mips64el-* \
|
||||
@@ -403,28 +410,34 @@ case $basic_machine in
|
||||
| mips64vr5900-* | mips64vr5900el-* \
|
||||
| mipsisa32-* | mipsisa32el-* \
|
||||
| mipsisa32r2-* | mipsisa32r2el-* \
|
||||
| mipsisa32r6-* | mipsisa32r6el-* \
|
||||
| mipsisa64-* | mipsisa64el-* \
|
||||
| mipsisa64r2-* | mipsisa64r2el-* \
|
||||
| mipsisa64r6-* | mipsisa64r6el-* \
|
||||
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
||||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||
| mipsr5900-* | mipsr5900el-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
| nios-* | nios2-* \
|
||||
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| or1k*-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
| pru-* \
|
||||
| pyramid-* \
|
||||
| riscv32-* | riscv64-* \
|
||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
|
||||
| tahoe-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tile*-* \
|
||||
@@ -432,6 +445,7 @@ case $basic_machine in
|
||||
| ubicom32-* \
|
||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||
| vax-* \
|
||||
| visium-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||
| xstormy16-* | xtensa*-* \
|
||||
@@ -508,6 +522,9 @@ case $basic_machine in
|
||||
basic_machine=i386-pc
|
||||
os=-aros
|
||||
;;
|
||||
asmjs)
|
||||
basic_machine=asmjs-unknown
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
@@ -628,6 +645,14 @@ case $basic_machine in
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
e500v[12])
|
||||
basic_machine=powerpc-unknown
|
||||
os=$os"spe"
|
||||
;;
|
||||
e500v[12]-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
os=$os"spe"
|
||||
;;
|
||||
ebmon29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-ebmon
|
||||
@@ -769,6 +794,9 @@ case $basic_machine in
|
||||
basic_machine=m68k-isi
|
||||
os=-sysv
|
||||
;;
|
||||
leon-*|leon[3-9]-*)
|
||||
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
||||
;;
|
||||
m68knommu)
|
||||
basic_machine=m68k-unknown
|
||||
os=-linux
|
||||
@@ -788,11 +816,15 @@ case $basic_machine in
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
microblaze)
|
||||
microblaze*)
|
||||
basic_machine=microblaze-xilinx
|
||||
;;
|
||||
mingw64)
|
||||
basic_machine=x86_64-pc
|
||||
os=-mingw64
|
||||
;;
|
||||
mingw32)
|
||||
basic_machine=i386-pc
|
||||
basic_machine=i686-pc
|
||||
os=-mingw32
|
||||
;;
|
||||
mingw32ce)
|
||||
@@ -820,6 +852,10 @@ case $basic_machine in
|
||||
basic_machine=powerpc-unknown
|
||||
os=-morphos
|
||||
;;
|
||||
moxiebox)
|
||||
basic_machine=moxie-unknown
|
||||
os=-moxiebox
|
||||
;;
|
||||
msdos)
|
||||
basic_machine=i386-pc
|
||||
os=-msdos
|
||||
@@ -828,7 +864,7 @@ case $basic_machine in
|
||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||
;;
|
||||
msys)
|
||||
basic_machine=i386-pc
|
||||
basic_machine=i686-pc
|
||||
os=-msys
|
||||
;;
|
||||
mvs)
|
||||
@@ -996,7 +1032,7 @@ case $basic_machine in
|
||||
ppc-* | ppcbe-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
ppcle | powerpclittle)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
@@ -1006,7 +1042,7 @@ case $basic_machine in
|
||||
;;
|
||||
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
|
||||
ppc64le | powerpc64little)
|
||||
basic_machine=powerpc64le-unknown
|
||||
;;
|
||||
ppc64le-* | powerpc64little-*)
|
||||
@@ -1019,7 +1055,11 @@ case $basic_machine in
|
||||
basic_machine=i586-unknown
|
||||
os=-pw32
|
||||
;;
|
||||
rdos)
|
||||
rdos | rdos64)
|
||||
basic_machine=x86_64-pc
|
||||
os=-rdos
|
||||
;;
|
||||
rdos32)
|
||||
basic_machine=i386-pc
|
||||
os=-rdos
|
||||
;;
|
||||
@@ -1346,29 +1386,30 @@ case $os in
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
| -sym* | -kopensolaris* \
|
||||
| -sym* | -kopensolaris* | -plan9* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
| -openbsd* | -solidbsd* \
|
||||
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
||||
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@@ -1492,9 +1533,6 @@ case $os in
|
||||
-aros*)
|
||||
os=-aros
|
||||
;;
|
||||
-kaos*)
|
||||
os=-kaos
|
||||
;;
|
||||
-zvmoe)
|
||||
os=-zvmoe
|
||||
;;
|
||||
@@ -1503,6 +1541,8 @@ case $os in
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-ios)
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
@@ -1543,6 +1583,12 @@ case $basic_machine in
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
c8051-*)
|
||||
os=-elf
|
||||
;;
|
||||
hexagon-*)
|
||||
os=-elf
|
||||
;;
|
||||
tic54x-*)
|
||||
os=-coff
|
||||
;;
|
||||
@@ -1592,6 +1638,9 @@ case $basic_machine in
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
pru-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-be)
|
||||
os=-beos
|
||||
;;
|
||||
|
||||
Vendored
+51
-12
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for file 5.25.
|
||||
# Generated by GNU Autoconf 2.69 for file 5.32.
|
||||
#
|
||||
# Report bugs to <[email protected]>.
|
||||
#
|
||||
@@ -590,8 +590,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='file'
|
||||
PACKAGE_TARNAME='file'
|
||||
PACKAGE_VERSION='5.25'
|
||||
PACKAGE_STRING='file 5.25'
|
||||
PACKAGE_VERSION='5.32'
|
||||
PACKAGE_STRING='file 5.32'
|
||||
PACKAGE_BUGREPORT='[email protected]'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -766,6 +766,7 @@ enable_option_checking
|
||||
enable_silent_rules
|
||||
enable_elf
|
||||
enable_elf_core
|
||||
enable_zlib
|
||||
enable_fsect_man5
|
||||
enable_dependency_tracking
|
||||
enable_static
|
||||
@@ -1327,7 +1328,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures file 5.25 to adapt to many kinds of systems.
|
||||
\`configure' configures file 5.32 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1397,7 +1398,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of file 5.25:";;
|
||||
short | recursive ) echo "Configuration of file 5.32:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1409,6 +1410,7 @@ Optional Features:
|
||||
--disable-silent-rules verbose build output (undo: "make V=0")
|
||||
--disable-elf disable builtin ELF support
|
||||
--disable-elf-core disable ELF core file support
|
||||
--disable-zlib disable zlib compression support [default=auto]
|
||||
--enable-fsect-man5 enable file formats in man section 5
|
||||
--enable-dependency-tracking
|
||||
do not reject slow dependency extractors
|
||||
@@ -1507,7 +1509,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
file configure 5.25
|
||||
file configure 5.32
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2163,7 +2165,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by file $as_me 5.25, which was
|
||||
It was created by file $as_me 5.32, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -3029,7 +3031,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='file'
|
||||
VERSION='5.25'
|
||||
VERSION='5.32'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -3218,6 +3220,16 @@ $as_echo "#define ELFCORE 1" >>confdefs.h
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib support" >&5
|
||||
$as_echo_n "checking for zlib support... " >&6; }
|
||||
# Check whether --enable-zlib was given.
|
||||
if test "${enable_zlib+set}" = set; then :
|
||||
enableval=$enable_zlib;
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_zlib" >&5
|
||||
$as_echo "$enable_zlib" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for file formats in man section 5" >&5
|
||||
$as_echo_n "checking for file formats in man section 5... " >&6; }
|
||||
# Check whether --enable-fsect-man5 was given.
|
||||
@@ -12812,7 +12824,8 @@ fi
|
||||
|
||||
done
|
||||
|
||||
for ac_header in zlib.h
|
||||
if test "$enable_zlib" != "no"; then
|
||||
for ac_header in zlib.h
|
||||
do :
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_zlib_h" = xyes; then :
|
||||
@@ -12824,6 +12837,7 @@ fi
|
||||
|
||||
done
|
||||
|
||||
fi
|
||||
ac_fn_c_check_type "$LINENO" "sig_t" "ac_cv_type_sig_t" "
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
@@ -14385,9 +14399,23 @@ esac
|
||||
|
||||
fi
|
||||
|
||||
ac_fn_c_check_func "$LINENO" "dprintf" "ac_cv_func_dprintf"
|
||||
if test "x$ac_cv_func_dprintf" = xyes; then :
|
||||
$as_echo "#define HAVE_DPRINTF 1" >>confdefs.h
|
||||
|
||||
else
|
||||
case " $LIBOBJS " in
|
||||
*" dprintf.$ac_objext "* ) ;;
|
||||
*) LIBOBJS="$LIBOBJS dprintf.$ac_objext"
|
||||
;;
|
||||
esac
|
||||
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5
|
||||
|
||||
if test "$enable_zlib" != "no"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5
|
||||
$as_echo_n "checking for gzopen in -lz... " >&6; }
|
||||
if ${ac_cv_lib_z_gzopen+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
@@ -14432,6 +14460,7 @@ _ACEOF
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
if test "$MINGW" = 1; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for regexec in -lgnurx" >&5
|
||||
$as_echo_n "checking for regexec in -lgnurx... " >&6; }
|
||||
@@ -14491,6 +14520,16 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if test "$enable_zlib" = "yes"; then
|
||||
if test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" != "yesyes"; then
|
||||
as_fn_error $? "zlib support requested but not found" "$LINENO" 5
|
||||
fi
|
||||
elif test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" = "yesyes"; then
|
||||
|
||||
$as_echo "#define ZLIBSUPPORT 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
ac_config_files="$ac_config_files Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
@@ -15036,7 +15075,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by file $as_me 5.25, which was
|
||||
This file was extended by file $as_me 5.32, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -15102,7 +15141,7 @@ _ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
file config.status 5.25
|
||||
file config.status 5.32
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT([file],[5.25],[[email protected]])
|
||||
AC_INIT([file],[5.32],[[email protected]])
|
||||
AM_INIT_AUTOMAKE([subdir-objects foreign])
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
@@ -34,6 +34,11 @@ fi], [
|
||||
AC_DEFINE([ELFCORE], 1, [Define for ELF core file support])
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(for zlib support)
|
||||
AC_ARG_ENABLE(zlib,
|
||||
[AS_HELP_STRING([--disable-zlib], [disable zlib compression support @<:@default=auto@:>@])])
|
||||
AC_MSG_RESULT($enable_zlib)
|
||||
|
||||
AC_MSG_CHECKING(for file formats in man section 5)
|
||||
AC_ARG_ENABLE(fsect-man5,
|
||||
[ --enable-fsect-man5 enable file formats in man section 5],
|
||||
@@ -84,7 +89,9 @@ AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h)
|
||||
AC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h)
|
||||
AC_CHECK_HEADERS(getopt.h err.h xlocale.h signal.h)
|
||||
AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h)
|
||||
AC_CHECK_HEADERS(zlib.h)
|
||||
if test "$enable_zlib" != "no"; then
|
||||
AC_CHECK_HEADERS(zlib.h)
|
||||
fi
|
||||
AC_CHECK_TYPE([sig_t],[AC_DEFINE([HAVE_SIG_T],1,[Have sig_t type])],,[
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
#include <signal.h>
|
||||
@@ -145,10 +152,12 @@ dnl Checks for functions
|
||||
AC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof newlocale uselocale freelocale setlocale)
|
||||
|
||||
dnl Provide implementation of some required functions if necessary
|
||||
AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r localtime_r gmtime_r pread strcasestr fmtcheck)
|
||||
AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r localtime_r gmtime_r pread strcasestr fmtcheck dprintf)
|
||||
|
||||
dnl Checks for libraries
|
||||
AC_CHECK_LIB(z,gzopen)
|
||||
if test "$enable_zlib" != "no"; then
|
||||
AC_CHECK_LIB(z, gzopen)
|
||||
fi
|
||||
if test "$MINGW" = 1; then
|
||||
AC_CHECK_LIB(gnurx,regexec,,AC_MSG_ERROR([libgnurx is required to build file(1) with MinGW]))
|
||||
fi
|
||||
@@ -156,5 +165,14 @@ fi
|
||||
dnl See if we are cross-compiling
|
||||
AM_CONDITIONAL(IS_CROSS_COMPILE, test "$cross_compiling" = yes)
|
||||
|
||||
dnl Final sanity checks
|
||||
if test "$enable_zlib" = "yes"; then
|
||||
if test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" != "yesyes"; then
|
||||
AC_MSG_ERROR([zlib support requested but not found])
|
||||
fi
|
||||
elif test "$ac_cv_header_zlib_h$ac_cv_lib_z_gzopen" = "yesyes"; then
|
||||
AC_DEFINE([ZLIBSUPPORT], 1, [Enable zlib compression support])
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile])
|
||||
AC_OUTPUT
|
||||
+25
-16
@@ -1,5 +1,5 @@
|
||||
.\" $File: file.man,v 1.118 2015/09/11 17:24:09 christos Exp $
|
||||
.Dd September 11, 2015
|
||||
.\" $File: file.man,v 1.125 2017/01/03 11:24:46 christos Exp $
|
||||
.Dd October 19, 2016
|
||||
.Dt FILE __CSECTION__
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -8,7 +8,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Bk -words
|
||||
.Op Fl bcEhiklLNnprsvzZ0
|
||||
.Op Fl bcdEhiklLNnprsvzZ0
|
||||
.Op Fl Fl apple
|
||||
.Op Fl Fl extension
|
||||
.Op Fl Fl mime-encoding
|
||||
@@ -181,6 +181,8 @@ Cause a checking printout of the parsed form of the magic file.
|
||||
This is usually used in conjunction with the
|
||||
.Fl m
|
||||
flag to debug a new magic file before installing it.
|
||||
.It Fl d
|
||||
Prints internal debugging information to stderr.
|
||||
.It Fl E
|
||||
On filesystem errors (file not found etc), instead of handling the error
|
||||
as regular output as POSIX mandates and keep going, issue an error message
|
||||
@@ -208,11 +210,15 @@ Prints details of Compound Document Files.
|
||||
.It compress
|
||||
Checks for, and looks inside, compressed files.
|
||||
.It elf
|
||||
Prints ELF file details.
|
||||
Prints ELF file details, provided soft magic tests are enabled and the
|
||||
elf magic is found.
|
||||
.It soft
|
||||
Consults magic files.
|
||||
.It tar
|
||||
Examines tar files.
|
||||
.It text
|
||||
A synonym for
|
||||
.Sq ascii .
|
||||
.El
|
||||
.It Fl Fl extension
|
||||
Print a slash-separated list of valid extensions for the file type found.
|
||||
@@ -232,8 +238,8 @@ or at least one filename argument must be present;
|
||||
to test the standard input, use
|
||||
.Sq -
|
||||
as a filename argument.
|
||||
Please note that
|
||||
.Ar namefile
|
||||
Please note that
|
||||
.Ar namefile
|
||||
is unwrapped and the enclosed filenames are processed when this option is
|
||||
encountered and before any further options processing is done.
|
||||
This allows one to process multiple lists of files with different command line
|
||||
@@ -309,7 +315,7 @@ attempt to preserve the access time of files analyzed, to pretend that
|
||||
never read them.
|
||||
.It Fl P , Fl Fl parameter Ar name=value
|
||||
Set various parameter limits.
|
||||
.Bl -column "elf_phnum" "Default" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent
|
||||
.Bl -column "elf_phnum" "Default" "XXXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent
|
||||
.It Sy "Name" Ta Sy "Default" Ta Sy "Explanation"
|
||||
.It Li indir Ta 15 Ta recursion limit for indirect magic
|
||||
.It Li name Ta 30 Ta use count limit for name/use magic
|
||||
@@ -317,6 +323,7 @@ Set various parameter limits.
|
||||
.It Li elf_phnum Ta 128 Ta max ELF program sections processed
|
||||
.It Li elf_shnum Ta 32768 Ta max ELF sections processed
|
||||
.It Li regex Ta 8192 Ta length limit for regex searches
|
||||
.It Li bytes Ta 1048576 Ta max number of bytes to read from file
|
||||
.El
|
||||
.It Fl r , Fl Fl raw
|
||||
Don't translate unprintable characters to \eooo.
|
||||
@@ -358,6 +365,11 @@ Nice to
|
||||
.Xr cut 1
|
||||
the output.
|
||||
This does not affect the separator, which is still printed.
|
||||
.Pp
|
||||
If this option is repeated more than once, then
|
||||
.Nm
|
||||
prints just the filename followed by a NUL followed by the description
|
||||
(or ERROR: text) followed by a second NUL for each entry.
|
||||
.It Fl -help
|
||||
Print a help message and exit.
|
||||
.El
|
||||
@@ -399,10 +411,10 @@ and
|
||||
.Fl h
|
||||
options.
|
||||
.Sh SEE ALSO
|
||||
.Xr magic __FSECTION__ ,
|
||||
.Xr hexdump 1 ,
|
||||
.Xr od 1 ,
|
||||
.Xr strings 1 ,
|
||||
.Xr magic __FSECTION__ ,
|
||||
.Xr fstyp 8
|
||||
.Sh STANDARDS CONFORMANCE
|
||||
This program is believed to exceed the System V Interface Definition
|
||||
@@ -519,16 +531,15 @@ John Gilmore revised the code extensively, making it better than
|
||||
the first version.
|
||||
Geoff Collyer found several inadequacies
|
||||
and provided some magic file entries.
|
||||
Contributions by the
|
||||
Contributions of the
|
||||
.Sq \*[Am]
|
||||
operator by Rob McMahon,
|
||||
.Aq [email protected] ,
|
||||
1989.
|
||||
.Pp
|
||||
Guy Harris,
|
||||
Guy Harris,
|
||||
.Aq [email protected] ,
|
||||
made many changes from 1993 to the present.
|
||||
1989.
|
||||
.Pp
|
||||
Primary development and maintenance from 1990 to the present by
|
||||
Christos Zoulas
|
||||
@@ -576,7 +587,6 @@ program, and are not covered by the above license.
|
||||
.Nm
|
||||
returns 0 on success, and non-zero on error.
|
||||
.Sh BUGS
|
||||
.Pp
|
||||
Please report bugs and send patches to the bug tracker at
|
||||
.Pa http://bugs.gw.com/
|
||||
or the mailing list at
|
||||
@@ -585,7 +595,6 @@ or the mailing list at
|
||||
.Pa http://mx.gw.com/mailman/listinfo/file
|
||||
first to subscribe).
|
||||
.Sh TODO
|
||||
.Pp
|
||||
Fix output so that tests for MIME and APPLE flags are not needed all
|
||||
over the place, and actual output is only done in one place.
|
||||
This needs a design.
|
||||
@@ -634,16 +643,16 @@ Fix
|
||||
.Dq name
|
||||
and
|
||||
.Dq use
|
||||
to check for consistency at compile time (duplicate
|
||||
to check for consistency at compile time (duplicate
|
||||
.Dq name ,
|
||||
.Dq use
|
||||
pointing to undefined
|
||||
.Dq name
|
||||
).
|
||||
Make
|
||||
Make
|
||||
.Dq name
|
||||
/
|
||||
.Dq use
|
||||
.Dq use
|
||||
more efficient by keeping a sorted list of names.
|
||||
Special-case ^ to flip endianness in the parser so that it does not
|
||||
have to be escaped, and document it.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.\" $File: libmagic.man,v 1.38 2015/09/11 17:24:09 christos Exp $
|
||||
.\" $File: libmagic.man,v 1.41 2017/05/23 21:54:07 christos Exp $
|
||||
.\"
|
||||
.\" Copyright (c) Christos Zoulas 2003.
|
||||
.\" All Rights Reserved.
|
||||
@@ -25,7 +25,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd September 11, 2015
|
||||
.Dd May 23, 2017
|
||||
.Dt LIBMAGIC 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -35,6 +35,7 @@
|
||||
.Nm magic_errno ,
|
||||
.Nm magic_descriptor ,
|
||||
.Nm magic_buffer ,
|
||||
.Nm magic_getflags ,
|
||||
.Nm magic_setflags ,
|
||||
.Nm magic_check ,
|
||||
.Nm magic_compile ,
|
||||
@@ -64,6 +65,8 @@
|
||||
.Ft const char *
|
||||
.Fn magic_buffer "magic_t cookie" "const void *buffer" "size_t length"
|
||||
.Ft int
|
||||
.Fn magic_getflags "magic_t cookie"
|
||||
.Ft int
|
||||
.Fn magic_setflags "magic_t cookie" "int flags"
|
||||
.Ft int
|
||||
.Fn magic_check "magic_t cookie" "const char *filename"
|
||||
@@ -206,6 +209,12 @@ argument with
|
||||
bytes size.
|
||||
.Pp
|
||||
The
|
||||
.Fn magic_getflags
|
||||
functions returns a value representing current
|
||||
.Ar flags
|
||||
set.
|
||||
.Pp
|
||||
The
|
||||
.Fn magic_setflags
|
||||
function sets the
|
||||
.Ar flags
|
||||
@@ -225,7 +234,7 @@ It returns 0 on success and \-1 on failure.
|
||||
.Pp
|
||||
The
|
||||
.Fn magic_compile
|
||||
function can be used to compile the the colon
|
||||
function can be used to compile the colon
|
||||
separated list of database files passed in as
|
||||
.Ar filename ,
|
||||
or
|
||||
@@ -251,7 +260,7 @@ for the default database.
|
||||
.Pp
|
||||
The
|
||||
.Fn magic_load
|
||||
function must be used to load the the colon
|
||||
function must be used to load the colon
|
||||
separated list of database files passed in as
|
||||
.Ar filename ,
|
||||
or
|
||||
@@ -282,7 +291,7 @@ The
|
||||
.Fn magic_getparam
|
||||
and
|
||||
.Fn magic_setparam
|
||||
allow getting and setting various limits related to the the magic
|
||||
allow getting and setting various limits related to the magic
|
||||
library.
|
||||
.Bl -column "MAGIC_PARAM_ELF_PHNUM_MAX" "size_t" "Default" -offset indent
|
||||
.It Sy "Parameter" Ta Sy "Type" Ta Sy "Default"
|
||||
@@ -292,6 +301,7 @@ library.
|
||||
.It Li MAGIC_PARAM_ELF_PHNUM_MAX Ta size_t Ta 128
|
||||
.It Li MAGIC_PARAM_ELF_SHNUM_MAX Ta size_t Ta 32768
|
||||
.It Li MAGIC_PARAM_REGEX_MAX Ta size_t Ta 8192
|
||||
.It Li MAGIC_PARAM_BYTES_MAX Ta size_t Ta 1048576
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
|
||||
+28
-17
@@ -1,5 +1,5 @@
|
||||
.\" $File: magic.man,v 1.86 2015/09/08 13:48:44 christos Exp $
|
||||
.Dd January 1, 2015
|
||||
.\" $File: magic.man,v 1.91 2017/02/12 15:30:08 christos Exp $
|
||||
.Dd February 12, 2017
|
||||
.Dt MAGIC __FSECTION__
|
||||
.Os
|
||||
.\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems.
|
||||
@@ -7,7 +7,7 @@
|
||||
.Nm magic
|
||||
.Nd file command's magic pattern file
|
||||
.Sh DESCRIPTION
|
||||
This manual page documents the format of the magic file as
|
||||
This manual page documents the format of magic files as
|
||||
used by the
|
||||
.Xr file __CSECTION__
|
||||
command, version __VERSION__.
|
||||
@@ -17,13 +17,19 @@ command identifies the type of a file using,
|
||||
among other tests,
|
||||
a test for whether the file contains certain
|
||||
.Dq "magic patterns" .
|
||||
The file
|
||||
.Pa __MAGIC__
|
||||
specifies what patterns are to be tested for, what message or
|
||||
The database of these
|
||||
.Dq "magic patterns"
|
||||
is usually located in a binary file in
|
||||
.Pa __MAGIC__.mgc
|
||||
or a directory of source text magic pattern fragment files in
|
||||
.Pa __MAGIC__ .
|
||||
The database specifies what patterns are to be tested for, what message or
|
||||
MIME type to print if a particular pattern is found,
|
||||
and additional information to extract from the file.
|
||||
.Pp
|
||||
Each line of the file specifies a test to be performed.
|
||||
The format of the source fragment files that are used to build this database
|
||||
is as follows:
|
||||
Each line of a fragment file specifies a test to be performed.
|
||||
A test compares the data starting at a particular offset
|
||||
in the file with a byte value, a string or a numeric value.
|
||||
If the test succeeds, a message is printed.
|
||||
@@ -98,13 +104,13 @@ The following modifiers are supported:
|
||||
.It B
|
||||
A byte length (default).
|
||||
.It H
|
||||
A 2 byte big endian length.
|
||||
.It h
|
||||
A 2 byte big little length.
|
||||
.It L
|
||||
A 4 byte big endian length.
|
||||
.It h
|
||||
A 2 byte big endian length.
|
||||
.It L
|
||||
A 4 byte little endian length.
|
||||
.It l
|
||||
A 4 byte big little length.
|
||||
A 2 byte little endian length.
|
||||
.It J
|
||||
The length includes itself in its count.
|
||||
.El
|
||||
@@ -535,13 +541,18 @@ the file.
|
||||
The value at that offset is read, and is used again as an offset
|
||||
in the file.
|
||||
Indirect offsets are of the form:
|
||||
.Em (( x [.[bislBISL]][+\-][ y ]) .
|
||||
.Em (( x [[.,][bislBISL]][+\-][ y ]) .
|
||||
The value of
|
||||
.Em x
|
||||
is used as an offset in the file.
|
||||
A byte, id3 length, short or long is read at that offset depending on the
|
||||
.Em [bislBISLm]
|
||||
type specifier.
|
||||
The value is treated as signed if
|
||||
.Dq ,
|
||||
is specified or unsigned if
|
||||
.Dq .
|
||||
is specified.
|
||||
The capitalized types interpret the number as a big endian
|
||||
value, whereas the small letter versions interpret the number as a little
|
||||
endian value;
|
||||
@@ -564,9 +575,9 @@ That way variable length structures can be examined:
|
||||
\*[Gt]\*[Gt](0x3c.l) string LX\e0\e0 LX executable (OS/2)
|
||||
.Ed
|
||||
.Pp
|
||||
This strategy of examining has a drawback: You must make sure that
|
||||
you eventually print something, or users may get empty output (like, when
|
||||
there is neither PE\e0\e0 nor LE\e0\e0 in the above example)
|
||||
This strategy of examining has a drawback: you must make sure that you
|
||||
eventually print something, or users may get empty output (such as when
|
||||
there is neither PE\e0\e0 nor LE\e0\e0 in the above example).
|
||||
.Pp
|
||||
If this indirect offset cannot be used directly, simple calculations are
|
||||
possible: appending
|
||||
@@ -646,7 +657,7 @@ start of the main indirect offset.
|
||||
\*[Gt]\*[Gt]\*[Gt]\*[Gt](\*[Am]0xe.l+(-4)) string PK\e3\e4 \eb, ZIP self-extracting archive
|
||||
.Ed
|
||||
.Pp
|
||||
If you have a list of known avalues at a particular continuation level,
|
||||
If you have a list of known values at a particular continuation level,
|
||||
and you want to provide a switch-like default case:
|
||||
.Bd -literal -offset indent
|
||||
# clear that continuation level match
|
||||
|
||||
@@ -9432,7 +9432,8 @@ dlpreopen='$dlprefiles'
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='$install_libdir'"
|
||||
if test "$installed" = no && test "$need_relink" = yes; then
|
||||
if test "$installed" = no && test "$need_relink" = yes && \
|
||||
test -n "$relink_command"; then
|
||||
$ECHO >> $output "\
|
||||
relink_command=\"$relink_command\""
|
||||
fi
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# Localstuff: file(1) magic for locally observed files
|
||||
#
|
||||
# $File: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $
|
||||
# $File: Localstuff,v 1.5 2007/01/12 17:38:27 christos Exp $
|
||||
# Add any locally observed files here. Remember:
|
||||
# text if readable, executable if runnable binary, data if unreadable.
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: adventure,v 1.15 2015/09/07 10:03:21 christos Exp $
|
||||
# $File: adventure,v 1.17 2017/07/03 16:03:40 christos Exp $
|
||||
# adventure: file(1) magic for Adventure game files
|
||||
#
|
||||
# from Allen Garvin <[email protected]>
|
||||
@@ -36,11 +36,12 @@
|
||||
>0 ubyte <9
|
||||
>>16 belong&0xfe00f0f0 0x3030
|
||||
>>>0 ubyte < 10
|
||||
>>>>2 ubeshort < 10
|
||||
>>>>2 ubeshort x
|
||||
>>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9]
|
||||
>>>>>>0 ubyte < 10 Infocom (Z-machine %d,
|
||||
>>>>>>>2 ubeshort < 10 Release %d /
|
||||
>>>>>>>>18 string >\0 Serial %.6s)
|
||||
>>>>>>0 ubyte < 10 Infocom (Z-machine %d
|
||||
>>>>>>>2 ubeshort x \b, Release %d
|
||||
>>>>>>>>18 string >\0 \b, Serial %.6s
|
||||
>>>>>>>>18 string x \b)
|
||||
!:strength + 40
|
||||
!:mime application/x-zmachine
|
||||
|
||||
@@ -78,7 +79,7 @@
|
||||
!:mime application/x-tads
|
||||
# Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
|
||||
# 2-byte length N, the N-char name of the game file *without* a NUL (darn!),
|
||||
# "TADS2 save\n\r\032\0" and the interpreter version.
|
||||
# "TADS2 save\n\r\032\0" and the interpreter version.
|
||||
0 string TADS2\ save/g TADS
|
||||
>12 belong !0x0A0D1A00 saved game data, CORRUPTED
|
||||
>12 belong 0x0A0D1A00
|
||||
@@ -109,7 +110,7 @@
|
||||
# edited by David Griffith <[email protected]>
|
||||
# Danny Milosavljevic <[email protected]>
|
||||
# These are ADRIFT (adventure game standard) game files, extension .taf
|
||||
# Checked from source at (http://www.adrift.co/) and various taf files
|
||||
# Checked from source at (http://www.adrift.co/) and various taf files
|
||||
# found at the Interactive Fiction Archive (http://ifarchive.org/)
|
||||
0 belong 0x3C423FC9
|
||||
>4 belong 0x6A87C2CF Adrift game file version
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: algol68,v 1.2 2016/10/17 14:17:48 christos Exp $
|
||||
# algol68: file(1) magic for Algol 68 source
|
||||
#
|
||||
0 search/8192 (input, Algol 68 source text
|
||||
!:mime text/x-Algol68
|
||||
0 regex \^PROC Algol 68 source text
|
||||
!:mime text/x-Algol68
|
||||
0 regex MODE[\t\ ] Algol 68 source text
|
||||
!:mime text/x-Algol68
|
||||
0 regex REF[\t\ ] Algol 68 source text
|
||||
!:mime text/x-Algol68
|
||||
0 regex FLEX[\t\ ]\*\\[ Algol 68 source text
|
||||
!:mime text/x-Algol68
|
||||
#0 regex [\t\ ]OD Algol 68 source text
|
||||
#!:mime text/x-Algol68
|
||||
#0 regex [\t\ ]FI Algol 68 source text
|
||||
#!:mime text/x-Algol68
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: amanda,v 1.5 2009/09/19 16:28:07 christos Exp $
|
||||
# $File: amanda,v 1.6 2017/03/17 21:35:28 christos Exp $
|
||||
# amanda: file(1) magic for amanda file format
|
||||
#
|
||||
0 string AMANDA:\ AMANDA
|
||||
0 string AMANDA:\ AMANDA
|
||||
>8 string TAPESTART\ DATE tape header file,
|
||||
>>23 string X
|
||||
>>>25 string >\ Unused %s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: amigaos,v 1.15 2012/06/21 01:13:59 christos Exp $
|
||||
# $File: amigaos,v 1.16 2017/03/17 21:35:28 christos Exp $
|
||||
# amigaos: file(1) magic for AmigaOS binary formats:
|
||||
|
||||
#
|
||||
@@ -11,7 +11,7 @@
|
||||
0 belong 0x000003e7 AmigaOS object/library data
|
||||
#
|
||||
0 beshort 0xe310 Amiga Workbench
|
||||
>2 beshort 1
|
||||
>2 beshort 1
|
||||
>>48 byte 1 disk icon
|
||||
>>48 byte 2 drawer icon
|
||||
>>48 byte 3 tool icon
|
||||
@@ -49,7 +49,7 @@
|
||||
0 string/c @database AmigaGuide file
|
||||
|
||||
# Amiga disk types
|
||||
#
|
||||
#
|
||||
0 string RDSK Rigid Disk Block
|
||||
>160 string x on %.24s
|
||||
0 string DOS\0 Amiga DOS disk
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------
|
||||
# $File: android,v 1.8 2015/03/19 18:04:37 christos Exp $
|
||||
# $File: android,v 1.10 2017/03/17 21:35:28 christos Exp $
|
||||
# Various android related magic entries
|
||||
#------------------------------------------------------------
|
||||
|
||||
@@ -61,9 +61,9 @@
|
||||
# http://forum.xda-developers.com/showthread.php?t=816449
|
||||
# Partition Information Table for Samsung's smartphone with Android
|
||||
# used by flash software Odin
|
||||
0 ulelong 0x12349876
|
||||
0 ulelong 0x12349876
|
||||
# 1st pit entry marker
|
||||
>0x01C ulequad&0xFFFFFFFCFFFFFFFC =0x0000000000000000
|
||||
>0x01C ulequad&0xFFFFFFFCFFFFFFFC =0x0000000000000000
|
||||
# minimal 13 and maximal 18 PIT entries found
|
||||
>>4 ulelong <128 Partition Information Table for Samsung smartphone
|
||||
>>>4 ulelong x \b, %d entries
|
||||
@@ -109,9 +109,9 @@
|
||||
|
||||
0 name PIT-entry
|
||||
# garbage value implies end of pit entries
|
||||
>0x00 ulequad&0xFFFFFFFCFFFFFFFC =0x0000000000000000
|
||||
>0x00 ulequad&0xFFFFFFFCFFFFFFFC =0x0000000000000000
|
||||
# skip empty partition name
|
||||
>>0x24 ubyte !0
|
||||
>>0x24 ubyte !0
|
||||
# partition name
|
||||
>>>0x24 string >\0 %-.32s
|
||||
# flags
|
||||
@@ -122,13 +122,13 @@
|
||||
>>>0x08 ulelong x (0x%x)
|
||||
# filename
|
||||
>>>0x44 string >\0 "%-.64s"
|
||||
#>>>0x18 ulelong >0
|
||||
#>>>0x18 ulelong >0
|
||||
# blocksize in 512 byte units ?
|
||||
#>>>>0x18 ulelong x \b, %db
|
||||
# partition size in blocks ?
|
||||
#>>>>0x22 ulelong x \b*%d
|
||||
|
||||
# Android bootimg format
|
||||
# Android sparse img format
|
||||
# From https://android.googlesource.com/\
|
||||
# platform/system/core/+/master/libsparse/sparse_format.h
|
||||
0 lelong 0xed26ff3a Android sparse image
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: animation,v 1.56 2014/10/23 23:12:51 christos Exp $
|
||||
# $File: animation,v 1.63 2017/05/26 14:33:07 christos Exp $
|
||||
# animation: file(1) magic for animation/movie formats
|
||||
#
|
||||
# animation formats
|
||||
@@ -34,14 +34,23 @@
|
||||
!:mime image/jp2
|
||||
# http://www.ftyps.com/ with local additions
|
||||
4 string ftyp ISO Media
|
||||
# http://aeroquartet.com/wordpress/2016/03/05/3-xavc-s/
|
||||
>8 string XAVC \b, MPEG v4 system, Sony XAVC Codec
|
||||
>>96 string x \b, Audio "%.4s"
|
||||
>>118 beshort x at %dHz
|
||||
>>140 string x \b, Video "%.4s"
|
||||
>>168 beshort x %d
|
||||
>>170 beshort x \bx%d
|
||||
>8 string 3g2 \b, MPEG v4 system, 3GPP2
|
||||
!:mime video/3gpp2
|
||||
>>11 byte 4 \b v4 (H.263/AMR GSM 6.10)
|
||||
>>11 byte 5 \b v5 (H.263/AMR GSM 6.10)
|
||||
>>11 byte 6 \b v6 (ITU H.264/AMR GSM 6.10)
|
||||
>>11 byte a \b C.S0050-0 V1.0
|
||||
>>11 byte b \b C.S0050-0-A V1.0.0
|
||||
>>11 byte c \b C.S0050-0-B V1.0
|
||||
# http://www.3gpp2.org/Public_html/Specs/C.S0050-B_v1.0_070521.pdf
|
||||
# Section 8.1.1, corresponds to a, b, c
|
||||
>>11 byte 0x61 \b C.S0050-0 V1.0
|
||||
>>11 byte 0x62 \b C.S0050-0-A V1.0.0
|
||||
>>11 byte 0x63 \b C.S0050-0-B V1.0
|
||||
>8 string 3ge \b, MPEG v4 system, 3GPP
|
||||
!:mime video/3gpp
|
||||
>>11 byte 6 \b, Release 6 MBMS Extended Presentations
|
||||
@@ -76,6 +85,8 @@
|
||||
>8 string da2b \b, DMB MAF, ext da2a, with 3GPP timed text, DID, TVA, REL, IPMP
|
||||
>8 string da3a \b, DMB MAF aud with HE-AAC aud, JPG/PNG/MNG images
|
||||
>8 string da3b \b, DMB MAF, ext da3a w/ BIFS, 3GPP, DID, TVA, REL, IPMP
|
||||
>8 string dash \b, MPEG v4 system, Dynamic Adaptive Streaming over HTTP
|
||||
!:mime video/mp4
|
||||
>8 string dmb1 \b, DMB MAF supporting all the components defined in the spec
|
||||
>8 string dmpf \b, Digital Media Project
|
||||
>8 string drc1 \b, Dirac (wavelet compression), encap in ISO base media (MP4)
|
||||
@@ -184,13 +195,13 @@
|
||||
|
||||
# MPEG sequences
|
||||
# Scans for all common MPEG header start codes
|
||||
0 belong 0x00000001
|
||||
0 belong 0x00000001
|
||||
>4 byte&0x1F 0x07 JVT NAL sequence, H.264 video
|
||||
>>5 byte 66 \b, baseline
|
||||
>>5 byte 77 \b, main
|
||||
>>5 byte 88 \b, extended
|
||||
>>7 byte x \b @ L %u
|
||||
0 belong&0xFFFFFF00 0x00000100
|
||||
0 belong&0xFFFFFF00 0x00000100
|
||||
>3 byte 0xBA MPEG sequence
|
||||
!:mime video/mpeg
|
||||
>>4 byte &0x40 \b, v2, program multiplex
|
||||
@@ -491,8 +502,8 @@
|
||||
# GRR the original test are too common for many DOS files, so test 32 <= kbits <= 448
|
||||
# GRR this test is still too general as it catches a BOM of UTF-16 files (0xFFFE)
|
||||
# FIXME: Almost all little endian UTF-16 text with BOM are clobbered by these entries
|
||||
#0 beshort&0xFFFE 0xFFFE
|
||||
#>2 ubyte&0xF0 >0x0F
|
||||
#0 beshort&0xFFFE 0xFFFE
|
||||
#>2 ubyte&0xF0 >0x0F
|
||||
#>>2 ubyte&0xF0 <0xE1 MPEG ADTS, layer I, v1
|
||||
## rate
|
||||
#>>>2 byte&0xF0 0x10 \b, 32 kbps
|
||||
@@ -564,9 +575,9 @@
|
||||
# MP2, M2A
|
||||
0 beshort&0xFFFE 0xFFF4 MPEG ADTS, layer II, v2
|
||||
!:mime audio/mpeg
|
||||
# rate
|
||||
# rate
|
||||
>2 byte&0xF0 0x10 \b, 8 kbps
|
||||
>2 byte&0xF0 0x20 \b, 16 kbps
|
||||
>2 byte&0xF0 0x20 \b, 16 kbps
|
||||
>2 byte&0xF0 0x30 \b, 24 kbps
|
||||
>2 byte&0xF0 0x40 \b, 32 kbps
|
||||
>2 byte&0xF0 0x50 \b, 40 kbps
|
||||
@@ -634,7 +645,7 @@
|
||||
# MP3, M25A
|
||||
0 beshort&0xFFFE 0xFFE2 MPEG ADTS, layer III, v2.5
|
||||
!:mime audio/mpeg
|
||||
# rate
|
||||
# rate
|
||||
>2 byte&0xF0 0x10 \b, 8 kbps
|
||||
>2 byte&0xF0 0x20 \b, 16 kbps
|
||||
>2 byte&0xF0 0x30 \b, 24 kbps
|
||||
@@ -853,10 +864,12 @@
|
||||
|
||||
# X3D (Extensible 3D) [http://www.web3d.org/specifications/x3d-3.0.dtd]
|
||||
# From Michel Briand <[email protected]>
|
||||
0 string/t \<?xml\ version="
|
||||
!:strength +1
|
||||
>20 search/1000/cw \<!DOCTYPE\ X3D X3D (Extensible 3D) model xml text
|
||||
!:mime model/x3d
|
||||
# mimetype from https://www.iana.org/assignments/media-types/model/x3d+xml
|
||||
# Example http://www.web3d.org/x3d/content/examples/Basic/course/CreateX3DFromStringRandomSpheres.x3d
|
||||
0 string/w \<?xml\ version=
|
||||
!:strength + 5
|
||||
>20 search/1000/w \<!DOCTYPE\ X3D X3D (Extensible 3D) model xml text
|
||||
!:mime model/x3d+xml
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# HVQM4: compressed movie format designed by Hudson for Nintendo GameCube
|
||||
@@ -1006,3 +1019,11 @@
|
||||
>4 lelong x %d x
|
||||
>8 lelong x %d,
|
||||
>12 lelong x %d frames
|
||||
|
||||
# Material Exchange Format
|
||||
# More information:
|
||||
# https://en.wikipedia.org/wiki/Material_Exchange_Format
|
||||
# http://www.freemxf.org/
|
||||
0 string \x06\x0e\x2b\x34\x02\x05\x01\x01\x0d\x01\x02\x01\x01\x02 Material exchange container format
|
||||
!:ext mxf
|
||||
!:mime application/mxf
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: apache,v 1.1 2017/04/11 14:52:15 christos Exp $
|
||||
# apache: file(1) magic for Apache Big Data formats
|
||||
|
||||
# Avro files
|
||||
0 string Obj Apache Avro
|
||||
>3 byte x version %d
|
||||
|
||||
# ORC files
|
||||
# Important information is in file footer, which we can't index to :(
|
||||
0 string ORC Apache ORC
|
||||
|
||||
# Parquet files
|
||||
0 string PAR1 Apache Parquet
|
||||
|
||||
# Hive RC files
|
||||
0 string RCF Apache Hive RC file
|
||||
>3 byte x version %d
|
||||
|
||||
# Sequence files (and the careless first version of RC file)
|
||||
|
||||
0 string SEQ
|
||||
>3 byte <6 Apache Hadoop Sequence file version %d
|
||||
>3 byte >6 Apache Hadoop Sequence file version %d
|
||||
>3 byte =6
|
||||
>>5 string org.apache.hadoop.hive.ql.io.RCFile$KeyBuffer Apache Hive RC file version 0
|
||||
>>3 default x Apache Hadoop Sequence file version 6
|
||||
+178
-56
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: apple,v 1.31 2015/08/29 07:10:35 christos Exp $
|
||||
# $File: apple,v 1.36 2017/03/17 21:35:28 christos Exp $
|
||||
# apple: file(1) magic for Apple file formats
|
||||
#
|
||||
0 search/1/t FiLeStArTfIlEsTaRt binscii (apple ][) text
|
||||
@@ -65,18 +65,48 @@
|
||||
# Eric Fischer <[email protected]>
|
||||
|
||||
# AppleWorks word processor:
|
||||
#
|
||||
# This matches the standard tab stops for an AppleWorks file, but if
|
||||
# a file has a tab stop set in the first four columns this will fail.
|
||||
#
|
||||
# URL: https://en.wikipedia.org/wiki/AppleWorks
|
||||
# Reference: http://www.gno.org/pub/apple2/doc/apple/filetypes/ftn.1a.xxxx
|
||||
# Update: Joerg Jenderek
|
||||
# NOTE:
|
||||
# The "O" is really the magic number, but that's so common that it's
|
||||
# necessary to check the tab stops that follow it to avoid false positives.
|
||||
|
||||
4 string O==== AppleWorks word processor data
|
||||
>85 byte&0x01 >0 \b, zoomed
|
||||
>90 byte&0x01 >0 \b, paginated
|
||||
>92 byte&0x01 >0 \b, with mail merge
|
||||
#>91 byte x \b, left margin %d
|
||||
# and/or look for unused bits of booleans bytes like zoom, paginated, mail merge
|
||||
# the newer AppleWorks is from claris with extension CWK
|
||||
4 string O
|
||||
# test for unused bits of zoom- , paginated-boolean bytes
|
||||
>84 ubequad ^0x00Fe00000000Fe00
|
||||
# look for tabstop definitions "=" no tab, "|" no tab
|
||||
# "<" left tab,"^" center tab,">" right tab, "." decimal tab,
|
||||
# unofficial "!" other , "\x8a" other
|
||||
# official only if SFMinVers is nonzero
|
||||
>>5 regex/s [=.<>|!^\x8a]{79} AppleWorks Word Processor
|
||||
# AppleWorks Word Processor File (Apple II)
|
||||
# ./apple (version 5.25) labeled the entry as "AppleWorks word processor data"
|
||||
# application/x-appleworks is mime type for claris version with cwk extension
|
||||
!:mime application/x-appleworks3
|
||||
# http://home.earthlink.net/~hughhood/appleiiworksenvoy/
|
||||
# ('p' + 1-byte ProDOS File Type + 2-byte ProDOS Aux Type')
|
||||
# $70 $1A $F8 $FF is this the apple type ?
|
||||
#:apple pdospøÿ
|
||||
!:ext awp
|
||||
# minimum version needed to read this files. SFMinVers (0 , 30~3.0 )
|
||||
>>>183 ubyte 30 3.0
|
||||
>>>183 ubyte !30
|
||||
>>>>183 ubyte !0 0x%x
|
||||
# usual tabstop start sequence "=====<"
|
||||
>>>5 string x \b, tabstop ruler "%6.6s"
|
||||
# tabstop ruler
|
||||
#>>>5 string >\0 \b, tabstops "%-79s"
|
||||
# zoom switch
|
||||
>>>85 byte&0x01 >0 \b, zoomed
|
||||
# whether paginated
|
||||
>>>90 byte&0x01 >0 \b, paginated
|
||||
# contains any mail-merge commands
|
||||
>>>92 byte&0x01 >0 \b, with mail merge
|
||||
# left margin in 1/10 inches ( normally 0 or 10 )
|
||||
>>>91 ubyte >0
|
||||
>>>>91 ubyte x \b, %d/10 inch left margin
|
||||
|
||||
# AppleWorks database:
|
||||
#
|
||||
@@ -110,13 +140,13 @@
|
||||
|
||||
# GRR: this test is still too general as it catches also Gujin BOOT144.SYS (0xfa080000)
|
||||
#0 belong&0xff00ff 0x80000 Applesoft BASIC program data
|
||||
0 belong&0x00ff00ff 0x00080000
|
||||
0 belong&0x00ff00ff 0x00080000
|
||||
# assuming that line number must be positive
|
||||
>2 leshort >0 Applesoft BASIC program data, first line number %d
|
||||
#>2 leshort x \b, first line number %d
|
||||
|
||||
# ORCA/EZ assembler:
|
||||
#
|
||||
#
|
||||
# This will not identify ORCA/M source files, since those have
|
||||
# some sort of date code instead of the two zero bytes at 6 and 7
|
||||
# XXX Conflicts with ELF
|
||||
@@ -156,18 +186,18 @@
|
||||
# From Johan Gade.
|
||||
# These entries are disabled for now until we fix the following issues.
|
||||
#
|
||||
# Note there might be some problems with the "VAX COFF executable"
|
||||
# entry. Note this entry should be placed before the mac filesystem section,
|
||||
# Note there might be some problems with the "VAX COFF executable"
|
||||
# entry. Note this entry should be placed before the mac filesystem section,
|
||||
# particularly the "Apple Partition data" entry.
|
||||
#
|
||||
# The intended meaning of these tests is, that the file is only of the
|
||||
# The intended meaning of these tests is, that the file is only of the
|
||||
# specified type if both of the lines are correct - i.e. if the first
|
||||
# line matches and the second doesn't then it is not of that type.
|
||||
#
|
||||
#0 long 0x7801730d
|
||||
#>4 long 0x62626060 UDIF read-only zlib-compressed image (UDZO)
|
||||
#
|
||||
# Note that this entry is recognized correctly by the "Apple Partition
|
||||
# Note that this entry is recognized correctly by the "Apple Partition
|
||||
# data" entry - however since this entry is more specific - this
|
||||
# information seems to be more useful.
|
||||
#0 long 0x45520200
|
||||
@@ -255,49 +285,118 @@
|
||||
# .vdi
|
||||
4 string innotek\ VirtualBox\ Disk\ Image %s
|
||||
|
||||
# Apple disk partition stuff, strengthen the magic using byte 4
|
||||
# Apple disk partition stuff
|
||||
# URL: https://en.wikipedia.org/wiki/Apple_Partition_Map
|
||||
# Reference: https://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/sys/bootblock.h
|
||||
# Update: Joerg Jenderek
|
||||
# "ER" is APPLE_DRVR_MAP_MAGIC signature
|
||||
0 beshort 0x4552
|
||||
>4 byte 0 Apple Driver Map
|
||||
# display Apple Driver Map (strength=50) after Syslinux bootloader (71)
|
||||
#!:strength +0
|
||||
# strengthen the magic by looking for used blocksizes 512 2048
|
||||
>2 ubeshort&0xf1FF 0 Apple Driver Map
|
||||
# last 6 bytes for padding found are 0 or end with 55AAh marker for MBR hybrid
|
||||
#>>504 ubequad&0x0000FFffFFff0000 0
|
||||
!:mime application/x-apple-diskimage
|
||||
!:apple ????devr
|
||||
# https://en.wikipedia.org/wiki/Apple_Disk_Image
|
||||
!:ext dmg/iso
|
||||
# sbBlkSize for driver descriptor map 512 2048
|
||||
>>2 beshort x \b, blocksize %d
|
||||
>>4 belong x \b, blockcount %d
|
||||
>>10 beshort x \b, devtype %d
|
||||
>>12 beshort x \b, devid %d
|
||||
>>20 beshort x \b, descriptors %d
|
||||
# Assume 8 partitions each at a multiple of the sector size.
|
||||
# We could glean this from the partition descriptors, but they are empty!?!?
|
||||
>>(2.S*1) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*2) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*3) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*4) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*5) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*6) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*7) indirect x \b, contains[@0x%x]:
|
||||
>>(2.S*8) indirect x \b, contains[@0x%x]:
|
||||
# sbBlkCount sometimes garbish like
|
||||
# 0xb0200000 for unzlibed install_flash_player_19.0.0.245_osx.dmg
|
||||
# 0xf2720100 for bunziped Firefox 48.0-2.dmg
|
||||
# 0xeb02ffff for super_grub2_disk_hybrid_2.02s3.iso
|
||||
# 0x00009090 by syslinux-6.03/utils/isohybrid.c
|
||||
>>4 ubelong x \b, blockcount %u
|
||||
# following device/driver information not very useful
|
||||
# device type 0 1 (37008 garbage for super_grub2_disk_hybrid_2.02s3.iso)
|
||||
>>8 ubeshort x \b, devtype %u
|
||||
# device id 0 1 (37008 garbage for super_grub2_disk_hybrid_2.02s3.iso)
|
||||
>>10 ubeshort x \b, devid %u
|
||||
# driver data 0 (2425393296 garbage for super_grub2_disk_hybrid_2.02s3.iso)
|
||||
>>12 ubelong >0
|
||||
>>>12 ubelong x \b, driver data %u
|
||||
# number of driver descriptors sbDrvrCount <= 61
|
||||
# (37008 garbage for super_grub2_disk_hybrid_2.02s3.iso)
|
||||
>>16 ubeshort x \b, driver count %u
|
||||
# 61 * apple_drvr_descriptor[8]. information not very useful or same as in partition map
|
||||
# >>18 use apple-driver-map
|
||||
# >>26 use apple-driver-map
|
||||
# # ...
|
||||
# >>500 use apple-driver-map
|
||||
# number of partitions is always same in every partition (map block count)
|
||||
#>>0x0204 ubelong x \b, %u partitions
|
||||
>>0x0204 ubelong >0 \b, contains[@0x200]:
|
||||
>>>0x0200 use apple-apm
|
||||
>>0x0204 ubelong >1 \b, contains[@0x400]:
|
||||
>>>0x0400 use apple-apm
|
||||
>>0x0204 ubelong >2 \b, contains[@0x600]:
|
||||
>>>0x0600 use apple-apm
|
||||
>>0x0204 ubelong >3 \b, contains[@0x800]:
|
||||
>>>0x0800 use apple-apm
|
||||
>>0x0204 ubelong >4 \b, contains[@0xA00]:
|
||||
>>>0x0A00 use apple-apm
|
||||
>>0x0204 ubelong >5 \b, contains[@0xC00]:
|
||||
>>>0x0C00 use apple-apm
|
||||
>>0x0204 ubelong >6 \b, contains[@0xE00]:
|
||||
>>>0x0E00 use apple-apm
|
||||
>>0x0204 ubelong >7 \b, contains[@0x1000]:
|
||||
>>>0x1000 use apple-apm
|
||||
# display apple driver descriptor map (start-block, # blocks in sbBlkSize sizes, type)
|
||||
0 name apple-driver-map
|
||||
>0 ubequad !0
|
||||
# descBlock first block of driver
|
||||
>>0 ubelong x \b, driver start block %u
|
||||
# descSize driver size in blocks
|
||||
>>4 ubeshort x \b, size %u
|
||||
# descType driver system type 1 701h F8FFh FFFFh
|
||||
>>6 ubeshort x \b, type 0x%x
|
||||
|
||||
# Yes, the 3rd and 4th bytes are reserved, but we use them to make the
|
||||
# URL: https://en.wikipedia.org/wiki/Apple_Partition_Map
|
||||
# Reference: http://opensource.apple.com/source/IOStorageFamily/IOStorageFamily-116/IOApplePartitionScheme.h
|
||||
# Update: Joerg Jenderek
|
||||
# Yes, the 3rd and 4th bytes pmSigPad are reserved, but we use them to make the
|
||||
# magic stronger.
|
||||
0 belong 0x504d0000 Apple Partition Map
|
||||
>4 belong x \b, map block count %d
|
||||
>8 belong x \b, start block %d
|
||||
>12 belong x \b, block count %d
|
||||
>16 string >0 \b, name %s
|
||||
>48 string >0 \b, type %s
|
||||
>124 string >0 \b, processor %s
|
||||
>140 string >0 \b, boot arguments %s
|
||||
>92 belong & 1 \b, valid
|
||||
>92 belong & 2 \b, allocated
|
||||
>92 belong & 4 \b, in use
|
||||
>92 belong & 8 \b, has boot info
|
||||
>92 belong & 16 \b, readable
|
||||
>92 belong & 32 \b, writable
|
||||
>92 belong & 64 \b, pic boot code
|
||||
>92 belong & 128 \b, chain compatible driver
|
||||
>92 belong & 256 \b, real driver
|
||||
>92 belong & 512 \b, chain driver
|
||||
>92 belong & 1024 \b, mount at startup
|
||||
>92 belong & 2048 \b, is the startup partition
|
||||
# for apple partition map stored as a single file
|
||||
0 belong 0x504d0000
|
||||
# to display Apple Partition Map (strength=70) after Syslinux bootloader (71)
|
||||
#!:strength +0
|
||||
>0 use apple-apm
|
||||
# magic/Magdir/apple14.test, 365: Warning: Current entry does not yet have a description for adding a EXTENSION type
|
||||
# file: could not find any valid magic files!
|
||||
#!:ext bin
|
||||
# display apple partition map. Normally called after Apple driver map
|
||||
0 name apple-apm
|
||||
>0 belong 0x504d0000 Apple Partition Map
|
||||
# number of partitions
|
||||
>>4 ubelong x \b, map block count %u
|
||||
# logical block (512 bytes) start of partition
|
||||
>>8 ubelong x \b, start block %u
|
||||
>>12 ubelong x \b, block count %u
|
||||
>>16 string >0 \b, name %s
|
||||
>>48 string >0 \b, type %s
|
||||
# processor type dpme_process_id[16] e.g. "68000" "68020"
|
||||
>>120 string >0 \b, processor %s
|
||||
# A/UX boot arguments BootArgs[128]
|
||||
>>136 string >0 \b, boot arguments %s
|
||||
# status of partition dpme_flags
|
||||
>>88 belong & 1 \b, valid
|
||||
>>88 belong & 2 \b, allocated
|
||||
>>88 belong & 4 \b, in use
|
||||
>>88 belong & 8 \b, has boot info
|
||||
>>88 belong & 16 \b, readable
|
||||
>>88 belong & 32 \b, writable
|
||||
>>88 belong & 64 \b, pic boot code
|
||||
>>88 belong & 128 \b, chain compatible driver
|
||||
>>88 belong & 256 \b, real driver
|
||||
>>88 belong & 512 \b, chain driver
|
||||
# mount automatically at startup APPLE_PS_AUTO_MOUNT
|
||||
>>88 ubelong &0x40000000 \b, mount at startup
|
||||
# is the startup partition APPLE_PS_STARTUP
|
||||
>>88 ubelong &0x80000000 \b, is the startup partition
|
||||
|
||||
#http://wiki.mozilla.org/DS_Store_File_Format`
|
||||
#http://wiki.mozilla.org/DS_Store_File_Format
|
||||
#http://en.wikipedia.org/wiki/.DS_Store
|
||||
0 string \0\0\0\1Bud1\0 Apple Desktop Services Store
|
||||
|
||||
@@ -307,5 +406,28 @@
|
||||
# extensions rsr/rsrc
|
||||
0 string \000\000\001\000
|
||||
>4 leshort 0
|
||||
>>16 lelong 0 Apple HFS/HFS+ resource fork
|
||||
>>16 lelong 0 Apple HFS/HFS+ resource fork
|
||||
|
||||
#https://en.wikipedia.org/wiki/AppleScript
|
||||
0 string FasdUAS AppleScript compiled
|
||||
|
||||
# AppleWorks/ClarisWorks
|
||||
# https://github.com/joshenders/appleworks_format
|
||||
# http://fileformats.archiveteam.org/wiki/AppleWorks
|
||||
0 name appleworks
|
||||
>0 belong&0x00ffffff 0x07e100 AppleWorks CWK Document
|
||||
>0 belong&0x00ffffff 0x008803 ClarisWorks CWK Document
|
||||
>0 default x
|
||||
>>0 belong x AppleWorks/ClarisWorks CWK Document
|
||||
>0 byte x \b, version %d
|
||||
>30 beshort x \b, %d
|
||||
>32 beshort x \bx%d
|
||||
!:ext cwk
|
||||
|
||||
4 string BOBO
|
||||
>0 byte >4
|
||||
>>12 belong 0
|
||||
>>>26 belong 0
|
||||
>>>>0 use appleworks
|
||||
>0 belong 0x0481ad00
|
||||
>>0 use appleworks
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: application,v 1.1 2016/10/17 12:13:01 christos Exp $
|
||||
# application: file(1) magic for applications on small devices
|
||||
#
|
||||
# Pebble Application
|
||||
0 string PBLAPP\000\000 Pebble application
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: apt,v 1.1 2016/10/17 19:51:57 christos Exp $
|
||||
# apt: file(1) magic for APT Cache files
|
||||
# <http://www.fifi.org/doc/libapt-pkg-doc/cache.html/ch2.html>
|
||||
# <https://anonscm.debian.org/cgit/apt/apt.git/tree/apt-pkg/pkgcache.h#n292>
|
||||
|
||||
# before version 10 ("old format"), data was in arch-specific long/short
|
||||
|
||||
# old format 64 bit
|
||||
0 name apt-cache-64bit-be
|
||||
>12 beshort 1 \b, dirty
|
||||
>40 bequad x \b, %llu packages
|
||||
>48 bequad x \b, %llu versions
|
||||
|
||||
# old format 32 bit
|
||||
0 name apt-cache-32bit-be
|
||||
>8 beshort 1 \b, dirty
|
||||
>40 belong x \b, %u packages
|
||||
>44 belong x \b, %u versions
|
||||
|
||||
# new format
|
||||
0 name apt-cache-be
|
||||
>6 byte 1 \b, dirty
|
||||
>24 belong x \b, %u packages
|
||||
>28 belong x \b, %u versions
|
||||
|
||||
0 bequad 0x98FE76DC
|
||||
>8 ubeshort <10 APT cache data, version %u
|
||||
>>10 beshort x \b.%u, 64 bit big-endian
|
||||
>>0 use apt-cache-64bit-be
|
||||
|
||||
0 lequad 0x98FE76DC
|
||||
>8 uleshort <10 APT cache data, version %u
|
||||
>>10 leshort x \b.%u, 64 bit little-endian
|
||||
>>0 use \^apt-cache-64bit-be
|
||||
|
||||
0 belong 0x98FE76DC
|
||||
>4 ubeshort <10 APT cache data, version %u
|
||||
>>6 ubeshort x \b.%u, 32 bit big-endian
|
||||
>>0 use apt-cache-32bit-be
|
||||
>4 ubyte >9 APT cache data, version %u
|
||||
>>5 ubyte x \b.%u, big-endian
|
||||
>>0 use apt-cache-be
|
||||
|
||||
0 lelong 0x98FE76DC
|
||||
>4 uleshort <10 APT cache data, version %u
|
||||
>>6 uleshort x \b.%u, 32 bit little-endian
|
||||
>>0 use \^apt-cache-32bit-be
|
||||
>4 ubyte >9 APT cache data, version %u
|
||||
>>5 ubyte x \b.%u, little-endian
|
||||
>>0 use \^apt-cache-be
|
||||
@@ -1,5 +1,5 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: archive,v 1.91 2015/09/16 13:49:33 christos Exp $
|
||||
# $File: archive,v 1.108 2017/08/30 13:45:10 christos Exp $
|
||||
# archive: file(1) magic for archive formats (see also "msdos" for self-
|
||||
# extracting compressed archives)
|
||||
#
|
||||
@@ -246,7 +246,15 @@
|
||||
# BA
|
||||
# TODO: idarc says "bytes 0-2 == bytes 3-5"
|
||||
# TTComp
|
||||
0 string \0\6 TTComp archive data
|
||||
# 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"
|
||||
# ESP, could this conflict with Easy Software Products' (e.g.ESP ghostscript) documentation?
|
||||
0 string ESP ESP archive data
|
||||
# ZPack
|
||||
@@ -439,9 +447,9 @@
|
||||
0 string SZ\x0a\4 SZip archive data
|
||||
# XPack DiskImage
|
||||
# *.XDI updated by Joerg Jenderek Sep 2015
|
||||
# ftp://ftp.sac.sk/pub/sac/pack/0index.txt
|
||||
# ftp://ftp.sac.sk/pub/sac/pack/0index.txt
|
||||
# GRR: this test is still too general as it catches also text files starting with jm
|
||||
0 string jm
|
||||
0 string jm
|
||||
# only found examples with this additional characteristic 2 bytes
|
||||
>2 string \x2\x4 Xpack DiskImage archive data
|
||||
#!:ext xdi
|
||||
@@ -454,7 +462,7 @@
|
||||
# ftp://ftp.elf.stuba.sk/pub/pc/pack/xpa32.zip
|
||||
# created by XPA32.EXE version 1.0.2 for Windows
|
||||
>0 string xpa\0\1 \b32 archive data
|
||||
# created by XPACK.COM version 1.67m or 1.67r with short 0x1800
|
||||
# created by XPACK.COM version 1.67m or 1.67r with short 0x1800
|
||||
>3 ubeshort !0x0001 \bck archive data
|
||||
# XPack Single Data
|
||||
# changed by Joerg Jenderek Sep 2015 back to like in version 5.12
|
||||
@@ -544,55 +552,212 @@
|
||||
>>0x36 string >\0 fstype %.8s
|
||||
|
||||
# LHARC/LHA archiver (Greg Roelofs, [email protected])
|
||||
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
|
||||
# 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
|
||||
# [never seen any but the last; -lh4- reported in comp.compression:]
|
||||
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
|
||||
#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
|
||||
# taken from idarc [JW]
|
||||
2 string -lZ PUT archive data
|
||||
2 string -lz LZS 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 -sw1- Swag archive data
|
||||
|
||||
# RAR archiver (Greg Roelofs, [email protected])
|
||||
0 string Rar! RAR 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
|
||||
>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
|
||||
!: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)
|
||||
!:mime application/x-rar
|
||||
!:ext rar/cbr
|
||||
|
||||
# SQUISH archiver (Greg Roelofs, [email protected])
|
||||
0 string SQSH squished archive data (Acorn RISCOS)
|
||||
@@ -604,9 +769,12 @@
|
||||
# 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 [email protected])
|
||||
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'
|
||||
@@ -723,6 +891,14 @@
|
||||
>(26.s+30) leshort 0xcafe Java archive data (JAR)
|
||||
!:mime application/java-archive
|
||||
|
||||
# iOS App
|
||||
>(26.s+30) leshort !0xcafe
|
||||
>>26 string !\x8\0\0\0mimetype
|
||||
>>>30 string Payload/
|
||||
>>>>38 search/64 .app/ iOS App
|
||||
!:mime application/x-ios-app
|
||||
|
||||
|
||||
# Generic zip archives (Greg Roelofs, c/o [email protected])
|
||||
# Next line excludes specialized formats:
|
||||
>(26.s+30) leshort !0xcafe
|
||||
@@ -732,7 +908,17 @@
|
||||
>>>4 byte 0x0a \b, at least v1.0 to extract
|
||||
>>>4 byte 0x0b \b, at least v1.1 to extract
|
||||
>>>4 byte 0x14 \b, at least v2.0 to extract
|
||||
>>>4 byte 0x15 \b, at least v2.1 to extract
|
||||
>>>4 byte 0x19 \b, at least v2.5 to extract
|
||||
>>>4 byte 0x1b \b, at least v2.7 to extract
|
||||
>>>4 byte 0x2d \b, at least v4.5 to extract
|
||||
>>>4 byte 0x2e \b, at least v4.6 to extract
|
||||
>>>4 byte 0x32 \b, at least v5.0 to extract
|
||||
>>>4 byte 0x33 \b, at least v5.1 to extract
|
||||
>>>4 byte 0x34 \b, at least v5.2 to extract
|
||||
>>>4 byte 0x3d \b, at least v6.1 to extract
|
||||
>>>4 byte 0x3e \b, at least v6.2 to extract
|
||||
>>>4 byte 0x3f \b, at least v6.3 to extract
|
||||
>>>0x161 string WINZIP \b, WinZIP self-extracting
|
||||
|
||||
# StarView Metafile
|
||||
@@ -764,12 +950,24 @@
|
||||
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 -pm1- PMarc archive data [pm1]
|
||||
2 string -pm2- PMarc archive data [pm2]
|
||||
#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 -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 <[email protected]>
|
||||
# The Project Revision Control System (see
|
||||
@@ -802,6 +1000,9 @@
|
||||
# Felix von Leitner <[email protected]>
|
||||
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 <[email protected]>
|
||||
0 beshort 0x0e0f Atari MSA archive data
|
||||
@@ -889,19 +1090,16 @@
|
||||
# From "Nelson A. de Oliveira" <[email protected]>
|
||||
0 string MPQ\032 MoPaQ (MPQ) archive
|
||||
|
||||
# From: Dirk Jagdmann <[email protected]>
|
||||
# xar archive format: http://code.google.com/p/xar/
|
||||
0 string xar! xar archive
|
||||
>6 beshort x - version %d
|
||||
|
||||
# From: "Nelson A. de Oliveira" <[email protected]>
|
||||
# .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" <[email protected]>
|
||||
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,
|
||||
@@ -957,12 +1155,12 @@
|
||||
>3 ubyte 0 \b, no compression
|
||||
>3 ubyte 2 \b, fast compression (Z1)
|
||||
>3 ubyte 3 \b, medium compression (Z2)
|
||||
>3 ubyte >3
|
||||
>3 ubyte >3
|
||||
>>3 ubyte <11 \b, compression (Z%d-1)
|
||||
>2 ubyte&0x08 0x00
|
||||
>2 ubyte&0x08 0x00
|
||||
# ~ 30 byte password field only for *.gho
|
||||
>>12 ubequad !0 \b, password protected
|
||||
>>44 ubyte !1
|
||||
>>44 ubyte !1
|
||||
# 1~Image All, sector-by-sector only for *.gho
|
||||
>>>10 ubyte 1 \b, sector copy
|
||||
# 1~Image Boot track only for *.gho
|
||||
@@ -972,6 +1170,19 @@
|
||||
# optional image description only *.gho
|
||||
>>0xff string >\0 "%-.254s"
|
||||
# look for DOS sector end sequence
|
||||
>0xE08 search/7776 \x55\xAA
|
||||
>>&-512 indirect x \b; contains
|
||||
>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
|
||||
|
||||
# SeqBox - Sequenced container
|
||||
# ext: sbx, seqbox
|
||||
# Marco Pontello [email protected]
|
||||
# reference: https://github.com/MarcoPon/SeqBox
|
||||
0 string SBx SeqBox,
|
||||
>3 byte x version %d
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: att3b,v 1.9 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: att3b,v 1.10 2017/03/17 21:35:28 christos Exp $
|
||||
# att3b: file(1) magic for AT&T 3B machines
|
||||
#
|
||||
# The `versions' should be un-commented if they work for you.
|
||||
@@ -36,6 +36,6 @@
|
||||
#>18 beshort &00040000 and MAU hardware required
|
||||
#>22 beshort >0 - version %d
|
||||
#
|
||||
# core file for 3b2
|
||||
# core file for 3b2
|
||||
0 string \000\004\036\212\200 3b2 core file
|
||||
>364 string >\0 of '%s'
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: audio,v 1.73 2015/03/15 23:21:42 christos Exp $
|
||||
# $File: audio,v 1.80 2017/08/13 00:21:47 christos Exp $
|
||||
# audio: file(1) magic for sound formats (see also "iff")
|
||||
#
|
||||
# Jan Nicolai Langfeldt ([email protected]), Dan Quinlan ([email protected]),
|
||||
@@ -300,7 +300,7 @@
|
||||
>>5 byte &0x40 \b, extended header
|
||||
>>5 byte &0x20 \b, experimental
|
||||
>>5 byte &0x10 \b, footer present
|
||||
>(6.I+10) indirect x \b, contains:
|
||||
>(6.I+10) indirect x \b, contains:
|
||||
|
||||
# NSF (NES sound file) magic
|
||||
0 string NESM\x1a NES Sound File
|
||||
@@ -314,7 +314,7 @@
|
||||
>122 byte&0x1 =0 NTSC
|
||||
|
||||
# NSFE (Extended NES sound file) magic
|
||||
# http://slickproductions.org/docs/NSF/nsfespec.txt
|
||||
# http://slickproductions.org/docs/NSF/nsfespec.txt
|
||||
# From: David Pflug <[email protected]>
|
||||
0 string NSFE Extended NES Sound File
|
||||
>48 search/0x1000 auth
|
||||
@@ -469,6 +469,8 @@
|
||||
>>20 byte&0xe 0xc \b, 7 channels
|
||||
>>20 byte&0xe 0xe \b, 8 channels
|
||||
# some common sample rates
|
||||
>>17 belong&0xfffff0 0x2ee000 \b, 192 kHz
|
||||
>>17 belong&0xfffff0 0x158880 \b, 88.2 kHz
|
||||
>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
|
||||
>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz
|
||||
>>17 belong&0xfffff0 0x07d000 \b, 32 kHz
|
||||
@@ -585,7 +587,7 @@
|
||||
0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music
|
||||
|
||||
# musepak support From: "Jiri Pejchal" <[email protected]>
|
||||
0 string MP+ Musepack audio
|
||||
0 string MP+ Musepack audio (MP+)
|
||||
!:mime audio/x-musepack
|
||||
>3 byte 255 \b, SV pre8
|
||||
>3 byte&0xF 0x6 \b, SV 6
|
||||
@@ -619,6 +621,9 @@
|
||||
>>27 byte 114 \b, Beta 1.14
|
||||
>>27 byte 115 \b, Alpha 1.15
|
||||
|
||||
0 string MPCK Musepack audio (MPCK)
|
||||
!:mime audio/x-musepack
|
||||
|
||||
# IMY
|
||||
# from http://filext.com/detaillist.php?extdetail=IMY
|
||||
# http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
|
||||
@@ -655,7 +660,7 @@
|
||||
|
||||
# From Fabio R. Schmidlin <[email protected]>
|
||||
# VGM music file
|
||||
0 string Vgm\
|
||||
0 string Vgm\040
|
||||
>9 ubyte >0 VGM Video Game Music dump v
|
||||
>>9 ubyte/16 >0 \b%d
|
||||
>>9 ubyte&0x0F x \b%d
|
||||
@@ -715,3 +720,93 @@
|
||||
0 string ZBOT
|
||||
>4 byte 0xc5 GVOX Encore music, version < 5.0
|
||||
|
||||
# Summary: Garmin Voice Processing Module (WAVE audios)
|
||||
# From: Joerg Jenderek
|
||||
# URL: http://www.garmin.com/
|
||||
# Reference: http://turboccc.wikispaces.com/share/view/28622555
|
||||
# NOTE: there exist 2 other Garmin VPM formats
|
||||
0 string AUDIMG
|
||||
# skip text files starting with string "AUDIMG"
|
||||
>13 ubyte <13 Garmin Voice Processing Module
|
||||
!:mime audio/x-vpm-wav-garmin
|
||||
!:ext vpm
|
||||
# 3 bytes indicating the voice version (200,220)
|
||||
>>6 string x \b, version %3.3s
|
||||
# day of release (01-31)
|
||||
>>12 ubyte x \b, %.2d
|
||||
# month of release (01-12)
|
||||
>>13 ubyte x \b.%.2d
|
||||
# year of release (like 2006, 2007, 2008)
|
||||
>>14 uleshort x \b.%.4d
|
||||
# hour of release (0-23)
|
||||
>>11 ubyte x %.2d
|
||||
# minute of release (0-59)
|
||||
>>10 ubyte x \b:%.2d
|
||||
# second of release (0-59)
|
||||
>>9 ubyte x \b:%.2d
|
||||
# if you select a language like german on your garmin device
|
||||
# you can only select voice modules with corresponding language byte ID like 1
|
||||
>>18 ubyte x \b, language ID %d
|
||||
# pointer to 1st audio WAV sample
|
||||
>>16 uleshort >0
|
||||
>>>(16.s) ulelong >0 \b, at offset 0x%x
|
||||
# WAV length
|
||||
>>>>(16.s+4) ulelong >0 %d Bytes
|
||||
# look for magic
|
||||
>>>>>(&-8.l) string RIFF
|
||||
# determine type by ./riff
|
||||
>>>>>>&-4 indirect x \b
|
||||
# 2 - ~ 131 WAV samples following same way
|
||||
|
||||
# From Martin Mueller Skarbiniks Pedersen
|
||||
0 string GDM
|
||||
>0x3 byte 0xFE General Digital Music.
|
||||
>0x4 string >\0 title: "%s"
|
||||
>0x24 string >\0 musician: "%s"
|
||||
>>0x44 beshort 0x0D0A
|
||||
>>>0x46 byte 0x1A
|
||||
>>>>0x47 string GMFS Version
|
||||
>>>>0x4B byte x %d.
|
||||
>>>>0x4C byte x \b%02d
|
||||
>>>>0x4D beshort 0x000 (2GDM v
|
||||
>>>>0x4F byte x \b%d.
|
||||
>>>>>0x50 byte x \b%d)
|
||||
|
||||
0 string MTM Multitracker
|
||||
>0x3 byte/16 x Version %d.
|
||||
>0x3 byte&0x0F x \b%02d
|
||||
>>0x4 string >\0 title: "%s"
|
||||
|
||||
0 string HVL
|
||||
>3 byte <2 Hively Tracker Song
|
||||
>3 byte 0 1 module data
|
||||
>3 byte 1 2 module data
|
||||
|
||||
0 string MO3
|
||||
>3 ubyte <6 MOdule with MP3
|
||||
>>3 byte 0 Version 0 (With MP3 and lossless)
|
||||
>>3 byte 1 Version 1 (With ogg and lossless)
|
||||
>>3 byte 3 Version 2.2
|
||||
>>3 byte 4 (With no LAME header)
|
||||
>>3 byte 5 Version 2.4
|
||||
|
||||
0 string ADRVPACK AProSys module
|
||||
|
||||
# ftp://ftp.modland.com/pub/documents/format_documentation/\
|
||||
# Art%20Of%20Noise%20(.aon).txt
|
||||
0 string AON
|
||||
>4 string "ArtOfNoise by Bastian Spiegel(twice/lego)"
|
||||
>0x2e string NAME Art of Noise Tracker Song
|
||||
>3 string <9
|
||||
>3 string 4 (4 voices)
|
||||
>3 string 8 (8 voices)
|
||||
>>0x36 string >\0 Title: "%s"
|
||||
|
||||
0 string FAR
|
||||
>0x2c byte 0x0d
|
||||
>0x2d byte 0x0a
|
||||
>0x2e byte 0x1a
|
||||
>>0x3 byte 0xFE Farandole Tracker Song
|
||||
>>>0x31 byte/16 x Version %d.
|
||||
>>>0x31 byte&0x0F x \b%02d
|
||||
>>>>0x4 string >\0 \b, title: "%s"
|
||||
@@ -0,0 +1,65 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: ber,v 1.1 2016/06/05 00:21:30 christos Exp $
|
||||
# ber: file(1) magic for several BER formats used in the mobile
|
||||
# telecommunications industry (Georg Sauthoff)
|
||||
|
||||
# The file formats are standardized by the GSMA (GSM association).
|
||||
# They are specified via ASN.1 schemas and some prose. Basic encoding
|
||||
# rules (BER) is the used encoding. The formats are used for exchanging
|
||||
# call data records (CDRs) between mobile operators and associated
|
||||
# parties for roaming clearing purposes and fraud detection.
|
||||
|
||||
# The magic file covers:
|
||||
|
||||
# - TAP files (TD.57) - CDR batches and notifications
|
||||
# - RAP files (TD.32) - return batches and acknowledgements
|
||||
# - NRT files (TD.35) - CDR batches for 'near real time' processing
|
||||
|
||||
#
|
||||
# TAP 3 Files
|
||||
# TAP -> Transferred Account Procedure
|
||||
# cf. http://www.gsma.com/newsroom/wp-content/uploads/TD.57-v32.31.pdf
|
||||
# TransferBatch short tag
|
||||
0 byte 0x61
|
||||
# BatchControlInfo short tag
|
||||
>&1 search/b5 \x64
|
||||
# Sender long tag #TAP 3.x (BER encoded)
|
||||
>>&1 search/b8 \x5f\x81\x44
|
||||
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
|
||||
>>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
|
||||
>>>>&0 byte x TAP 3.%d Batch (TD.57, Transferred Account)
|
||||
|
||||
# Notification short tag
|
||||
0 byte 0x62
|
||||
# Sender long tag
|
||||
>2 search/b8 \x5f\x81\x44
|
||||
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
|
||||
>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
|
||||
>>>&0 byte x TAP 3.%d Notification (TD.57, Transferred Account)
|
||||
|
||||
|
||||
# NRT Files
|
||||
# NRT a.k.a. NRTRDE
|
||||
0 byte 0x61
|
||||
# <SpecificationVersionNumber>2</><ReleaseVersionNumber> block
|
||||
>&1 search/b8 \x5f\x29\x01\x02\x5f\x25\x01
|
||||
>>&0 byte x NRT 2.%d (TD.35, Near Real Time Roaming Data Exchange)
|
||||
|
||||
# RAP Files
|
||||
# cf. http://www.gsma.com/newsroom/wp-content/uploads/TD.32-v6.11.pdf
|
||||
# Long ReturnBatch tag
|
||||
0 string \x7f\x84\x16
|
||||
# Long RapBatchControlInfo tag
|
||||
>&1 search/b8 \x7f\x84\x19
|
||||
# <SpecificationVersionNumber>3</><ReleaseVersionNumber> block
|
||||
>>&64 search/b64 \x5f\x81\x49\x01\x03\x5f\x81\x3d\x01
|
||||
# <RapSpecificationVersionNumber>1</><RapReleaseVersionNumber> block
|
||||
>>>&1 string/b \x5f\x84\x20\x01\x01\x5f\x84\x1f\x01
|
||||
>>>>&0 byte x RAP 1.%d Batch (TD.32, Returned Account Procedure),
|
||||
>>>&0 byte x TAP 3.%d
|
||||
|
||||
# Long Acknowledgement tag
|
||||
0 string \x7f\x84\x17
|
||||
# Long Sender tag
|
||||
>&1 search/b5 \x5f\x81\x44 RAP Acknowledgement (TD.32, Returned Account Procedure)
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: bhl,v 1.1 2017/06/11 22:20:02 christos Exp $
|
||||
# BlockHashLoc
|
||||
# ext: bhl
|
||||
# Marco Pontello [email protected]
|
||||
# reference: https://github.com/MarcoPon/BlockHashLoc
|
||||
0 string BlockHashLoc\x1a BlockHashLoc recovery info,
|
||||
>13 byte x version %d
|
||||
!:ext bhl
|
||||
@@ -0,0 +1,178 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: bioinformatics,v 1.4 2016/06/20 16:13:46 christos Exp $
|
||||
# bioinfomatics: file(1) magic for Bioinfomatics file formats
|
||||
|
||||
###############################################################################
|
||||
# BGZF (Blocked GNU Zip Format) - gzip compatible, but also indexable
|
||||
# used by SAMtools bgzip/tabix (http://samtools.sourceforge.net/tabix.shtml)
|
||||
###############################################################################
|
||||
0 string \037\213
|
||||
>3 byte &0x04
|
||||
>>12 string BC
|
||||
>>>14 leshort &0x02 Blocked GNU Zip Format (BGZF; gzip compatible)
|
||||
>>>>16 leshort x \b, block length %d
|
||||
!:mime application/x-gzip
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Tabix index file
|
||||
# used by SAMtools bgzip/tabix (http://samtools.sourceforge.net/tabix.shtml)
|
||||
###############################################################################
|
||||
0 string TBI\1 SAMtools TBI (Tabix index format)
|
||||
>0x04 lelong =1 \b, with %d reference sequence
|
||||
>0x04 lelong >1 \b, with %d reference sequences
|
||||
>0x08 lelong &0x10000 \b, using half-closed-half-open coordinates (BED style)
|
||||
>0x08 lelong ^0x10000
|
||||
>>0x08 lelong =0 \b, using closed and one based coordinates (GFF style)
|
||||
>>0x08 lelong =1 \b, using SAM format
|
||||
>>0x08 lelong =2 \b, using VCF format
|
||||
>0x0c lelong x \b, sequence name column: %d
|
||||
>0x10 lelong x \b, region start column: %d
|
||||
>0x08 lelong =0
|
||||
>>0x14 lelong x \b, region end column: %d
|
||||
>0x18 byte x \b, comment character: %c
|
||||
>0x1c lelong x \b, skip line count: %d
|
||||
|
||||
|
||||
###############################################################################
|
||||
# BAM (Binary Sequence Alignment/Map format)
|
||||
# used by SAMtools (http://samtools.sourceforge.net/SAM1.pdf)
|
||||
# data is normally present only within compressed BGZF blocks (CDATA), so use file -z to examine it
|
||||
###############################################################################
|
||||
0 string BAM\1 SAMtools BAM (Binary Sequence Alignment/Map)
|
||||
>0x04 lelong >0
|
||||
>>&0x00 regex =^[@]HD\t.*VN: \b, with SAM header
|
||||
>>>&0 regex =[0-9.]+ \b version %s
|
||||
>>&(0x04) lelong >0 \b, with %d reference sequences
|
||||
|
||||
|
||||
###############################################################################
|
||||
# BAI (BAM indexing format)
|
||||
# used by SAMtools (http://samtools.sourceforge.net/SAM1.pdf)
|
||||
###############################################################################
|
||||
0 string BAI\1 SAMtools BAI (BAM indexing format)
|
||||
>0x04 lelong >0 \b, with %d reference sequences
|
||||
|
||||
|
||||
###############################################################################
|
||||
# CRAM (Binary Sequence Alignment/Map format)
|
||||
###############################################################################
|
||||
0 string CRAM CRAM
|
||||
>0x04 byte >-1 version %d.
|
||||
>0x05 byte >-1 \b%d
|
||||
>0x06 string >\0 (identified as %s)
|
||||
|
||||
|
||||
###############################################################################
|
||||
# BCF (Binary Call Format), version 1
|
||||
# used by SAMtools & VCFtools (http://vcftools.sourceforge.net/bcf.pdf)
|
||||
# data is normally present only within compressed BGZF blocks (CDATA), so use file -z to examine it
|
||||
###############################################################################
|
||||
0 string BCF\4
|
||||
# length of seqnm data in bytes is positive
|
||||
>&0x00 lelong >0
|
||||
# length of smpl data in bytes is positive
|
||||
>>&(&-0x04) lelong >0 SAMtools BCF (Binary Call Format)
|
||||
# length of meta in bytes
|
||||
>>>&(&-0x04) lelong >0
|
||||
# have meta text string
|
||||
>>>>&0x00 search ##samtoolsVersion=
|
||||
>>>>>&0x00 string x \b, generated by SAMtools version %s
|
||||
|
||||
|
||||
###############################################################################
|
||||
# BCF (Binary Call Format), version 2.1
|
||||
# used by SAMtools (http://samtools.github.io/hts-specs/BCFv2_qref.pdf)
|
||||
# data is normally present only within compressed BGZF blocks (CDATA), so use file -z to examine it
|
||||
###############################################################################
|
||||
0 string BCF\2\1 Binary Call Format (BCF) version 2.1
|
||||
# length of header text
|
||||
>&0x00 lelong >0
|
||||
# have header string
|
||||
>>&0x00 search ##samtoolsVersion=
|
||||
>>>&0x00 string x \b, generated by SAMtools version %s
|
||||
|
||||
|
||||
###############################################################################
|
||||
# BCF (Binary Call Format), version 2.2
|
||||
# used by SAMtools (http://samtools.github.io/hts-specs/BCFv2_qref.pdf)
|
||||
# data is normally present only within compressed BGZF blocks (CDATA), so use file -z to examine it
|
||||
###############################################################################
|
||||
0 string BCF\2\2 Binary Call Format (BCF) version 2.2
|
||||
# length of header text
|
||||
>&0x00 lelong >0
|
||||
# have header string
|
||||
>>&0x00 search ##samtoolsVersion=
|
||||
>>>&0x00 string x \b, generated by SAMtools version %s
|
||||
|
||||
###############################################################################
|
||||
# VCF (Variant Call Format)
|
||||
# used by VCFtools (http://vcftools.sourceforge.net/)
|
||||
###############################################################################
|
||||
0 search ##fileformat=VCFv Variant Call Format (VCF)
|
||||
>&0 string x \b version %s
|
||||
|
||||
###############################################################################
|
||||
# FASTQ
|
||||
# used by MAQ (http://maq.sourceforge.net/fastq.shtml)
|
||||
###############################################################################
|
||||
# XXX Broken?
|
||||
# @<seqname>
|
||||
#0 regex =^@[A-Za-z0-9_.:-]+\?\n
|
||||
# <seq>
|
||||
#>&1 regex =^[A-Za-z\n.~]++
|
||||
# +[<seqname>]
|
||||
#>>&1 regex =^[A-Za-z0-9_.:-]*\?\n
|
||||
# <qual>
|
||||
#>>>&1 regex =^[!-~\n]+\n FASTQ
|
||||
|
||||
###############################################################################
|
||||
# FASTA
|
||||
# used by FASTA (http://fasta.bioch.virginia.edu/fasta_www2/fasta_guide.pdf)
|
||||
###############################################################################
|
||||
#0 byte 0x3e
|
||||
# q>0 regex =^[>][!-~\t\ ]+$
|
||||
# Amino Acid codes: [A-IK-Z*-]+
|
||||
#>>1 regex !=[!-'Jj;:=?@^`|~\\] FASTA
|
||||
# IUPAC codes/gaps: [ACGTURYKMSWBDHVNX-]+
|
||||
# not in IUPAC codes/gaps: [EFIJLOPQZ]
|
||||
#>>>1 regex !=[EFIJLOPQZefijlopqz] \b, with IUPAC nucleotide codes
|
||||
#>>>1 regex =^[EFIJLOPQZefijlopqz]+$ \b, with Amino Acid codes
|
||||
|
||||
###############################################################################
|
||||
# SAM (Sequence Alignment/Map format)
|
||||
# used by SAMtools (http://samtools.sourceforge.net/SAM1.pdf)
|
||||
###############################################################################
|
||||
# Short-cut version to recognise SAM files with (optional) header at beginning
|
||||
###############################################################################
|
||||
0 string @HD\t
|
||||
>4 search VN: Sequence Alignment/Map (SAM), with header
|
||||
>>&0 regex [0-9.]+ \b version %s
|
||||
###############################################################################
|
||||
# Longer version to recognise SAM alignment lines using (many) regexes
|
||||
###############################################################################
|
||||
# SAM Alignment QNAME
|
||||
0 regex =^[!-?A-~]{1,255}(\t[^\t]+){11}
|
||||
# SAM Alignment FLAG
|
||||
>0 regex =^([^\t]+\t){1}[0-9]{1,5}\t
|
||||
# SAM Alignment RNAME
|
||||
>>0 regex =^([^\t]+\t){2}\\*|[^*=]*\t
|
||||
# SAM Alignment POS
|
||||
>>>0 regex =^([^\t]+\t){3}[0-9]{1,9}\t
|
||||
# SAM Alignment MAPQ
|
||||
>>>>0 regex =^([^\t]+\t){4}[0-9]{1,3}\t
|
||||
# SAM Alignment CIGAR
|
||||
>>>>>0 regex =\t(\\*|([0-9]+[MIDNSHPX=])+)\t
|
||||
# SAM Alignment RNEXT
|
||||
>>>>>>0 regex =\t(\\*|=|[!-()+->?-~][!-~]*)\t
|
||||
# SAM Alignment PNEXT
|
||||
>>>>>>>0 regex =^([^\t]+\t){7}[0-9]{1,9}\t
|
||||
# SAM Alignment TLEN
|
||||
>>>>>>>>0 regex =\t[+-]{0,1}[0-9]{1,9}\t.*\t
|
||||
# SAM Alignment SEQ
|
||||
>>>>>>>>>0 regex =^([^\t]+\t){9}(\\*|[A-Za-z=.]+)\t
|
||||
# SAM Alignment QUAL
|
||||
>>>>>>>>>>0 regex =^([^\t]+\t){10}[!-~]+ Sequence Alignment/Map (SAM)
|
||||
>>>>>>>>>>>0 regex =^[@]HD\t.*VN: \b, with header
|
||||
>>>>>>>>>>>>&0 regex =[0-9.]+ \b version %s
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: blackberry,v 1.1 2014/01/31 01:51:32 christos Exp $
|
||||
# $File: blackberry,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# blackberry: file(1) magic for BlackBerry file formats
|
||||
#
|
||||
5 belong 0
|
||||
5 belong 0
|
||||
>8 belong 010010010 BlackBerry RIM ETP file
|
||||
>>22 string x \b for %s
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: blender,v 1.6 2014/08/30 08:34:17 christos Exp $
|
||||
# $File: blender,v 1.7 2017/03/17 21:35:28 christos Exp $
|
||||
# blender: file(1) magic for Blender 3D related files
|
||||
#
|
||||
# Native format rule v1.2. For questions use the developers list
|
||||
# Native format rule v1.2. For questions use the developers list
|
||||
# http://lists.blender.org/mailman/listinfo/bf-committers
|
||||
# GLOB chunk was moved near start and provides subversion info since 2.42
|
||||
# GLOB chunk was moved near start and provides subversion info since 2.42
|
||||
|
||||
0 string =BLENDER Blender3D,
|
||||
>7 string =_ saved as 32-bits
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: c-lang,v 1.20 2015/07/27 14:33:10 christos Exp $
|
||||
# $File: c-lang,v 1.26 2017/08/14 07:40:38 christos Exp $
|
||||
# c-lang: file(1) magic for C and related languages programs
|
||||
#
|
||||
# The strength is to beat standard HTML
|
||||
|
||||
# BCPL
|
||||
0 search/8192 "libhdr" BCPL source text
|
||||
@@ -10,42 +11,72 @@
|
||||
!:mime text/x-bcpl
|
||||
|
||||
# C
|
||||
0 regex \^#include C source text
|
||||
# Check for class if include is found, otherwise class is beaten by include becouse of lowered strength
|
||||
0 regex \^#include C
|
||||
>0 regex \^class[[:space:]]+
|
||||
>>&0 regex \\{[\.\*]\\}(;)?$ \b++
|
||||
>&0 clear x source text
|
||||
!:strength + 13
|
||||
!:mime text/x-c
|
||||
0 regex \^char[\ \t\n]+ C source text
|
||||
0 regex \^#[[:space:]]*pragma C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^double[\ \t\n]+ C source text
|
||||
0 regex \^#[[:space:]]*(if\|ifn)def
|
||||
>&0 regex \^#[[:space:]]*endif$ C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^extern[\ \t\n]+ C source text
|
||||
0 regex \^#[[:space:]]*(if\|ifn)def
|
||||
>&0 regex \^#[[:space:]]*define C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^float[\ \t\n]+ C source text
|
||||
0 regex \^[[:space:]]*char(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^struct[\ \t\n]+ C source text
|
||||
0 regex \^[[:space:]]*double(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^union[\ \t\n]+ C source text
|
||||
0 regex \^[[:space:]]*extern[[:space:]]+ C source text
|
||||
!:mime text/x-c
|
||||
0 search/8192 main( C source text
|
||||
0 regex \^[[:space:]]*float(\ \\*|\\*)(.+)(=.*)?;[[:space:]]*$ C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^struct[[:space:]]+ C source text
|
||||
!:mime text/x-c
|
||||
0 regex \^union[[:space:]]+ C source text
|
||||
!:mime text/x-c
|
||||
0 search/8192 main(
|
||||
>&0 regex \\)[[:space:]]*\\{ C source text
|
||||
!:mime text/x-c
|
||||
|
||||
# C++
|
||||
# The strength of these rules is increased so they beat the C rules above
|
||||
0 regex \^template[\ \t]+<.*>[\ \t\n]+ C++ source text
|
||||
!:strength + 5
|
||||
0 regex \^namespace[[:space:]]+[_[:alpha:]]{1,30}[[:space:]]*\\{ C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^virtual[\ \t\n]+ C++ source text
|
||||
!:strength + 5
|
||||
# using namespace [namespace] or using std::[lib]
|
||||
0 regex \^using[[:space:]]+(namespace\ )?std(::)?[[:alpha:]]*[[:space:]]*; C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^class[\ \t\n]+ C++ source text
|
||||
!:strength + 5
|
||||
0 regex \^[[:space:]]*template[[:space:]]*<.*>[[:space:]]*$ C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^public: C++ source text
|
||||
!:strength + 5
|
||||
0 regex \^[[:space:]]*virtual[[:space:]]+.*[};][[:space:]]*$ C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^private: C++ source text
|
||||
!:strength + 5
|
||||
# But class alone is reduced to avoid beating php (Jens Schleusener)
|
||||
0 regex \^[[:space:]]*class[[:space:]]+[[:digit:][:alpha:]:_]+[[:space:]]*\\{(.*[\n]*)*\\}(;)?$ C++ source text
|
||||
!:strength + 13
|
||||
!:mime text/x-c++
|
||||
0 regex \^[[:space:]]*public: C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^[[:space:]]*private: C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
0 regex \^[[:space:]]*protected: C++ source text
|
||||
!:strength + 30
|
||||
!:mime text/x-c++
|
||||
|
||||
# From: Mikhail Teterin <[email protected]>
|
||||
# Objective-C
|
||||
0 regex \^#import Objective-C source text
|
||||
!:strength + 25
|
||||
!:mime text/x-objective-c
|
||||
|
||||
# From: Mikhail Teterin <[email protected]>
|
||||
0 string cscope cscope reference data
|
||||
>7 string x version %.2s
|
||||
# We skip the path here, because it is often long (so file will
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: cad,v 1.13 2014/03/23 18:05:38 christos Exp $
|
||||
# $File: cad,v 1.15 2017/06/24 15:24:56 christos Exp $
|
||||
# autocad: file(1) magic for cad files
|
||||
#
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# DGN is the default file extension of Microstation/Intergraph CAD files.
|
||||
# CIT is the proprietary raster format (similar to TIFF) used to attach
|
||||
# raster underlays to Microstation DGN (vector) drawings.
|
||||
#
|
||||
#
|
||||
# http://www.wotsit.org/search.asp
|
||||
# http://filext.com/detaillist.php?extdetail=DGN
|
||||
# http://filext.com/detaillist.php?extdetail=CIT
|
||||
@@ -42,7 +42,7 @@
|
||||
>4 string \030\000\000 CITFile
|
||||
>4 string \030\000\003 CITFile
|
||||
|
||||
# AutoCAD
|
||||
# AutoCAD
|
||||
# Merge of the different contributions and updates from http://en.wikipedia.org/wiki/Dwg
|
||||
# and http://www.iana.org/assignments/media-types/image/vnd.dwg
|
||||
0 string MC0.0 DWG AutoDesk AutoCAD Release 1.0
|
||||
@@ -99,42 +99,42 @@
|
||||
0 string AC1027 DWG AutoDesk AutoCAD 2013/2014
|
||||
!:mime image/vnd.dwg
|
||||
|
||||
# KOMPAS 2D drawing from ASCON
|
||||
# KOMPAS 2D drawing from ASCON
|
||||
# This is KOMPAS 2D drawing or fragment of drawing but is not detailed nor
|
||||
# gathered nor specification
|
||||
# ASCON http://ascon.net/main/ in English,
|
||||
# http://ascon.ru/ main site in Russian
|
||||
# Extension is CDW for drawing and FRW for fragment of drawing
|
||||
# Extension is CDW for drawing and FRW for fragment of drawing
|
||||
# Sergey Zaykov ([email protected], [email protected],
|
||||
# ICQ 358572321, http://vkontakte.ru/id16076543)
|
||||
# From:
|
||||
# http://sd.ascon.ru/otrs/customer.pl?Action=CustomerFAQ&CategoryID=4&ItemID=292
|
||||
# (in russian) and my experiments
|
||||
0 string KF
|
||||
>2 belong 0x4E00000C Kompas drawing 12.0 SP1
|
||||
>2 belong 0x4D00000C Kompas drawing 12.0
|
||||
>2 belong 0x3200000B Kompas drawing 11.0 SP1
|
||||
>2 belong 0x3100000B Kompas drawing 11.0
|
||||
>2 belong 0x2310000A Kompas drawing 10.0 SP1
|
||||
>2 belong 0x2110000A Kompas drawing 10.0
|
||||
>2 belong 0x08000009 Kompas drawing 9.0 SP1
|
||||
>2 belong 0x05000009 Kompas drawing 9.0
|
||||
>2 belong 0x33010008 Kompas drawing 8+
|
||||
>2 belong 0x1A000008 Kompas drawing 8.0
|
||||
>2 belong 0x2C010107 Kompas drawing 7+
|
||||
>2 belong 0x05000007 Kompas drawing 7.0
|
||||
>2 belong 0x32000006 Kompas drawing 6+
|
||||
>2 belong 0x09000006 Kompas drawing 6.0
|
||||
>2 belong 0x5C009005 Kompas drawing 5.11R03
|
||||
>2 belong 0x54009005 Kompas drawing 5.11R02
|
||||
>2 belong 0x51009005 Kompas drawing 5.11R01
|
||||
>2 belong 0x22009005 Kompas drawing 5.10R03
|
||||
>2 belong 0x22009005 Kompas drawing 5.10R02 mar
|
||||
>2 belong 0x21009005 Kompas drawing 5.10R02 febr
|
||||
>2 belong 0x19009005 Kompas drawing 5.10R01
|
||||
>2 belong 0xF4008005 Kompas drawing 5.9R01.003
|
||||
>2 belong 0x1C008005 Kompas drawing 5.9R01.002
|
||||
>2 belong 0x11008005 Kompas drawing 5.8R01.003
|
||||
>2 belong 0x4E00000C Kompas drawing 12.0 SP1
|
||||
>2 belong 0x4D00000C Kompas drawing 12.0
|
||||
>2 belong 0x3200000B Kompas drawing 11.0 SP1
|
||||
>2 belong 0x3100000B Kompas drawing 11.0
|
||||
>2 belong 0x2310000A Kompas drawing 10.0 SP1
|
||||
>2 belong 0x2110000A Kompas drawing 10.0
|
||||
>2 belong 0x08000009 Kompas drawing 9.0 SP1
|
||||
>2 belong 0x05000009 Kompas drawing 9.0
|
||||
>2 belong 0x33010008 Kompas drawing 8+
|
||||
>2 belong 0x1A000008 Kompas drawing 8.0
|
||||
>2 belong 0x2C010107 Kompas drawing 7+
|
||||
>2 belong 0x05000007 Kompas drawing 7.0
|
||||
>2 belong 0x32000006 Kompas drawing 6+
|
||||
>2 belong 0x09000006 Kompas drawing 6.0
|
||||
>2 belong 0x5C009005 Kompas drawing 5.11R03
|
||||
>2 belong 0x54009005 Kompas drawing 5.11R02
|
||||
>2 belong 0x51009005 Kompas drawing 5.11R01
|
||||
>2 belong 0x22009005 Kompas drawing 5.10R03
|
||||
>2 belong 0x22009005 Kompas drawing 5.10R02 mar
|
||||
>2 belong 0x21009005 Kompas drawing 5.10R02 febr
|
||||
>2 belong 0x19009005 Kompas drawing 5.10R01
|
||||
>2 belong 0xF4008005 Kompas drawing 5.9R01.003
|
||||
>2 belong 0x1C008005 Kompas drawing 5.9R01.002
|
||||
>2 belong 0x11008005 Kompas drawing 5.8R01.003
|
||||
|
||||
# CAD: file(1) magic for computer aided design files
|
||||
# Phillip Griffith <phillip dot griffith at gmail dot com>
|
||||
@@ -147,8 +147,13 @@
|
||||
>0x02 byte 0xfe
|
||||
>>0x04 beshort 0x1800 CIT raster CAD
|
||||
|
||||
# 3DS (3d Studio files) Conflicts with diff output 0x3d '='
|
||||
#16 beshort 0x3d3d image/x-3ds
|
||||
# 3DS (3d Studio files)
|
||||
0 leshort 0x4d4d
|
||||
>6 leshort 0x2
|
||||
>>8 lelong 0xa
|
||||
>>>16 leshort 0x3d3d 3D Studio model
|
||||
!:mime image/x-3ds
|
||||
!:extension 3ds
|
||||
|
||||
# MegaCAD 2D/3D drawing (.prt)
|
||||
# http://megacad.de/
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: cafebabe,v 1.20 2015/05/29 14:21:58 christos Exp $
|
||||
# $File: cafebabe,v 1.23 2017/05/25 20:07:23 christos Exp $
|
||||
# Cafe Babes unite!
|
||||
#
|
||||
# Since Java bytecode and Mach-O universal binaries have the same magic number,
|
||||
# the test must be performed in the same "magic" sequence to get both right.
|
||||
# The long at offset 4 in a Mach-O universal binary tells the number of
|
||||
# architectures; the short at offset 4 in a Java bytecode file is the JVM minor
|
||||
# version and the short at offset 6 is the JVM major version. Since there are only
|
||||
# only 18 labeled Mach-O architectures at current, and the first released
|
||||
# version and the short at offset 6 is the JVM major version. Since there are only
|
||||
# only 18 labeled Mach-O architectures at current, and the first released
|
||||
# Java class format was version 43.0, we can safely choose any number
|
||||
# between 18 and 39 to test the number of architectures against
|
||||
# (and use as a hack). Let's not use 18, because the Mach-O people
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
0 name mach-o \b [
|
||||
>0 use mach-o-cpu \b
|
||||
>(8.L) indirect \b:
|
||||
>(8.L) indirect x \b:
|
||||
>0 belong x \b]
|
||||
|
||||
0 belong 0xcafebabe
|
||||
@@ -58,12 +58,15 @@
|
||||
>>4 belong <20 Mach-O universal binary with %d architectures:
|
||||
!:mime application/x-mach-binary
|
||||
>>>8 use mach-o \b
|
||||
>>>28 use mach-o \b
|
||||
>>4 belong 2
|
||||
>>>48 use mach-o \b
|
||||
>>>28 use mach-o \b
|
||||
>>4 belong 3
|
||||
>>>68 use mach-o \b
|
||||
>>>48 use mach-o \b
|
||||
>>4 belong 4
|
||||
>>>68 use mach-o \b
|
||||
>>4 belong 5
|
||||
>>>88 use mach-o \b
|
||||
>>4 belong 6
|
||||
>>>108 use mach-o \b
|
||||
|
||||
### MACH-O END ###
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: claris,v 1.7 2014/06/03 19:17:27 christos Exp $
|
||||
# $File: claris,v 1.8 2016/07/18 19:23:38 christos Exp $
|
||||
# claris: file(1) magic for claris
|
||||
# "H. Nanosecond" <[email protected]>
|
||||
# Claris Works a word processor, etc.
|
||||
@@ -18,7 +18,8 @@
|
||||
|
||||
# Claris works files
|
||||
# .cwk
|
||||
0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document
|
||||
# Moved to Apple AppleWorks document
|
||||
#0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document
|
||||
# .plt
|
||||
0 string \020\341\000\000\010\010 Claris Works palette files .plt
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: clipper,v 1.7 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: clipper,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper.
|
||||
#
|
||||
# XXX - what byte order does the Clipper use?
|
||||
#
|
||||
# XXX - what's the "!" stuff:
|
||||
#
|
||||
# >18 short !074000,000000 C1 R1
|
||||
# >18 short !074000,000000 C1 R1
|
||||
# >18 short !074000,004000 C2 R1
|
||||
# >18 short !074000,010000 C3 R1
|
||||
# >18 short !074000,074000 TEST
|
||||
@@ -15,7 +15,7 @@
|
||||
# I shall assume it's ANDing the field with the first value and
|
||||
# comparing it with the second, and rewrite it as:
|
||||
#
|
||||
# >18 short&074000 000000 C1 R1
|
||||
# >18 short&074000 000000 C1 R1
|
||||
# >18 short&074000 004000 C2 R1
|
||||
# >18 short&074000 010000 C3 R1
|
||||
# >18 short&074000 074000 TEST
|
||||
@@ -37,7 +37,7 @@
|
||||
>12 long >0 not stripped
|
||||
>22 short >0 - version %d
|
||||
0 short 0577 CLIPPER COFF executable
|
||||
>18 short&074000 000000 C1 R1
|
||||
>18 short&074000 000000 C1 R1
|
||||
>18 short&074000 004000 C2 R1
|
||||
>18 short&074000 010000 C3 R1
|
||||
>18 short&074000 074000 TEST
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: coff,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# coff: file(1) magic for Common Object Files not specific to known cpu types or manufactures
|
||||
#
|
||||
# COFF
|
||||
#
|
||||
# by Joerg Jenderek at Oct 2015
|
||||
# https://en.wikipedia.org/wiki/COFF
|
||||
# https://de.wikipedia.org/wiki/Common_Object_File_Format
|
||||
# http://www.delorie.com/djgpp/doc/coff/filhdr.html
|
||||
|
||||
# display name+variables+flags of Common Object Files Format (32bit)
|
||||
# Maybe used also in adi,att3b,clipper,hitachi-sh,hp,ibm6000,intel,
|
||||
# mips,motorola,msdos,osf1,sharc,varied.out,vax
|
||||
0 name display-coff
|
||||
# test for unused flag bits (0x8000,0x0800,0x0400,0x0200,x0080) in f_flags
|
||||
>18 uleshort&0x8E80 0
|
||||
>>0 clear x
|
||||
# f_magic - magic number
|
||||
# DJGPP, 80386 COFF executable, MS Windows COFF Intel 80386 object file (./intel)
|
||||
>>0 uleshort 0x014C Intel 80386
|
||||
# Hitachi SH big-endian COFF (./hitachi-sh)
|
||||
>>0 uleshort 0x0500 Hitachi SH big-endian
|
||||
# Hitachi SH little-endian COFF (./hitachi-sh)
|
||||
>>0 uleshort 0x0550 Hitachi SH little-endian
|
||||
# executable (RISC System/6000 V3.1) or obj module (./ibm6000)
|
||||
#>>0 uleshort 0x01DF
|
||||
# TODO for other COFFs
|
||||
#>>0 uleshort 0xABCD COFF_TEMPLATE
|
||||
>>0 default x
|
||||
>>>0 uleshort x type 0x%04x
|
||||
>>0 uleshort x COFF
|
||||
# F_EXEC flag bit
|
||||
>>18 leshort ^0x0002 object file
|
||||
#!:mime application/x-coff
|
||||
#!:ext cof/o/obj/lib
|
||||
>>18 leshort &0x0002 executable
|
||||
#!:mime application/x-coffexec
|
||||
# F_RELFLG flag bit,static object
|
||||
>>18 leshort &0x0001 \b, no relocation info
|
||||
# F_LNNO flag bit
|
||||
>>18 leshort &0x0004 \b, no line number info
|
||||
# F_LSYMS flag bit
|
||||
>>18 leshort &0x0008 \b, stripped
|
||||
>>18 leshort ^0x0008 \b, not stripped
|
||||
# flags in other COFF versions
|
||||
#0x0010 F_FDPR_PROF
|
||||
#0x0020 F_FDPR_OPTI
|
||||
#0x0040 F_DSA
|
||||
# F_AR32WR flag bit
|
||||
#>>>18 leshort &0x0100 \b, 32 bit little endian
|
||||
#0x1000 F_DYNLOAD
|
||||
#0x2000 F_SHROBJ
|
||||
#0x4000 F_LOADONLY
|
||||
# f_nscns - number of sections
|
||||
>>2 uleshort <2 \b, %d section
|
||||
>>2 uleshort >1 \b, %d sections
|
||||
# f_timdat - file time & date stamp only for little endian
|
||||
#>>4 date x \b, %s
|
||||
# f_symptr - symbol table pointer, only for not stripped
|
||||
>>8 ulelong >0 \b, symbol offset=0x%x
|
||||
# f_nsyms - number of symbols, only for not stripped
|
||||
>>12 ulelong >0 \b, %d symbols
|
||||
# f_opthdr - optional header size
|
||||
>>16 uleshort >0 \b, optional header size %d
|
||||
# at offset 20 can be optional header, extra bytes FILHSZ-20 because
|
||||
# do not rely on sizeof(FILHDR) to give the correct size for header.
|
||||
# or first section header
|
||||
# additional variables for other COFF files
|
||||
# >20 beshort 0407 (impure)
|
||||
# >20 beshort 0410 (pure)
|
||||
# >20 beshort 0413 (demand paged)
|
||||
# >20 beshort 0421 (standalone)
|
||||
# >22 leshort >0 - version %d
|
||||
# >168 string .lowmem Apple toolbox
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: commands,v 1.52 2015/06/04 19:16:55 christos Exp $
|
||||
# $File: commands,v 1.59 2017/08/14 07:40:38 christos Exp $
|
||||
# commands: file(1) magic for various shells and interpreters
|
||||
#
|
||||
#0 string/w : shell archive or script for antique kernel text
|
||||
@@ -56,7 +56,7 @@
|
||||
!:mime text/x-awk
|
||||
0 string/wt #!\ /usr/bin/awk awk script text executable
|
||||
!:mime text/x-awk
|
||||
0 regex/4096 =^\\s{0,100}BEGIN\\s{0,100}[{] awk or perl script text
|
||||
0 regex/4096 =^[\040\t\f\r\n]{0,100}BEGIN[\040\t\f\r\n]{0,100}[{] awk or perl script text
|
||||
|
||||
# AT&T Bell Labs' Plan 9 shell
|
||||
0 string/wt #!\ /bin/rc Plan 9 rc shell script text executable
|
||||
@@ -84,7 +84,7 @@
|
||||
# PHP scripts
|
||||
# Ulf Harnhammar <[email protected]>
|
||||
0 search/1/c =<?php PHP script text
|
||||
!:strength + 10
|
||||
!:strength + 30
|
||||
!:mime text/x-php
|
||||
0 search/1 =<?\n PHP script text
|
||||
!:mime text/x-php
|
||||
@@ -98,8 +98,10 @@
|
||||
!:mime text/x-php
|
||||
# Smarty compiled template, http://www.smarty.net/
|
||||
# Elan Ruusamae <[email protected]>
|
||||
0 string =<?php\ /*\ Smarty\ version Smarty compiled template
|
||||
>24 regex [0-9.]+ \b, version %s
|
||||
0 string =<?php
|
||||
>5 regex [\ \n]
|
||||
>>6 string /*\ Smarty\ version Smarty compiled template
|
||||
>>>24 regex [0-9.]+ \b, version %s
|
||||
!:mime text/x-php
|
||||
|
||||
0 string Zend\x00 PHP script Zend Optimizer data
|
||||
@@ -110,3 +112,7 @@
|
||||
# URL: http://packages.debian.org/pdmenu
|
||||
# From: Edward Betts <[email protected]>
|
||||
0 string #!/usr/bin/pdmenu Pdmenu configuration file text
|
||||
|
||||
# From Danny Weldon
|
||||
0 string \x0b\x13\x08\x00
|
||||
>0x04 uleshort <4 ksh byte-code version %d
|
||||
@@ -1,5 +1,5 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: compress,v 1.64 2015/07/27 15:41:09 christos Exp $
|
||||
# $File: compress,v 1.68 2017/05/25 20:07:23 christos Exp $
|
||||
# compress: file(1) magic for pure-compression formats (no archives)
|
||||
#
|
||||
# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
|
||||
@@ -188,6 +188,7 @@
|
||||
>6 byte x version %d
|
||||
>7 byte x \b.%d
|
||||
!:mime application/x-7z-compressed
|
||||
!:ext 7z/cb7
|
||||
|
||||
# Type: LZMA
|
||||
0 lelong&0xffffff =0x5d
|
||||
@@ -219,6 +220,56 @@
|
||||
0 lelong 0x184c2102 LZ4 compressed data (v0.1-v0.9)
|
||||
!:mime application/x-lz4
|
||||
|
||||
# Zstandard/LZ4 skippable frames
|
||||
# https://github.com/facebook/zstd/blob/dev/zstd_compression_format.md
|
||||
0 lelong&0xFFFFFFF0 0x184D2A50
|
||||
>(4.l+8) indirect x
|
||||
|
||||
# Zstandard Dictionary ID subroutine
|
||||
0 name zstd-dictionary-id
|
||||
# Single Segment = True
|
||||
>0 byte &0x20 \b, Dictionary ID:
|
||||
>>0 byte&0x03 0 None
|
||||
>>0 byte&0x03 1
|
||||
>>>1 byte x %u
|
||||
>>0 byte&0x03 2
|
||||
>>>1 leshort x %u
|
||||
>>0 byte&0x03 3
|
||||
>>>1 lelong x %u
|
||||
# Single Segment = False
|
||||
>0 byte ^0x20 \b, Dictionary ID:
|
||||
>>0 byte&0x03 0 None
|
||||
>>0 byte&0x03 1
|
||||
>>>2 byte x %u
|
||||
>>0 byte&0x03 2
|
||||
>>>2 leshort x %u
|
||||
>>0 byte&0x03 3
|
||||
>>>2 lelong x %u
|
||||
|
||||
# Zstandard compressed data
|
||||
# https://github.com/facebook/zstd/blob/dev/zstd_compression_format.md
|
||||
0 lelong 0xFD2FB522 Zstandard compressed data (v0.2)
|
||||
!:mime application/x-zstd
|
||||
0 lelong 0xFD2FB523 Zstandard compressed data (v0.3)
|
||||
!:mime application/x-zstd
|
||||
0 lelong 0xFD2FB524 Zstandard compressed data (v0.4)
|
||||
!:mime application/x-zstd
|
||||
0 lelong 0xFD2FB525 Zstandard compressed data (v0.5)
|
||||
!:mime application/x-zstd
|
||||
0 lelong 0xFD2FB526 Zstandard compressed data (v0.6)
|
||||
!:mime application/x-zstd
|
||||
0 lelong 0xFD2FB527 Zstandard compressed data (v0.7)
|
||||
!:mime application/x-zstd
|
||||
>4 use zstd-dictionary-id
|
||||
0 lelong 0xFD2FB528 Zstandard compressed data (v0.8+)
|
||||
!:mime application/x-zstd
|
||||
>4 use zstd-dictionary-id
|
||||
|
||||
# https://github.com/facebook/zstd/blob/dev/zstd_compression_format.md
|
||||
0 lelong 0xEC30A437 Zstandard dictionary
|
||||
!:mime application/x-zstd-dictionary
|
||||
>4 lelong x (ID %u)
|
||||
|
||||
# AFX compressed files (Wolfram Kleff)
|
||||
2 string -afx- AFX compressed file data
|
||||
|
||||
@@ -259,7 +310,7 @@
|
||||
|
||||
# Zlib https://www.ietf.org/rfc/rfc6713.txt
|
||||
0 string/b x
|
||||
>0 beshort%31 =0
|
||||
>0 beshort%31 =0
|
||||
>>0 byte&0xf =8
|
||||
>>>0 byte&0x80 =0 zlib compressed data
|
||||
!:mime application/zlib
|
||||
@@ -1,53 +1,159 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: console,v 1.20 2015/03/15 23:21:42 christos Exp $
|
||||
# $File: console,v 1.32 2017/08/13 00:21:47 christos Exp $
|
||||
# Console game magic
|
||||
# Toby Deshane <[email protected]>
|
||||
# ines: file(1) magic for Marat's iNES Nintendo Entertainment System
|
||||
# ROM dump format
|
||||
|
||||
0 string NES\032 iNES ROM dump,
|
||||
>4 byte x %dx16k PRG
|
||||
>5 byte x \b, %dx8k CHR
|
||||
>6 byte&0x01 =0x1 \b, [Vert.]
|
||||
>6 byte&0x01 =0x0 \b, [Horiz.]
|
||||
>6 byte&0x02 =0x2 \b, [SRAM]
|
||||
>6 byte&0x04 =0x4 \b, [Trainer]
|
||||
>6 byte&0x04 =0x8 \b, [4-Scr]
|
||||
# ines: file(1) magic for Marat's iNES Nintendo Entertainment System ROM dump format
|
||||
# Updated by David Korth <[email protected]>
|
||||
# References:
|
||||
# - http://wiki.nesdev.com/w/index.php/INES
|
||||
# - http://wiki.nesdev.com/w/index.php/NES_2.0
|
||||
|
||||
# Common header for iNES, NES 2.0, and Wii U iNES.
|
||||
0 name nes-rom-image-ines
|
||||
>7 byte&0x0C =0x8 (NES 2.0)
|
||||
>4 byte x \b: %ux16k PRG
|
||||
>5 byte x \b, %ux8k CHR
|
||||
>6 byte&0x08 =0x8 [4-Scr]
|
||||
>6 byte&0x09 =0x0 [H-mirror]
|
||||
>6 byte&0x09 =0x1 [V-mirror]
|
||||
>6 byte&0x02 =0x2 [SRAM]
|
||||
>6 byte&0x04 =0x4 [Trainer]
|
||||
>7 byte&0x03 =0x2 [PC10]
|
||||
>7 byte&0x03 =0x1 [VS]
|
||||
>>7 byte&0x0C =0x8
|
||||
# NES 2.0: VS PPU
|
||||
>>>13 byte&0x0F =0x0 \b, RP2C03B
|
||||
>>>13 byte&0x0F =0x1 \b, RP2C03G
|
||||
>>>13 byte&0x0F =0x2 \b, RP2C04-0001
|
||||
>>>13 byte&0x0F =0x3 \b, RP2C04-0002
|
||||
>>>13 byte&0x0F =0x4 \b, RP2C04-0003
|
||||
>>>13 byte&0x0F =0x5 \b, RP2C04-0004
|
||||
>>>13 byte&0x0F =0x6 \b, RP2C03B
|
||||
>>>13 byte&0x0F =0x7 \b, RP2C03C
|
||||
>>>13 byte&0x0F =0x8 \b, RP2C05-01
|
||||
>>>13 byte&0x0F =0x9 \b, RP2C05-02
|
||||
>>>13 byte&0x0F =0xA \b, RP2C05-03
|
||||
>>>13 byte&0x0F =0xB \b, RP2C05-04
|
||||
>>>13 byte&0x0F =0xC \b, RP2C05-05
|
||||
# TODO: VS protection hardware?
|
||||
>>7 byte x \b]
|
||||
# NES 2.0-specific flags.
|
||||
>7 byte&0x0C =0x8
|
||||
>>12 byte&0x03 =0x0 [NTSC]
|
||||
>>12 byte&0x03 =0x1 [PAL]
|
||||
>>12 byte&0x02 =0x2 [NTSC+PAL]
|
||||
|
||||
# Standard iNES ROM header.
|
||||
0 string NES\x1A NES ROM image (iNES)
|
||||
>0 use nes-rom-image-ines
|
||||
|
||||
# Wii U Virtual Console iNES ROM header.
|
||||
0 belong 0x4E455300 NES ROM image (Wii U Virtual Console)
|
||||
>0 use nes-rom-image-ines
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format
|
||||
# unif: file(1) magic for UNIF-format Nintendo Entertainment System ROM images
|
||||
# Reference: http://wiki.nesdev.com/w/index.php/UNIF
|
||||
# From: David Korth <[email protected]>
|
||||
#
|
||||
0x104 belong 0xCEED6666 Gameboy ROM:
|
||||
>0x134 string >\0 "%.16s"
|
||||
>0x146 byte 0x03 \b,[SGB]
|
||||
>0x147 byte 0x00 \b, [ROM ONLY]
|
||||
>0x147 byte 0x01 \b, [ROM+MBC1]
|
||||
>0x147 byte 0x02 \b, [ROM+MBC1+RAM]
|
||||
>0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT]
|
||||
>0x147 byte 0x05 \b, [ROM+MBC2]
|
||||
>0x147 byte 0x06 \b, [ROM+MBC2+BATTERY]
|
||||
>0x147 byte 0x08 \b, [ROM+RAM]
|
||||
>0x147 byte 0x09 \b, [ROM+RAM+BATTERY]
|
||||
>0x147 byte 0x0B \b, [ROM+MMM01]
|
||||
>0x147 byte 0x0C \b, [ROM+MMM01+SRAM]
|
||||
>0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT]
|
||||
>0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT]
|
||||
>0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT]
|
||||
>0x147 byte 0x11 \b, [ROM+MBC3]
|
||||
>0x147 byte 0x12 \b, [ROM+MBC3+RAM]
|
||||
>0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT]
|
||||
>0x147 byte 0x19 \b, [ROM+MBC5]
|
||||
>0x147 byte 0x1A \b, [ROM+MBC5+RAM]
|
||||
>0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT]
|
||||
>0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE]
|
||||
>0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM]
|
||||
>0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
|
||||
>0x147 byte 0x1F \b, [Pocket Camera]
|
||||
>0x147 byte 0xFD \b, [Bandai TAMA5]
|
||||
>0x147 byte 0xFE \b, [Hudson HuC-3]
|
||||
>0x147 byte 0xFF \b, [Hudson HuC-1]
|
||||
# NOTE: The UNIF format uses chunks instead of a fixed header,
|
||||
# so most of the data isn't easily parseable.
|
||||
#
|
||||
0 string UNIF
|
||||
>4 lelong <16 NES ROM image (UNIF v%d format)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# fds: file(1) magic for Famciom Disk System disk images
|
||||
# Reference: http://wiki.nesdev.com/w/index.php/Family_Computer_Disk_System#.FDS_format
|
||||
# From: David Korth <[email protected]>
|
||||
# TODO: Check "Disk info block" and get info from that in addition to the optional header.
|
||||
|
||||
# Disk info block. (block 1)
|
||||
0 name nintendo-fds-disk-info-block
|
||||
>23 byte !1 FMC-
|
||||
>23 byte 1 FSC-
|
||||
>16 string x \b%.3s
|
||||
>15 byte x \b, mfr %02X
|
||||
>20 byte x (Rev.%02u)
|
||||
|
||||
# Headered version.
|
||||
0 string FDS\x1A
|
||||
>0x11 string *NINTENDO-HVC* Famicom Disk System disk image:
|
||||
>>0x10 use nintendo-fds-disk-info-block
|
||||
>4 byte 1 (%u side)
|
||||
>4 byte !1 (%u sides)
|
||||
|
||||
# Unheadered version.
|
||||
1 string *NINTENDO-HVC* Famicom Disk System disk image:
|
||||
>0 use nintendo-fds-disk-info-block
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# tnes: file(1) magic for TNES-format Nintendo Entertainment System ROM images
|
||||
# Used by Nintendo 3DS NES Virtual Console games.
|
||||
# From: David Korth <[email protected]>
|
||||
#
|
||||
0 string TNES NES ROM image (Nintendo 3DS Virtual Console)
|
||||
>4 byte 100 \b: FDS,
|
||||
>>0x2010 use nintendo-fds-disk-info-block
|
||||
>4 byte !100 \b: TNES mapper %u
|
||||
>>5 byte x \b, %ux8k PRG
|
||||
>>6 byte x \b, %ux8k CHR
|
||||
>>7 byte&0x08 =1 [WRAM]
|
||||
>>8 byte&0x09 =1 [H-mirror]
|
||||
>>8 byte&0x09 =2 [V-mirror]
|
||||
>>8 byte&0x02 =3 [VRAM]
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format
|
||||
# Reference: http://gbdev.gg8.se/wiki/articles/The_Cartridge_Header
|
||||
#
|
||||
0x104 bequad 0xCEED6666CC0D000B Game Boy ROM image
|
||||
>0x143 byte&0x80 0x80
|
||||
>>0x134 string >\0 \b: "%.15s"
|
||||
>0x143 byte&0x80 !0x80
|
||||
>>0x134 string >\0 \b: "%.16s"
|
||||
>0x14c byte x (Rev.%02u)
|
||||
|
||||
# Machine type. (SGB, CGB, SGB+CGB)
|
||||
>0x14b byte 0x33
|
||||
>>0x146 byte 0x03
|
||||
>>>0x143 byte&0x80 0x80 [SGB+CGB]
|
||||
>>>0x143 byte&0x80 !0x80 [SGB]
|
||||
>>0x146 byte !0x03
|
||||
>>>0x143 byte&0xC0 0x80 [CGB]
|
||||
>>>0x143 byte&0xC0 0xC0 [CGB ONLY]
|
||||
|
||||
# Mapper.
|
||||
>0x147 byte 0x00 [ROM ONLY]
|
||||
>0x147 byte 0x01 [MBC1]
|
||||
>0x147 byte 0x02 [MBC1+RAM]
|
||||
>0x147 byte 0x03 [MBC1+RAM+BATT]
|
||||
>0x147 byte 0x05 [MBC2]
|
||||
>0x147 byte 0x06 [MBC2+BATTERY]
|
||||
>0x147 byte 0x08 [ROM+RAM]
|
||||
>0x147 byte 0x09 [ROM+RAM+BATTERY]
|
||||
>0x147 byte 0x0B [MMM01]
|
||||
>0x147 byte 0x0C [MMM01+SRAM]
|
||||
>0x147 byte 0x0D [MMM01+SRAM+BATT]
|
||||
>0x147 byte 0x0F [MBC3+TIMER+BATT]
|
||||
>0x147 byte 0x10 [MBC3+TIMER+RAM+BATT]
|
||||
>0x147 byte 0x11 [MBC3]
|
||||
>0x147 byte 0x12 [MBC3+RAM]
|
||||
>0x147 byte 0x13 [MBC3+RAM+BATT]
|
||||
>0x147 byte 0x19 [MBC5]
|
||||
>0x147 byte 0x1A [MBC5+RAM]
|
||||
>0x147 byte 0x1B [MBC5+RAM+BATT]
|
||||
>0x147 byte 0x1C [MBC5+RUMBLE]
|
||||
>0x147 byte 0x1D [MBC5+RUMBLE+SRAM]
|
||||
>0x147 byte 0x1E [MBC5+RUMBLE+SRAM+BATT]
|
||||
>0x147 byte 0xFC [Pocket Camera]
|
||||
>0x147 byte 0xFD [Bandai TAMA5]
|
||||
>0x147 byte 0xFE [Hudson HuC-3]
|
||||
>0x147 byte 0xFF [Hudson HuC-1]
|
||||
|
||||
# ROM size.
|
||||
>0x148 byte 0 \b, ROM: 256Kbit
|
||||
>0x148 byte 1 \b, ROM: 512Kbit
|
||||
>0x148 byte 2 \b, ROM: 1Mbit
|
||||
@@ -55,58 +161,198 @@
|
||||
>0x148 byte 4 \b, ROM: 4Mbit
|
||||
>0x148 byte 5 \b, ROM: 8Mbit
|
||||
>0x148 byte 6 \b, ROM: 16Mbit
|
||||
>0x148 byte 7 \b, ROM: 32Mbit
|
||||
>0x148 byte 0x52 \b, ROM: 9Mbit
|
||||
>0x148 byte 0x53 \b, ROM: 10Mbit
|
||||
>0x148 byte 0x54 \b, ROM: 12Mbit
|
||||
|
||||
# RAM size.
|
||||
>0x149 byte 1 \b, RAM: 16Kbit
|
||||
>0x149 byte 2 \b, RAM: 64Kbit
|
||||
>0x149 byte 3 \b, RAM: 128Kbit
|
||||
>0x149 byte 4 \b, RAM: 1Mbit
|
||||
|
||||
#>0x14e long x \b, CRC: %x
|
||||
>0x149 byte 5 \b, RAM: 512Kbit
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format
|
||||
# genesis: file(1) magic for various Sega Mega Drive / Genesis ROM image and disc formats
|
||||
# Updated by David Korth <[email protected]>
|
||||
# References:
|
||||
# - http://www.retrodev.com/segacd.html
|
||||
# - http://devster.monkeeh.com/sega/32xguide1.txt
|
||||
#
|
||||
0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump
|
||||
>0x120 string >\0 Name: "%.16s"
|
||||
>0x110 string >\0 %.16s
|
||||
>0x1B0 string RA with SRAM
|
||||
|
||||
# Common Sega Mega Drive header format.
|
||||
# FIXME: Name fields are 48 bytes, but have spaces for padding instead of 00s.
|
||||
0 name sega-mega-drive-header
|
||||
# ROM title. (Use domestic if present; if not, use international.)
|
||||
>0x120 byte >0x20
|
||||
>>0x120 string >\0 \b: "%.16s"
|
||||
>0x120 byte <0x21
|
||||
>>0x150 string >\0 \b: "%.16s"
|
||||
# Other information.
|
||||
>0x180 string >\0 (%.14s
|
||||
>>0x110 string >\0 \b, %.16s
|
||||
>0x180 byte 0
|
||||
>>0x110 string >\0 (%.16s
|
||||
>0 byte x \b)
|
||||
|
||||
# TODO: Check for 32X CD?
|
||||
# Sega Mega CD disc images: 2048-byte sectors.
|
||||
0 string SEGADISCSYSTEM\ \ Sega Mega CD disc image
|
||||
>0 use sega-mega-drive-header
|
||||
>0 byte x \b, 2048-byte sectors
|
||||
0 string SEGABOOTDISC\ \ \ \ Sega Mega CD disc image
|
||||
>0 use sega-mega-drive-header
|
||||
>0 byte x \b, 2048-byte sectors
|
||||
# Sega Mega CD disc images: 2352-byte sectors.
|
||||
0x10 string SEGADISCSYSTEM\ \ Sega Mega CD disc image
|
||||
>0x10 use sega-mega-drive-header
|
||||
>0 byte x \b, 2352-byte sectors
|
||||
0x10 string SEGABOOTDISC\ \ \ \ Sega Mega CD disc image
|
||||
>0x10 use sega-mega-drive-header
|
||||
>0 byte x \b, 2352-byte sectors
|
||||
|
||||
# Sega Mega Drive, 32X, Pico, and Mega CD Boot ROM images.
|
||||
0x100 string SEGA
|
||||
>0x3C0 bequad 0x4D41525320434845 Sega 32X ROM image
|
||||
>>0 use sega-mega-drive-header
|
||||
>0x3C0 bequad !0x4D41525320434845
|
||||
>>0x105 belong 0x5049434F Sega Pico ROM image
|
||||
>>>0 use sega-mega-drive-header
|
||||
>>0x105 belong !0x5049434F
|
||||
>>>0x180 beshort 0x4252 Sega Mega CD Boot ROM image
|
||||
>>>0x180 beshort !0x4252 Sega Mega Drive / Genesis ROM image
|
||||
>>>0 use sega-mega-drive-header
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# genesis: file(1) magic for the Super MegaDrive ROM dump format
|
||||
# genesis: file(1) magic for the Super MegaDrive ROM dump format
|
||||
#
|
||||
0x280 string EAGN Super MagicDrive ROM dump
|
||||
>0 byte x %dx16k blocks
|
||||
>2 byte 0 \b, last in series or standalone
|
||||
>2 byte >0 \b, split ROM
|
||||
>8 byte 0xAA
|
||||
>9 byte 0xBB
|
||||
|
||||
# NOTE: Due to interleaving, we can't display anything
|
||||
# other than the copier header information.
|
||||
0 name sega-genesis-smd-header
|
||||
>0 byte x %dx16k blocks
|
||||
>2 byte 0 \b, last in series or standalone
|
||||
>2 byte >0 \b, split ROM
|
||||
|
||||
# "Sega Genesis" header.
|
||||
0x280 string EAGN
|
||||
>8 beshort 0xAABB Sega Mega Drive / Genesis ROM image (SMD format):
|
||||
>>0 use sega-genesis-smd-header
|
||||
|
||||
# "Sega Mega Drive" header.
|
||||
0x280 string EAMG
|
||||
>8 beshort 0xAABB Sega Mega Drive / Genesis ROM image (SMD format):
|
||||
>>0 use sega-genesis-smd-header
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# genesis: file(1) alternate magic for the Super MegaDrive ROM dump format
|
||||
# smsgg: file(1) magic for Sega Master System and Game Gear ROM images
|
||||
# Detects all Game Gear and export Sega Master System ROM images,
|
||||
# and some Japanese Sega Master System ROM images.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://www.smspower.org/Development/ROMHeader
|
||||
#
|
||||
0x280 string EAMG Super MagicDrive ROM dump
|
||||
>0 byte x %dx16k blocks
|
||||
>2 byte x \b, last in series or standalone
|
||||
>8 byte 0xAA
|
||||
>9 byte 0xBB
|
||||
|
||||
# General SMS header rule.
|
||||
# The SMS boot ROM checks the header at three locations.
|
||||
0 name sega-master-system-rom-header
|
||||
# Machine type.
|
||||
>0x0F byte&0xF0 0x30 Sega Master System
|
||||
>0x0F byte&0xF0 0x40 Sega Master System
|
||||
>0x0F byte&0xF0 0x50 Sega Game Gear
|
||||
>0x0F byte&0xF0 0x60 Sega Game Gear
|
||||
>0x0F byte&0xF0 0x70 Sega Game Gear
|
||||
>0x0F byte&0xF0 <0x30 Sega Master System / Game Gear
|
||||
>0x0F byte&0xF0 >0x70 Sega Master System / Game Gear
|
||||
>0 byte x ROM image:
|
||||
# Product code.
|
||||
>0x0E byte&0xF0 0x10 1
|
||||
>0x0E byte&0xF0 0x20 2
|
||||
>0x0E byte&0xF0 0x30 3
|
||||
>0x0E byte&0xF0 0x40 4
|
||||
>0x0E byte&0xF0 0x50 5
|
||||
>0x0E byte&0xF0 0x60 6
|
||||
>0x0E byte&0xF0 0x70 7
|
||||
>0x0E byte&0xF0 0x80 8
|
||||
>0x0E byte&0xF0 0x90 9
|
||||
>0x0E byte&0xF0 0xA0 10
|
||||
>0x0E byte&0xF0 0xB0 11
|
||||
>0x0E byte&0xF0 0xC0 12
|
||||
>0x0E byte&0xF0 0xD0 13
|
||||
>0x0E byte&0xF0 0xE0 14
|
||||
>0x0E byte&0xF0 0xF0 15
|
||||
# If the product code is 5 digits, we'll need to backspace here.
|
||||
>0x0E byte&0xF0 !0
|
||||
>>0x0C leshort x \b%04x
|
||||
>0x0E byte&0xF0 0
|
||||
>>0x0C leshort x %04x
|
||||
# Revision.
|
||||
>0x0E byte&0x0F x (Rev.%02d)
|
||||
# ROM size. (Used for the boot ROM checksum routine.)
|
||||
>0x0F byte&0x0F 0x0A (8 KB)
|
||||
>0x0F byte&0x0F 0x0B (16 KB)
|
||||
>0x0F byte&0x0F 0x0C (32 KB)
|
||||
>0x0F byte&0x0F 0x0D (48 KB)
|
||||
>0x0F byte&0x0F 0x0E (64 KB)
|
||||
>0x0F byte&0x0F 0x0F (128 KB)
|
||||
>0x0F byte&0x0F 0x00 (256 KB)
|
||||
>0x0F byte&0x0F 0x01 (512 KB)
|
||||
>0x0F byte&0x0F 0x02 (1 MB)
|
||||
|
||||
# SMS/GG header locations.
|
||||
0x7FF0 string TMR\ SEGA
|
||||
>0x7FF0 use sega-master-system-rom-header
|
||||
0x3FF0 string TMR\ SEGA
|
||||
>0x3FF0 use sega-master-system-rom-header
|
||||
0x1FF0 string TMR\ SEGA
|
||||
>0x1FF0 use sega-master-system-rom-header
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps
|
||||
# saturn: file(1) magic for the Sega Saturn disc image format.
|
||||
# From: David Korth <[email protected]>
|
||||
#
|
||||
# Does not detect all images. Very preliminary guesswork. Need more data
|
||||
# on format.
|
||||
|
||||
# Common Sega Saturn disc header format.
|
||||
# NOTE: Title is 112 bytes, but we're only showing 32 due to space padding.
|
||||
# TODO: Release date, device information, region code, others?
|
||||
0 name sega-saturn-disc-header
|
||||
>0x60 string >\0 \b: "%.32s"
|
||||
>0x20 string >\0 (%.10s
|
||||
>>0x2A string >\0 \b, %.6s)
|
||||
>>0x2A byte 0 \b)
|
||||
|
||||
# 2048-byte sector version.
|
||||
0 string SEGA\ SEGASATURN\ Sega Saturn disc image
|
||||
>0 use sega-saturn-disc-header
|
||||
>0 byte x (2048-byte sectors)
|
||||
# 2352-byte sector version.
|
||||
0x10 string SEGA\ SEGASATURN\ Sega Saturn disc image
|
||||
>0x10 use sega-saturn-disc-header
|
||||
>0 byte x (2352-byte sectors)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# dreamcast: file(1) magic for the Sega Dreamcast disc image format.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://mc.pp.se/dc/ip0000.bin.html
|
||||
#
|
||||
# FIXME: need a little more info...;P
|
||||
#
|
||||
#0 byte 0xF3
|
||||
#>1 byte 0xED Sega Master System/Game Gear ROM dump
|
||||
#>1 byte 0x31 Sega Master System/Game Gear ROM dump
|
||||
#>1 byte 0xDB Sega Master System/Game Gear ROM dump
|
||||
#>1 byte 0xAF Sega Master System/Game Gear ROM dump
|
||||
#>1 byte 0xC3 Sega Master System/Game Gear ROM dump
|
||||
|
||||
# Common Sega Dreamcast disc header format.
|
||||
# NOTE: Title is 128 bytes, but we're only showing 32 due to space padding.
|
||||
# TODO: Release date, device information, region code, others?
|
||||
0 name sega-dreamcast-disc-header
|
||||
>0x80 string >\0 \b: "%.32s"
|
||||
>0x40 string >\0 (%.10s
|
||||
>>0x4A string >\0 \b, %.6s)
|
||||
>>0x4A byte 0 \b)
|
||||
|
||||
# 2048-byte sector version.
|
||||
0 string SEGA\ SEGAKATANA\ Sega Dreamcast disc image
|
||||
>0 use sega-dreamcast-disc-header
|
||||
>0 byte x (2048-byte sectors)
|
||||
# 2352-byte sector version.
|
||||
0x10 string SEGA\ SEGAKATANA\ Sega Dreamcast disc image
|
||||
>0x10 use sega-dreamcast-disc-header
|
||||
>0 byte x (2352-byte sectors)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format
|
||||
@@ -115,27 +361,114 @@
|
||||
0 string LCDi Dream Animator file
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# v64: file(1) uncertain magic for the V64 format N64 ROM dumps
|
||||
# z64: file(1) magic for the Z64 format N64 ROM dumps
|
||||
# Reference: http://forum.pj64-emu.com/showthread.php?t=2239
|
||||
# From: David Korth <[email protected]>
|
||||
#
|
||||
0 belong 0x37804012 V64 Nintendo 64 ROM dump
|
||||
0 bequad 0x803712400000000F Nintendo 64 ROM image
|
||||
>0x20 string >\0 \b: "%.20s"
|
||||
>0x3B string x (%.4s
|
||||
>0x3F byte x \b, Rev.%02u)
|
||||
|
||||
# From: "Nelson A. de Oliveira" <[email protected]>
|
||||
# Nintendo .nds
|
||||
192 string \044\377\256Qi\232 Nintendo DS Game ROM Image
|
||||
# Nintendo .gba
|
||||
0 string \056\000\000\352$\377\256Qi Nintendo Game Boy Advance ROM Image
|
||||
#------------------------------------------------------------------------------
|
||||
# v64: file(1) magic for the V64 format N64 ROM dumps
|
||||
# Same as z64 format, but with 16-bit byteswapping.
|
||||
#
|
||||
0 bequad 0x3780401200000F00 Nintendo 64 ROM image (V64)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# n64-swap2: file(1) magic for the swap2 format N64 ROM dumps
|
||||
# Same as z64 format, but with swapped 16-bit words.
|
||||
#
|
||||
0 bequad 0x12408037000F0000 Nintendo 64 ROM image (wordswapped)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# n64-le32: file(1) magic for the 32-bit byteswapped format N64 ROM dumps
|
||||
# Same as z64 format, but with 32-bit byteswapping.
|
||||
#
|
||||
0 bequad 0x401237800F000000 Nintendo 64 ROM image (32-bit byteswapped)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# gba: file(1) magic for the Nintendo Game Boy Advance raw ROM format
|
||||
# Reference: http://problemkaputt.de/gbatek.htm#gbacartridgeheader
|
||||
#
|
||||
# Original version from: "Nelson A. de Oliveira" <[email protected]>
|
||||
# Updated version from: David Korth <[email protected]>
|
||||
#
|
||||
4 bequad 0x24FFAE51699AA221 Game Boy Advance ROM image
|
||||
>0xA0 string >\0 \b: "%.12s"
|
||||
>0xAC string x (%.6s
|
||||
>0xBC byte x \b, Rev.%02u)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# nds: file(1) magic for the Nintendo DS(i) raw ROM format
|
||||
# Reference: http://problemkaputt.de/gbatek.htm#dscartridgeheader
|
||||
#
|
||||
# Original version from: "Nelson A. de Oliveira" <[email protected]>
|
||||
# Updated version from: David Korth <[email protected]>
|
||||
#
|
||||
0xC0 bequad 0x24FFAE51699AA221 Nintendo DS ROM image
|
||||
>0x00 string >\0 \b: "%.12s"
|
||||
>0x0C string x (%.6s
|
||||
>0x1E byte x \b, Rev.%02u)
|
||||
>0x12 byte 2 (DSi enhanced)
|
||||
>0x12 byte 3 (DSi only)
|
||||
# Secure Area check.
|
||||
>0x20 lelong <0x4000 (homebrew)
|
||||
>0x20 lelong >0x3FFF
|
||||
>>0x4000 lequad 0x0000000000000000 (multiboot)
|
||||
>>0x4000 lequad !0x0000000000000000
|
||||
>>>0x4000 lequad 0xE7FFDEFFE7FFDEFF (decrypted)
|
||||
>>>0x4000 lequad !0xE7FFDEFFE7FFDEFF
|
||||
>>>>0x1000 lequad 0x0000000000000000 (encrypted)
|
||||
>>>>0x1000 lequad !0x0000000000000000 (mask ROM)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# nds_passme: file(1) magic for Nintendo DS ROM images for GBA cartridge boot.
|
||||
# This is also used for loading .nds files using the MSET exploit on 3DS.
|
||||
# Reference: https://github.com/devkitPro/ndstool/blob/master/source/ndscreate.cpp
|
||||
0xC0 bequad 0xC8604FE201708FE2 Nintendo DS Slot-2 ROM image (PassMe)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# ngp: file(1) magic for the Neo Geo Pocket (Color) raw ROM format.
|
||||
# From: David Korth <[email protected]>
|
||||
# References:
|
||||
# - https://neogpc.googlecode.com/svn-history/r10/trunk/src/core/neogpc.cpp
|
||||
# - http://www.devrs.com/ngp/files/ngpctech.txt
|
||||
#
|
||||
0x0A string BY\ SNK\ CORPORATION Neo Geo Pocket
|
||||
>0x23 byte 0x10 Color
|
||||
>0 byte x ROM image
|
||||
>0x24 string >\0 \b: "%.12s"
|
||||
>0x1F byte 0xFF (debug mode enabled)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# msx: file(1) magic for MSX game cartridge dumps
|
||||
# Too simple - MPi
|
||||
#0 beshort 0x4142 MSX game cartridge dump
|
||||
#0 beshort 0x4142 MSX game cartridge dump
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Sony Playstation executables (Adam Sjoegren <[email protected]>) :
|
||||
0 string PS-X\ EXE Sony Playstation executable
|
||||
>16 lelong x PC=0x%08x,
|
||||
>20 lelong !0 GP=0x%08x,
|
||||
>24 lelong !0 .text=[0x%08x,
|
||||
>>28 lelong x \b0x%x],
|
||||
>32 lelong !0 .data=[0x%08x,
|
||||
>>36 lelong x \b0x%x],
|
||||
>40 lelong !0 .bss=[0x%08x,
|
||||
>>44 lelong x \b0x%x],
|
||||
>48 lelong !0 Stack=0x%08x,
|
||||
>48 lelong =0 No Stack!,
|
||||
>52 lelong !0 StackSize=0x%x,
|
||||
#>76 string >\0 (%s)
|
||||
# Area:
|
||||
>113 string x (%s)
|
||||
|
||||
# CPE executables
|
||||
0 string CPE CPE executable
|
||||
>3 byte x (version %d)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Microsoft Xbox executables .xbe (Esa Hyytia <[email protected]>)
|
||||
0 string XBEH XBE, Microsoft Xbox executable
|
||||
@@ -167,7 +500,7 @@
|
||||
|
||||
# Double-check that the image type matches too, 0x8008 conflicts with
|
||||
# 8 character OMF-86 object file headers.
|
||||
0 beshort 0x8008
|
||||
0 beshort 0x8008
|
||||
>6 string BS93 Lynx homebrew cartridge
|
||||
>>2 beshort x \b, RAM start $%04x
|
||||
>6 string LYNX Lynx cartridge
|
||||
@@ -182,7 +515,7 @@
|
||||
# is the offset 12 or the offset 16 correct?
|
||||
# GBS (Game Boy Sound) magic
|
||||
# ftp://ftp.modland.com/pub/documents/format_documentation/\
|
||||
# Gameboy%20Sound%20System%20(.gbs).txt
|
||||
# Gameboy%20Sound%20System%20(.gbs).txt
|
||||
0 string GBS Nintendo Gameboy Music/Audio Data
|
||||
#12 string GameBoy\ Music\ Module Nintendo Gameboy Music Module
|
||||
>16 string >\0 ("%s" by
|
||||
@@ -191,6 +524,10 @@
|
||||
>3 byte x version %d,
|
||||
>4 byte x %d tracks
|
||||
|
||||
# IPS Patch Files from: From: Thomas Klausner <[email protected]>
|
||||
# see http://zerosoft.zophar.net/ips.php
|
||||
0 string PATCH IPS patch file
|
||||
|
||||
# Playstations Patch Files from: From: Thomas Klausner <[email protected]>
|
||||
0 string PPF30 Playstation Patch File version 3.0
|
||||
>5 byte 0 \b, PPF 1.0 patch
|
||||
@@ -218,7 +555,7 @@
|
||||
# SNES9x .smv "movie" file format.
|
||||
0 string SMV\x1A SNES9x input recording
|
||||
>0x4 lelong x \b, version %d
|
||||
# version 4 is latest so far
|
||||
# version 4 is latest so far
|
||||
>0x4 lelong <5
|
||||
>>0x8 ledate x \b, recorded at %s
|
||||
>>0xc lelong >0 \b, rerecorded %d times
|
||||
@@ -272,3 +609,241 @@
|
||||
# From: Sven Hartge <[email protected]>
|
||||
0 string SCVM ScummVM savegame
|
||||
>12 string >\0 "%s"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Nintendo GameCube / Wii file formats.
|
||||
#
|
||||
|
||||
# Type: Nintendo GameCube/Wii common disc header data.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://wiibrew.org/wiki/Wii_Disc
|
||||
0 name nintendo-gcn-disc-common
|
||||
>0x20 string x "%.64s"
|
||||
>0x00 string x (%.6s
|
||||
>0x06 byte >0
|
||||
>>0x06 byte 1 \b, Disc 2
|
||||
>>0x06 byte 2 \b, Disc 3
|
||||
>>0x06 byte 3 \b, Disc 4
|
||||
>0x07 byte x \b, Rev.%02u)
|
||||
|
||||
# Type: Nintendo GameCube disc image
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://wiibrew.org/wiki/Wii_Disc
|
||||
0x1C belong 0xC2339F3D Nintendo GameCube disc image:
|
||||
>0 use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo GameCube embedded disc image
|
||||
# Commonly found on demo discs.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://hitmen.c02.at/files/yagcd/yagcd/index.html#idx14.8
|
||||
0 belong 0xAE0F38A2
|
||||
>0x0C belong 0x00100000
|
||||
>>(8.L+0x1C) belong 0xC2339F3D Nintendo GameCube embedded disc image:
|
||||
>>>(8.L) use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo Wii disc image
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://wiibrew.org/wiki/Wii_Disc
|
||||
0x18 belong 0x5D1C9EA3 Nintendo Wii disc image:
|
||||
>0 use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo Wii disc image (WBFS format)
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://wiibrew.org/wiki/Wii_Disc
|
||||
0 string WBFS
|
||||
>0x218 belong 0x5D1C9EA3 Nintendo Wii disc image (WBFS format):
|
||||
>>0x200 use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo GameCube/Wii disc image (CISO format)
|
||||
# NOTE: This is NOT the same as Compact ISO or PSP CISO,
|
||||
# though it has the same magic number.
|
||||
0 string CISO
|
||||
# Other fields are used to determine what type of CISO this is:
|
||||
# - 0x04 == 0x00200000: GameCube/Wii CISO (block_size)
|
||||
# - 0x10 == 0x00000800: PSP CISO (ISO-9660 sector size)
|
||||
# - None of the above: Compact ISO.
|
||||
>4 lelong 0x200000
|
||||
>>8 byte 1
|
||||
>>>0x801C belong 0xC2339F3D Nintendo GameCube disc image (CISO format):
|
||||
>>>>0x8000 use nintendo-gcn-disc-common
|
||||
>>>0x8018 belong 0x5D1C9EA3 Nintendo Wii disc image (CISO format):
|
||||
>>>>0x8000 use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo GameCube/Wii disc image (GCZ format)
|
||||
# Due to zlib compression, we can't get the actual disc information.
|
||||
0 lelong 0xB10BC001
|
||||
>4 lelong 0 Nintendo GameCube disc image (GCZ format)
|
||||
>4 lelong 1 Nintendo Wii disc image (GCZ format)
|
||||
>4 lelong >1 Nintendo GameCube/Wii disc image (GCZ format)
|
||||
|
||||
# Type: Nintendo GameCube/Wii disc image (WDF format)
|
||||
0 string WII\001DISC
|
||||
>8 belong 1
|
||||
# WDFv1
|
||||
>>0x54 belong 0xC2339F3D Nintendo GameCube disc image (WDFv1 format):
|
||||
>>>0x38 use nintendo-gcn-disc-common
|
||||
>>0x58 belong 0x5D1C9EA3 Nintendo Wii disc image (WDFv1 format):
|
||||
>>>0x38 use nintendo-gcn-disc-common
|
||||
>8 belong 2
|
||||
# WDFv2
|
||||
>>(12.L+0x1C) belong 0xC2339F3D Nintendo GameCube disc image (WDFv2 format):
|
||||
>>>(12.L) use nintendo-gcn-disc-common
|
||||
>>(12.L+0x18) belong 0x5D1C9EA3 Nintendo Wii disc image (WDFv2 format):
|
||||
>>>(12.L) use nintendo-gcn-disc-common
|
||||
|
||||
# Type: Nintendo GameCube/Wii disc image (WIA format)
|
||||
0 string WIA\001 Nintendo
|
||||
>0x48 belong 0 GameCube/Wii
|
||||
>0x48 belong 1 GameCube
|
||||
>0x48 belong 2 Wii
|
||||
>0x48 belong >2 GameCube/Wii
|
||||
>0x48 belong x disc image (WIA format):
|
||||
>>0x58 use nintendo-gcn-disc-common
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Nintendo 3DS file formats.
|
||||
#
|
||||
|
||||
# Type: Nintendo 3DS "NCSD" image. (game cards and eMMC)
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: https://www.3dbrew.org/wiki/NCSD
|
||||
0x100 string NCSD
|
||||
>0x118 lequad 0 Nintendo 3DS Game Card image
|
||||
# NCCH header for partition 0. (game data)
|
||||
>>0x1150 string >\0 \b: "%.16s"
|
||||
>>0x312 byte x (Rev.%02u)
|
||||
>>0x118C byte 2 (New3DS only)
|
||||
>>0x18D byte 0 (inner device)
|
||||
>>0x18D byte 1 (Card1)
|
||||
>>0x18D byte 2 (Card2)
|
||||
>>0x18D byte 3 (extended device)
|
||||
>0x118 bequad 0x0102020202000000 Nintendo 3DS eMMC dump (Old3DS)
|
||||
>0x118 bequad 0x0102020203000000 Nintendo 3DS eMMC dump (New3DS)
|
||||
|
||||
# Nintendo 3DS version code.
|
||||
# Reference: https://www.3dbrew.org/wiki/Titles
|
||||
# Format: leshort containing three fields:
|
||||
# - 6-bit: Major
|
||||
# - 6-bit: Minor
|
||||
# - 4-bit: Revision
|
||||
# NOTE: Only supporting major/minor versions from 0-15 right now.
|
||||
# NOTE: Should be prefixed with "v".
|
||||
0 name nintendo-3ds-version-code
|
||||
# Raw version.
|
||||
>0 leshort x \b%u,
|
||||
# Major version.
|
||||
>0 leshort&0xFC00 0x0000 0
|
||||
>0 leshort&0xFC00 0x0400 1
|
||||
>0 leshort&0xFC00 0x0800 2
|
||||
>0 leshort&0xFC00 0x0C00 3
|
||||
>0 leshort&0xFC00 0x1000 4
|
||||
>0 leshort&0xFC00 0x1400 5
|
||||
>0 leshort&0xFC00 0x1800 6
|
||||
>0 leshort&0xFC00 0x1C00 7
|
||||
>0 leshort&0xFC00 0x2000 8
|
||||
>0 leshort&0xFC00 0x2400 9
|
||||
>0 leshort&0xFC00 0x2800 10
|
||||
>0 leshort&0xFC00 0x2C00 11
|
||||
>0 leshort&0xFC00 0x3000 12
|
||||
>0 leshort&0xFC00 0x3400 13
|
||||
>0 leshort&0xFC00 0x3800 14
|
||||
>0 leshort&0xFC00 0x3C00 15
|
||||
# Minor version.
|
||||
>0 leshort&0x03F0 0x0000 \b.0
|
||||
>0 leshort&0x03F0 0x0010 \b.1
|
||||
>0 leshort&0x03F0 0x0020 \b.2
|
||||
>0 leshort&0x03F0 0x0030 \b.3
|
||||
>0 leshort&0x03F0 0x0040 \b.4
|
||||
>0 leshort&0x03F0 0x0050 \b.5
|
||||
>0 leshort&0x03F0 0x0060 \b.6
|
||||
>0 leshort&0x03F0 0x0070 \b.7
|
||||
>0 leshort&0x03F0 0x0080 \b.8
|
||||
>0 leshort&0x03F0 0x0090 \b.9
|
||||
>0 leshort&0x03F0 0x00A0 \b.10
|
||||
>0 leshort&0x03F0 0x00B0 \b.11
|
||||
>0 leshort&0x03F0 0x00C0 \b.12
|
||||
>0 leshort&0x03F0 0x00D0 \b.13
|
||||
>0 leshort&0x03F0 0x00E0 \b.14
|
||||
>0 leshort&0x03F0 0x00F0 \b.15
|
||||
# Revision.
|
||||
>0 leshort&0x000F x \b.%u
|
||||
|
||||
# Type: Nintendo 3DS "NCCH" container.
|
||||
# https://www.3dbrew.org/wiki/NCCH
|
||||
0x100 string NCCH Nintendo 3DS
|
||||
>0x18D byte&2 0 File Archive (CFA)
|
||||
>0x18D byte&2 2 Executable Image (CXI)
|
||||
>0x150 string >\0 \b: "%.16s"
|
||||
>0x18D byte 0x05
|
||||
>>0x10E leshort x (Old3DS System Update v
|
||||
>>0x10E use nintendo-3ds-version-code
|
||||
>>0x10E leshort x \b)
|
||||
>0x18D byte 0x15
|
||||
>>0x10E leshort x (New3DS System Update v
|
||||
>>0x10E use nintendo-3ds-version-code
|
||||
>>0x10E leshort x \b)
|
||||
>0x18D byte !0x05
|
||||
>>0x18D byte !0x15
|
||||
>>>0x112 byte x (v
|
||||
>>>0x112 use nintendo-3ds-version-code
|
||||
>>>0x112 byte x \b)
|
||||
>0x18C byte 2 (New3DS only)
|
||||
|
||||
# Type: Nintendo 3DS "SMDH" file. (application description)
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: https://3dbrew.org/wiki/SMDH
|
||||
0 string SMDH Nintendo 3DS SMDH file
|
||||
>0x208 leshort !0
|
||||
>>0x208 lestring16 x \b: "%.128s"
|
||||
>>0x388 leshort !0
|
||||
>>>0x388 lestring16 x by %.128s
|
||||
>0x208 leshort 0
|
||||
>>0x008 leshort !0
|
||||
>>>0x008 lestring16 x \b: "%.128s"
|
||||
>>>0x188 leshort !0
|
||||
>>>>0x188 lestring16 x by %.128s
|
||||
|
||||
# Type: Nintendo 3DS Homebrew Application.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: https://3dbrew.org/wiki/3DSX_Format
|
||||
0 string 3DSX Nintendo 3DS Homebrew Application (3DSX)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# a7800: file(1) magic for the Atari 7800 raw ROM format.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: https://sites.google.com/site/atari7800wiki/a78-header
|
||||
|
||||
0 byte >0
|
||||
>0 byte <3
|
||||
>>1 string ATARI7800 Atari 7800 ROM image
|
||||
>>>0x11 string >\0 \b: "%.32s"
|
||||
# Display type.
|
||||
>>>0x39 byte 0 (NTSC)
|
||||
>>>0x39 byte 1 (PAL)
|
||||
>>>0x36 byte&1 1 (POKEY)
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# vectrex: file(1) magic for the GCE Vectrex raw ROM format.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: http://www.playvectrex.com/designit/chrissalo/hello1.htm
|
||||
#
|
||||
# NOTE: Title is terminated with 0x80, not 0.
|
||||
# The header is terminated with a 0, so that will
|
||||
# terminate the title as well.
|
||||
#
|
||||
0 string g\ GCE Vectrex ROM image
|
||||
>0x11 string >\0 \b: "%.16s"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# amiibo: file(1) magic for Nintendo amiibo NFC dumps.
|
||||
# From: David Korth <[email protected]>
|
||||
# Reference: https://www.3dbrew.org/wiki/Amiibo
|
||||
0x00 byte 0x04
|
||||
>0x0A beshort 0x0FE0
|
||||
>>0x0C belong 0xF110FFEE
|
||||
>>>0x208 beshort 0x0100
|
||||
>>>>0x020A byte 0x0F
|
||||
>>>>>0x020C bequad 0x000000045F000000
|
||||
>>>>>>0x5B byte 0x02
|
||||
>>>>>>>0x54 belong x Nintendo amiibo NFC dump - amiibo ID: %08X-
|
||||
>>>>>>>0x58 belong x \b%08X
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: coverage,v 1.1 2016/06/05 00:26:32 christos Exp $
|
||||
# xoverage: file(1) magic for test coverage data
|
||||
|
||||
# File formats used to store test coverage data
|
||||
# 2016-05-21, Georg Sauthoff <[email protected]>
|
||||
|
||||
|
||||
# - GCC gcno - written by GCC at compile time when compiling with
|
||||
# gcc -ftest-coverage
|
||||
# - GCC gcda - written by a program that was compiled with
|
||||
# gcc -fprofile-arcs
|
||||
# - LLVM raw profiles - generated by a program compiled with
|
||||
# clang -fprofile-instr-generate -fcoverage-mapping ...
|
||||
# - LLVM indexed profiles - generated by
|
||||
# llvm-profdata
|
||||
# - GCOV reports, i.e. the annotated source code
|
||||
# - LCOV trace files, i.e. aggregated GCC profiles
|
||||
#
|
||||
# GCC coverage tracefiles
|
||||
# .gcno file are created during compile time,
|
||||
# while data collected during runtime is stored in .gcda files
|
||||
# cf. gcov-io.h
|
||||
# https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/Gcov-Data-Files.html
|
||||
# Examples:
|
||||
# Fedora 23/x86-64/gcc-5.3.1: 6f 6e 63 67 52 33 30 35
|
||||
# Debian 8 PPC64/gcc-4.9.2 : 67 63 6e 6f 34 30 39 2a
|
||||
0 lelong 0x67636e6f GCC gcno coverage (-ftest-coverage),
|
||||
>&3 byte x version %c.
|
||||
>&1 byte x \b%c
|
||||
|
||||
# big endian
|
||||
0 belong 0x67636e6f GCC gcno coverage (-ftest-coverage),
|
||||
>&0 byte x version %c.
|
||||
>&2 byte x \b%c (big-endian)
|
||||
|
||||
# Examples:
|
||||
# Fedora 23/x86-64/gcc-5.3.1: 61 64 63 67 52 33 30 35
|
||||
# Debian 8 PPC64/gcc-4.9.2 : 67 63 64 61 34 30 39 2a
|
||||
0 lelong 0x67636461 GCC gcda coverage (-fprofile-arcs),
|
||||
>&3 byte x version %c.
|
||||
>&1 byte x \b%c
|
||||
|
||||
# big endian
|
||||
0 belong 0x67636461 GCC gcda coverage (-fprofile-arcs),
|
||||
>&0 byte x version %c.
|
||||
>&2 byte x \b%c (big-endian)
|
||||
|
||||
|
||||
# LCOV tracefiles
|
||||
# cf. http://ltp.sourceforge.net/coverage/lcov/geninfo.1.php
|
||||
0 string TN:
|
||||
>&0 search/64 \nSF:/ LCOV coverage tracefile
|
||||
|
||||
|
||||
# Coverage reports generated by gcov
|
||||
# i.e. source code annoted with coverage information
|
||||
0 string \x20\x20\x20\x20\x20\x20\x20\x20-:\x20\x20\x20\ 0:Source:
|
||||
>&0 search/128 \x20\x20\x20\x20\x20\x20\x20\x20-:\x20\x20\x20\ 0:Graph:
|
||||
>>&0 search/128 \x20\x20\x20\x20\x20\x20\x20\x20-:\x20\x20\x20\ 0:Data: GCOV coverage report
|
||||
|
||||
|
||||
# LLVM coverage files
|
||||
|
||||
# raw data after running a program compiled with:
|
||||
# `clang -fprofile-instr-generate -fcoverage-mapping ...`
|
||||
# default name: default.profraw
|
||||
# magic is: \xFF lprofr \x81
|
||||
# cf. http://llvm.org/docs/doxygen/html/InstrProfData_8inc_source.html
|
||||
0 lequad 0xff6c70726f667281 LLVM raw profile data,
|
||||
>&0 byte x version %d
|
||||
|
||||
# big endian
|
||||
0 bequad 0xff6c70726f667281 LLVM raw profile data,
|
||||
>&7 byte x version %d (big-endian)
|
||||
|
||||
|
||||
# LLVM indexed instruction profile (as generated by llvm-profdata)
|
||||
# magic is: reverse(\xFF lprofi \x81)
|
||||
# cf. http://llvm.org/docs/CoverageMappingFormat.html
|
||||
# http://llvm.org/docs/doxygen/html/namespacellvm_1_1IndexedInstrProf.html
|
||||
# http://llvm.org/docs/CommandGuide/llvm-cov.html
|
||||
# http://llvm.org/docs/CommandGuide/llvm-profdata.html
|
||||
0 lequad 0x8169666f72706cff LLVM indexed profile data,
|
||||
>&0 byte x version %d
|
||||
|
||||
# big endian
|
||||
0 bequad 0x8169666f72706cff LLVM indexed profile data,
|
||||
>&7 byte x version %d (big-endian)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: cups,v 1.3 2014/05/28 19:50:41 christos Exp $
|
||||
# $File: cups,v 1.5 2017/03/17 21:35:28 christos Exp $
|
||||
# Cups: file(1) magic for the cups raster file format
|
||||
# From: Laurent Martelli <[email protected]>
|
||||
# http://www.cups.org/documentation.php/spec-raster.html
|
||||
@@ -39,16 +39,16 @@
|
||||
>404 lelong 20 ColorSpace=AdobeRGB
|
||||
|
||||
# Cups Raster image format, Big Endian
|
||||
0 string RaS
|
||||
0 string RaS
|
||||
>3 string t Cups Raster version 1, Big Endian
|
||||
>3 string 2 Cups Raster version 2, Big Endian
|
||||
>3 string 3 Cups Raster version 3, Big Endian
|
||||
!:mime application/vnd.cups-raster
|
||||
>0 use ^cups-le
|
||||
>0 use \^cups-le
|
||||
|
||||
|
||||
# Cups Raster image format, Little Endian
|
||||
1 string SaR
|
||||
1 string SaR
|
||||
>0 string t Cups Raster version 1, Little Endian
|
||||
>0 string 2 Cups Raster version 2, Little Endian
|
||||
>0 string 3 Cups Raster version 3, Little Endian
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: database,v 1.45 2015/09/09 16:25:29 christos Exp $
|
||||
# $File: database,v 1.52 2017/08/13 00:21:47 christos Exp $
|
||||
# database: file(1) magic for various databases
|
||||
#
|
||||
# extracted from header/code files by Graeme Wilford ([email protected])
|
||||
@@ -84,7 +84,7 @@
|
||||
# From Max Bowsher.
|
||||
12 long 0x00040988 Berkeley DB
|
||||
>16 long >0 (Log, version %d, native byte-order)
|
||||
12 belong 0x00040988 Berkeley DB
|
||||
12 belong 0x00040988 Berkeley DB
|
||||
>16 belong >0 (Log, version %d, big-endian)
|
||||
12 lelong 0x00040988 Berkeley DB
|
||||
>16 lelong >0 (Log, version %d, little-endian)
|
||||
@@ -103,7 +103,7 @@
|
||||
>>>12 long !0 32bit aligned
|
||||
>>>>12 bedouble 8.642135e+130 big-endian
|
||||
>>>>>20 long 0 64bit long
|
||||
>>>>>20 long !0 32bit long
|
||||
>>>>>20 long !0 32bit long
|
||||
>>>>12 ledouble 8.642135e+130 little-endian
|
||||
>>>>>24 long 0 64bit long
|
||||
>>>>>24 long !0 32bit long (i386)
|
||||
@@ -128,22 +128,22 @@
|
||||
# XXX: Weak magic.
|
||||
# Alex Ott <[email protected]>
|
||||
## Paradox file formats
|
||||
#2 leshort 0x0800 Paradox
|
||||
#>0x39 byte 3 v. 3.0
|
||||
#>0x39 byte 4 v. 3.5
|
||||
#>0x39 byte 9 v. 4.x
|
||||
#>0x39 byte 10 v. 5.x
|
||||
#>0x39 byte 11 v. 5.x
|
||||
#>0x39 byte 12 v. 7.x
|
||||
#>>0x04 byte 0 indexed .DB data file
|
||||
#>>0x04 byte 1 primary index .PX file
|
||||
#>>0x04 byte 2 non-indexed .DB data file
|
||||
#>>0x04 byte 3 non-incrementing secondary index .Xnn file
|
||||
#>>0x04 byte 4 secondary index .Ynn file
|
||||
#>>0x04 byte 5 incrementing secondary index .Xnn file
|
||||
#>>0x04 byte 6 non-incrementing secondary index .XGn file
|
||||
#>>0x04 byte 7 secondary index .YGn file
|
||||
#>>>0x04 byte 8 incrementing secondary index .XGn file
|
||||
#2 leshort 0x0800 Paradox
|
||||
#>0x39 byte 3 v. 3.0
|
||||
#>0x39 byte 4 v. 3.5
|
||||
#>0x39 byte 9 v. 4.x
|
||||
#>0x39 byte 10 v. 5.x
|
||||
#>0x39 byte 11 v. 5.x
|
||||
#>0x39 byte 12 v. 7.x
|
||||
#>>0x04 byte 0 indexed .DB data file
|
||||
#>>0x04 byte 1 primary index .PX file
|
||||
#>>0x04 byte 2 non-indexed .DB data file
|
||||
#>>0x04 byte 3 non-incrementing secondary index .Xnn file
|
||||
#>>0x04 byte 4 secondary index .Ynn file
|
||||
#>>0x04 byte 5 incrementing secondary index .Xnn file
|
||||
#>>0x04 byte 6 non-incrementing secondary index .XGn file
|
||||
#>>0x04 byte 7 secondary index .YGn file
|
||||
#>>>0x04 byte 8 incrementing secondary index .XGn file
|
||||
|
||||
## XBase database files
|
||||
# updated by Joerg Jenderek at Feb 2013
|
||||
@@ -151,33 +151,33 @@
|
||||
# http://www.clicketyclick.dk/databases/xbase/format/dbf.html
|
||||
# http://home.f1.htw-berlin.de/scheibl/db/intern/dBase.htm
|
||||
# inspect VVYYMMDD , where 1<= MM <= 12 and 1<= DD <= 31
|
||||
0 ubelong&0x0000FFFF <0x00000C20
|
||||
0 ubelong&0x0000FFFF <0x00000C20
|
||||
# skip Infocom game Z-machine
|
||||
>2 ubyte >0
|
||||
>2 ubyte >0
|
||||
# skip Androids *.xml
|
||||
>>3 ubyte >0
|
||||
>>>3 ubyte <32
|
||||
>>3 ubyte >0
|
||||
>>>3 ubyte <32
|
||||
# 1 < version VV
|
||||
>>>>0 ubyte >1
|
||||
>>>>0 ubyte >1
|
||||
# skip HELP.CA3 by test for reserved byte ( NULL )
|
||||
>>>>>27 ubyte 0
|
||||
>>>>>27 ubyte 0
|
||||
# reserved bytes not always 0 ; also found 0x3901 (T4.DBF) ,0x7101 (T5.DBF,T6.DBF)
|
||||
#>>>>>30 ubeshort x 30NULL?%x
|
||||
# possible production flag,tag numbers(<=0x30),tag length(<=0x20), reserved (NULL)
|
||||
>>>>>>24 ubelong&0xffFFFFff >0x01302000
|
||||
# possible production flag,tag numbers(<=0x30),tag length(<=0x20), reserved (NULL)
|
||||
>>>>>>24 ubelong&0xffFFFFff >0x01302000
|
||||
# .DBF or .MDX
|
||||
>>>>>>24 ubelong&0xffFFFFff <0x01302001
|
||||
>>>>>>24 ubelong&0xffFFFFff <0x01302001
|
||||
# for Xbase Database file (*.DBF) reserved (NULL) for multi-user
|
||||
>>>>>>>24 ubelong&0xffFFFFff =0
|
||||
>>>>>>>24 ubelong&0xffFFFFff =0
|
||||
# test for 2 reserved NULL bytes,transaction and encryption byte flag
|
||||
>>>>>>>>12 ubelong&0xFFFFfEfE 0
|
||||
>>>>>>>>12 ubelong&0xFFFFfEfE 0
|
||||
# test for MDX flag
|
||||
>>>>>>>>>28 ubyte x
|
||||
>>>>>>>>>28 ubyte&0xf8 0
|
||||
>>>>>>>>>28 ubyte x
|
||||
>>>>>>>>>28 ubyte&0xf8 0
|
||||
# header size >= 32
|
||||
>>>>>>>>>>8 uleshort >31
|
||||
>>>>>>>>>>8 uleshort >31
|
||||
# skip PIC15736.PCX by test for language driver name or field name
|
||||
>>>>>>>>>>>32 ubyte >0
|
||||
>>>>>>>>>>>32 ubyte >0
|
||||
#!:mime application/x-dbf; charset=unknown-8bit ??
|
||||
#!:mime application/x-dbase
|
||||
>>>>>>>>>>>>0 use xbase-type
|
||||
@@ -202,22 +202,22 @@
|
||||
>>>>>>>>>>>>28 ubyte&0x02 2 \b, with memo .FPT
|
||||
>>>>>>>>>>>>28 ubyte&0x04 4 \b, DataBaseContainer
|
||||
# 1st record offset + 1 = header size
|
||||
>>>>>>>>>>>>8 uleshort >0
|
||||
>>>>>>>>>>>>(8.s+1) ubyte >0
|
||||
>>>>>>>>>>>>8 uleshort >0
|
||||
>>>>>>>>>>>>(8.s+1) ubyte >0
|
||||
>>>>>>>>>>>>>8 uleshort >0 \b, at offset %d
|
||||
>>>>>>>>>>>>>(8.s+1) ubyte >0
|
||||
>>>>>>>>>>>>>(8.s+1) ubyte >0
|
||||
>>>>>>>>>>>>>>&-1 string >\0 1st record "%s"
|
||||
# for multiple index files (*.MDX) Production flag,tag numbers(<=0x30),tag length(<=0x20), reserverd (NULL)
|
||||
>>>>>>>24 ubelong&0x0133f7ff >0
|
||||
# for multiple index files (*.MDX) Production flag,tag numbers(<=0x30),tag length(<=0x20), reserved (NULL)
|
||||
>>>>>>>24 ubelong&0x0133f7ff >0
|
||||
# test for reserved NULL byte
|
||||
>>>>>>>>47 ubyte 0
|
||||
>>>>>>>>47 ubyte 0
|
||||
# test for valid TAG key format (0x10 or 0)
|
||||
>>>>>>>>>559 ubyte&0xeF 0
|
||||
>>>>>>>>>559 ubyte&0xeF 0
|
||||
# test MM <= 12
|
||||
>>>>>>>>>>45 ubeshort <0x0C20
|
||||
>>>>>>>>>>>45 ubyte >0
|
||||
>>>>>>>>>>>>46 ubyte <32
|
||||
>>>>>>>>>>>>>46 ubyte >0
|
||||
>>>>>>>>>>45 ubeshort <0x0C20
|
||||
>>>>>>>>>>>45 ubyte >0
|
||||
>>>>>>>>>>>>46 ubyte <32
|
||||
>>>>>>>>>>>>>46 ubyte >0
|
||||
#!:mime application/x-mdx
|
||||
>>>>>>>>>>>>>>0 use xbase-type
|
||||
>>>>>>>>>>>>>>0 ubyte x \b MDX
|
||||
@@ -236,11 +236,11 @@
|
||||
# 2nd tag name
|
||||
#>>>>>>>>>>>>(26.b+548) string x \b, 2nd tag "%.11s"
|
||||
#
|
||||
# Print the xBase names of different version variants
|
||||
# Print the xBase names of different version variants
|
||||
0 name xbase-type
|
||||
>0 ubyte <2
|
||||
>0 ubyte <2
|
||||
# 1 < version
|
||||
>0 ubyte >1
|
||||
>0 ubyte >1
|
||||
>>0 ubyte 0x02 FoxBase
|
||||
# FoxBase+/dBaseIII+, no memo
|
||||
>>0 ubyte 0x03 FoxBase+/dBase III
|
||||
@@ -293,7 +293,7 @@
|
||||
# dBASE IV with SQL table, with memo .DBT
|
||||
>>0 ubyte 0xCB dBase IV with SQL table, with memo .DBT
|
||||
!:mime application/x-dbf
|
||||
# HiPer-Six format;Clipper SIX, with SMT memo file
|
||||
# HiPer-Six format;Clipper SIX, with SMT memo file
|
||||
>>0 ubyte 0xE5 Clipper SIX with memo
|
||||
!:mime application/x-dbf
|
||||
# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx
|
||||
@@ -318,12 +318,12 @@
|
||||
# test and print the date of xBase .DBF .MDX
|
||||
0 name xbase-date
|
||||
# inspect YYMMDD , where 1<= MM <= 12 and 1<= DD <= 31
|
||||
>0 ubelong x
|
||||
>1 ubyte <13
|
||||
>>1 ubyte >0
|
||||
>>>2 ubyte >0
|
||||
>>>>2 ubyte <32
|
||||
>>>>>0 ubyte x
|
||||
>0 ubelong x
|
||||
>1 ubyte <13
|
||||
>>1 ubyte >0
|
||||
>>>2 ubyte >0
|
||||
>>>>2 ubyte <32
|
||||
>>>>>0 ubyte x
|
||||
# YY is interpreted as 20YY or 19YY
|
||||
>>>>>>0 ubyte <100 \b %.2d
|
||||
# YY is interpreted 1900+YY; TODO: display yy or 20yy instead 1YY
|
||||
@@ -333,53 +333,56 @@
|
||||
|
||||
# dBase memo files .DBT or .FPT
|
||||
# http://msdn.microsoft.com/en-us/library/8599s21w(v=vs.80).aspx
|
||||
16 ubyte <4
|
||||
>16 ubyte !2
|
||||
>>16 ubyte !1
|
||||
16 ubyte <4
|
||||
>16 ubyte !2
|
||||
>>16 ubyte !1
|
||||
# next free block index is positive
|
||||
>>>0 ulelong >0
|
||||
>>>0 ulelong >0
|
||||
# skip many JPG. ZIP, BZ2 by test for reserved bytes NULL , 0|2 , 0|1 , low byte of block size
|
||||
>>>>17 ubelong&0xFFfdFE00 0x00000000
|
||||
>>>>17 ubelong&0xFFfdFE00 0x00000000
|
||||
# skip many RAR by test for low byte 0 ,high byte 0|2|even of block size, 0|a|e|d7 , 0|64h
|
||||
>>>>>20 ubelong&0xFF01209B 0x00000000
|
||||
>>>>>20 ubelong&0xFF01209B 0x00000000
|
||||
# dBASE III
|
||||
>>>>>>16 ubyte 3
|
||||
>>>>>>16 ubyte 3
|
||||
# dBASE III DBT
|
||||
>>>>>>>0 use dbase3-memo-print
|
||||
# dBASE III DBT without version, dBASE IV DBT , FoxPro FPT , or many ZIP , DBF garbage
|
||||
>>>>>>16 ubyte 0
|
||||
>>>>>>16 ubyte 0
|
||||
# unusual dBASE III DBT like angest.dbt, dBASE IV DBT with block size 0 , FoxPro FPT , or garbage PCX DBF
|
||||
>>>>>>>20 uleshort 0
|
||||
>>>>>>>20 uleshort 0
|
||||
# FoxPro FPT , unusual dBASE III DBT like biblio.dbt or garbage
|
||||
>>>>>>>>8 ulong =0
|
||||
>>>>>>>>>6 ubeshort >0
|
||||
>>>>>>>>8 ulong =0
|
||||
>>>>>>>>>6 ubeshort >0
|
||||
# skip emacs.PIF
|
||||
>>>>>>>>>>4 ushort 0
|
||||
>>>>>>>>>>4 ushort 0
|
||||
>>>>>>>>>>>0 use foxpro-memo-print
|
||||
# dBASE III DBT , garbage
|
||||
>>>>>>>>>6 ubeshort 0
|
||||
>>>>>>>>>6 ubeshort 0
|
||||
# skip MM*DD*.bin by test for for reserved NULL byte
|
||||
>>>>>>>>>>510 ubeshort 0
|
||||
>>>>>>>>>>510 ubeshort 0
|
||||
# skip TK-DOS11.img image by looking for memo text
|
||||
>>>>>>>>>>>512 ubelong <0xfeffff03
|
||||
>>>>>>>>>>>512 ubelong <0xfeffff03
|
||||
# skip EFI executables by looking for memo text
|
||||
>>>>>>>>>>>>512 ubelong >0x1F202020
|
||||
>>>>>>>>>>>>>513 ubyte >0
|
||||
>>>>>>>>>>>>512 ubelong >0x1F202020
|
||||
>>>>>>>>>>>>>513 ubyte >0
|
||||
# unusual dBASE III DBT like adressen.dbt
|
||||
>>>>>>>>>>>>>>0 use dbase3-memo-print
|
||||
# dBASE III DBT like angest.dbt, or garbage PCX DBF
|
||||
>>>>>>>>8 ubelong !0
|
||||
>>>>>>>>8 ubelong !0
|
||||
# skip PCX and some DBF by test for for reserved NULL bytes
|
||||
>>>>>>>>>510 ubeshort 0
|
||||
>>>>>>>>>510 ubeshort 0
|
||||
# skip some DBF by test of invalid version
|
||||
>>>>>>>>>>0 ubyte >5
|
||||
>>>>>>>>>>>0 ubyte <48
|
||||
>>>>>>>>>>0 ubyte >5
|
||||
>>>>>>>>>>>0 ubyte <48
|
||||
>>>>>>>>>>>>0 use dbase3-memo-print
|
||||
# dBASE IV DBT with positive block size
|
||||
>>>>>>>20 uleshort >0
|
||||
>>>>>>>>0 use dbase4-memo-print
|
||||
>>>>>>>20 uleshort >0
|
||||
# dBASE IV DBT with valid block length like 512, 1024
|
||||
# multiple of 2 in between 16 and 16 K ,implies upper and lower bits are zero
|
||||
>>>>>>>>20 uleshort&0x800f 0
|
||||
>>>>>>>>>0 use dbase4-memo-print
|
||||
|
||||
# Print the information of dBase III DBT memo file
|
||||
# Print the information of dBase III DBT memo file
|
||||
0 name dbase3-memo-print
|
||||
>0 ubyte x dBase III DBT
|
||||
# instead 3 as version number 0 for unusual examples like biblio.dbt
|
||||
@@ -392,43 +395,45 @@
|
||||
>20 uleshort !0 \b, block length %u
|
||||
# dBase III memo field terminated by \032\032
|
||||
>512 string >\0 \b, 1st item "%s"
|
||||
# Print the information of dBase IV DBT memo file
|
||||
# Print the information of dBase IV DBT memo file
|
||||
0 name dbase4-memo-print
|
||||
>0 lelong x dBase IV DBT
|
||||
!:mime application/x-dbt
|
||||
!:ext dbt
|
||||
# 8 character shorted main name of coresponding dBASE IV DBF file
|
||||
>8 ubelong >0x20000000
|
||||
>8 ubelong >0x20000000
|
||||
# skip unusual like for angest.dbt
|
||||
>>20 uleshort >0
|
||||
>>20 uleshort >0
|
||||
>>>8 string >\0 \b of %-.8s.DBF
|
||||
# value 0 implies 512 as size
|
||||
#>4 ulelong =0 \b, blocks size %u
|
||||
# size of blocks not reliable like 0x2020204C in angest.dbt
|
||||
>4 ulelong !0
|
||||
>4 ulelong !0
|
||||
>>4 ulelong&0x0000003f 0 \b, blocks size %u
|
||||
# dBase IV DBT with positive block length (found 512 , 1024)
|
||||
>20 uleshort >0 \b, block length %u
|
||||
# next available block
|
||||
#>0 lelong =0 \b, next free block index %u
|
||||
>0 lelong !0 \b, next free block index %u
|
||||
>20 uleshort >0
|
||||
>>(20.s) ubelong x
|
||||
>20 uleshort >0
|
||||
>>(20.s) ubelong x
|
||||
>>>&-4 use dbase4-memofield-print
|
||||
# unusual dBase IV DBT without block length (implies 512 as length)
|
||||
>20 uleshort =0
|
||||
>>512 ubelong x
|
||||
>20 uleshort =0
|
||||
>>512 ubelong x
|
||||
>>>&-4 use dbase4-memofield-print
|
||||
# Print the information of dBase IV memo field
|
||||
# Print the information of dBase IV memo field
|
||||
0 name dbase4-memofield-print
|
||||
# free dBase IV memo field
|
||||
>0 ubelong !0xFFFF0800
|
||||
>0 ubelong !0xFFFF0800
|
||||
>>0 lelong x \b, next free block %u
|
||||
>>4 lelong x \b, next used block %u
|
||||
# used dBase IV memo field
|
||||
>0 ubelong =0xFFFF0800
|
||||
>0 ubelong =0xFFFF0800
|
||||
# length of memo field
|
||||
>>4 lelong x \b, field length %d
|
||||
>>>8 string >\0 \b, 1st used item "%s"
|
||||
# Print the information of FoxPro FPT memo file
|
||||
# Print the information of FoxPro FPT memo file
|
||||
0 name foxpro-memo-print
|
||||
>0 belong x FoxPro FPT
|
||||
# Size of blocks for FoxPro ( 64,256 )
|
||||
@@ -436,14 +441,14 @@
|
||||
# next available block
|
||||
#>0 belong =0 \b, next free block index %u
|
||||
>0 belong !0 \b, next free block index %u
|
||||
# field type ( 0~picture, 1~memo, 2~object )
|
||||
# field type ( 0~picture, 1~memo, 2~object )
|
||||
>512 ubelong <3 \b, field type %u
|
||||
# length of memo field
|
||||
>512 ubelong 1
|
||||
>512 ubelong 1
|
||||
>>516 belong >0 \b, field length %d
|
||||
>>>520 string >\0 \b, 1st item "%s"
|
||||
|
||||
# TODO:
|
||||
# TODO:
|
||||
# DBASE index file *.NDX
|
||||
# DBASE Compound Index file *.CDX
|
||||
# dBASE IV Printer Driver *.PRF
|
||||
@@ -455,6 +460,52 @@
|
||||
4 string Standard\ ACE\ DB Microsoft Access Database
|
||||
!:mime application/x-msaccess
|
||||
|
||||
# From: Joerg Jenderek
|
||||
# URL: http://fileformats.archiveteam.org/wiki/Extensible_Storage_Engine
|
||||
# Reference: https://github.com/libyal/libesedb/archive/master.zip
|
||||
# libesedb-master/documentation/
|
||||
# Extensible Storage Engine (ESE) Database File (EDB) format.asciidoc
|
||||
# Note: also known as "JET Blue". Used by numerous Windows components such as
|
||||
# Windows Search, Mail, Exchange and Active Directory.
|
||||
4 ubelong 0xefcdab89
|
||||
# unknown1
|
||||
>132 ubelong 0 Extensible storage engine
|
||||
!:mime application/x-ms-ese
|
||||
# file_type 0~database 1~stream
|
||||
>>12 ulelong 0 DataBase
|
||||
# Security DataBase (sdb)
|
||||
!:ext edb/sdb
|
||||
>>12 ulelong 1 STreaMing
|
||||
!:ext stm
|
||||
# format_version 620h
|
||||
>>8 uleshort x \b, version 0x%x
|
||||
>>10 uleshort >0 revision 0x%4.4x
|
||||
>>0 ubelong x \b, checksum 0x%8.8x
|
||||
# Page size 4096 8192 32768
|
||||
>>236 ulequad x \b, page size %lld
|
||||
# database_state
|
||||
>>52 ulelong 1 \b, JustCreated
|
||||
>>52 ulelong 2 \b, DirtyShutdown
|
||||
#>>52 ulelong 3 \b, CleanShutdown
|
||||
>>52 ulelong 4 \b, BeingConverted
|
||||
>>52 ulelong 5 \b, ForceDetach
|
||||
# Windows NT major version when the databases indexes were updated.
|
||||
>>216 ulelong x \b, Windows version %d
|
||||
# Windows NT minor version
|
||||
>>220 ulelong x \b.%d
|
||||
|
||||
# From: Joerg Jenderek
|
||||
# URL: http://forensicswiki.org/wiki/Windows_Application_Compatibility
|
||||
# Note: files contain application compatibility fixes, application compatibility modes and application help messages.
|
||||
8 string sdbf
|
||||
>7 ubyte 0
|
||||
# TAG_TYPE_LIST+TAG_INDEXES
|
||||
>>12 uleshort 0x7802 Windows application compatibility Shim DataBase
|
||||
# version? 2 3
|
||||
#>>>0 ulelong x \b, version %d
|
||||
!:mime application/x-ms-sdb
|
||||
!:ext sdb
|
||||
|
||||
# TDB database from Samba et al - Martin Pool <[email protected]>
|
||||
0 string TDB\ file TDB database
|
||||
>32 lelong 0x2601196D version 6, little-endian
|
||||
@@ -545,3 +596,39 @@
|
||||
# Hopper (reverse engineering tool) http://www.hopperapp.com/
|
||||
0 string hopperdb Hopper database
|
||||
|
||||
# URL: https://en.wikipedia.org/wiki/Panorama_(database_engine)
|
||||
# Reference: http://www.provue.com/Panorama/
|
||||
# From: Joerg Jenderek
|
||||
# NOTE: test only versions 4 and 6.0 with Windows
|
||||
# length of Panorama database name
|
||||
5 ubyte >0
|
||||
# look after database name for "some" null bits
|
||||
>(5.B+7) ubelong&0xF3ffF000 0
|
||||
# look for first keyword
|
||||
>>&1 search/2 DESIGN Panorama database
|
||||
#!:mime application/x-panorama-database
|
||||
!:apple KASXZEPD
|
||||
!:ext pan
|
||||
# database name
|
||||
>>>5 pstring x \b, "%s"
|
||||
|
||||
#
|
||||
#
|
||||
# askSam Database by Stefan A. Haubenthal <[email protected]>
|
||||
0 string askw40\0 askSam DB
|
||||
|
||||
#
|
||||
#
|
||||
# MUIbase Database Tool by Stefan A. Haubenthal <[email protected]>
|
||||
0 string MBSTV\040 MUIbase DB
|
||||
>6 string x version %s
|
||||
|
||||
#
|
||||
# CDB database
|
||||
0 string NBCDB\012 NetBSD Constant Database
|
||||
>7 byte x \b, version %d
|
||||
>8 string x \b, for '%s'
|
||||
>24 lelong x \b, datasize %d
|
||||
>28 lelong x \b, entries %d
|
||||
>32 lelong x \b, index %d
|
||||
>36 lelong x \b, seed %#x
|
||||
@@ -0,0 +1,116 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: der,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# der: file(1) magic for DER encoded files
|
||||
#
|
||||
|
||||
# Certificate information piece
|
||||
0 name certinfo
|
||||
>0 der seq
|
||||
>>&0 der set
|
||||
>>>&0 der seq
|
||||
>>>>&0 der obj_id3=550406
|
||||
>>>>&0 der prt_str=x \b, countryName=%s
|
||||
>>&0 der set
|
||||
>>>&0 der seq
|
||||
>>>>&0 der obj_id3=550408
|
||||
>>>>&0 der utf8_str=x \b, stateOrProvinceName=%s
|
||||
>>&0 der set
|
||||
>>>&0 der seq
|
||||
>>>>&0 der obj_id3=55040a
|
||||
>>>>&0 der utf8_str=x \b, organizationName=%s
|
||||
>>&0 der set
|
||||
>>>&0 der seq
|
||||
>>>>&0 der obj_id3=550403
|
||||
>>>>&0 der utf8_str=x \b, commonName=%s
|
||||
>>&0 der seq
|
||||
|
||||
# Certificate requests
|
||||
0 der seq
|
||||
>&0 der seq
|
||||
>>&0 der int1=00 DER Encoded Certificate request
|
||||
>>&0 use certinfo
|
||||
|
||||
# Key Pairs
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int65=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 512 bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int129=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 1024 bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int257=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 2048 bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int513=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 4096 bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int1025=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 8192 bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int2049=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 16k bits
|
||||
|
||||
0 der seq
|
||||
>&0 der int1=00
|
||||
>&0 der int4097=x
|
||||
>&0 der int3=010001 DER Encoded Key Pair, 32k bits
|
||||
|
||||
# Certificates
|
||||
0 der seq
|
||||
>&0 der seq
|
||||
>>&0 der int2=0dfa DER Encoded Certificate, 512 bits
|
||||
>>&0 der int2=0dfb DER Encoded Certificate, 1024 bits
|
||||
>>&0 der int2=0dfc DER Encoded Certificate, 2048 bits
|
||||
>>&0 der int2=0dfd DER Encoded Certificate, 4096 bits
|
||||
>>&0 der int2=0dfe DER Encoded Certificate, 8192 bits
|
||||
>>&0 der int2=0dff DER Encoded Certificate, 16k bits
|
||||
>>&0 der int2=0e04 DER Encoded Certificate, 32k bits
|
||||
>>&0 der int2=x DER Encoded Certificate, ? bits (%s)
|
||||
>>&0 der seq
|
||||
>>>&0 der obj_id9=2a864886f70d010105 \b, sha1WithRSAEncryption
|
||||
>>>&0 der obj_id9=x \b, ? Encryption (%s)
|
||||
>>>&0 der null
|
||||
>>&0 der seq
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=550406
|
||||
>>>>>&0 der prt_str=x \b, countryName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=550408
|
||||
>>>>>&0 der prt_str=x \b, stateOrProvinceName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=550407
|
||||
>>>>>&0 der prt_str=x \b, localityName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=55040a
|
||||
>>>>>&0 der prt_str=x \b, organizationName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=55040b
|
||||
>>>>>&0 der prt_str=x \b, organizationUnitName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id3=550403
|
||||
>>>>>&0 der prt_str=x \b, commonName=%s
|
||||
>>>&0 der set
|
||||
>>>>&0 der seq
|
||||
>>>>>&0 der obj_id9=2a864886f70d010901
|
||||
>>>>>&0 der ia5_str=x \b, emailAddress=%s
|
||||
>>&0 der seq
|
||||
>>>&0 der utc_time=x \b, utcTime=%s
|
||||
>>>&0 der utc_time=x \b, utcTime=%s
|
||||
>>&0 use certinfo
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: diff,v 1.14 2012/09/16 23:08:54 christos Exp $
|
||||
# $File: diff,v 1.16 2017/03/17 22:20:22 christos Exp $
|
||||
# diff: file(1) magic for diff(1) output
|
||||
#
|
||||
0 search/1 diff\ diff output text
|
||||
0 search/1 diff\040 diff output text
|
||||
!:mime text/x-diff
|
||||
0 search/1 ***\ diff output text
|
||||
0 search/1 ***\040 diff output text
|
||||
!:mime text/x-diff
|
||||
0 search/1 Only\ in\ diff output text
|
||||
0 search/1 Only\040in\040 diff output text
|
||||
!:mime text/x-diff
|
||||
0 search/1 Common\ subdirectories:\ diff output text
|
||||
0 search/1 Common\040subdirectories:\040 diff output text
|
||||
!:mime text/x-diff
|
||||
|
||||
0 search/1 Index: RCS/CVS diff output text
|
||||
@@ -20,9 +20,9 @@
|
||||
|
||||
|
||||
# unified diff
|
||||
0 search/4096 ---\
|
||||
0 search/4096 ---\040
|
||||
>&0 search/1024 \n
|
||||
>>&0 search/1 +++\
|
||||
>>&0 search/1 +++\040
|
||||
>>>&0 search/1024 \n
|
||||
>>>>&0 search/1 @@ unified diff output text
|
||||
!:mime text/x-diff
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: dolby,v 1.7 2014/01/08 22:37:23 christos Exp $
|
||||
# $File: dolby,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# ATSC A/53 aka AC-3 aka Dolby Digital <[email protected]>
|
||||
# from http://www.atsc.org/standards/a_52a.pdf
|
||||
# corrections, additions, etc. are always welcome!
|
||||
@@ -23,7 +23,7 @@
|
||||
>5 byte&0x07 = 0x04 \b, dialogue (D)
|
||||
>5 byte&0x07 = 0x05 \b, commentary (C)
|
||||
>5 byte&0x07 = 0x06 \b, emergency (E)
|
||||
>5 beshort&0x07e0 0x0720 \b, voiceover (VO)
|
||||
>5 beshort&0x07e0 0x0720 \b, voiceover (VO)
|
||||
>5 beshort&0x07e0 >0x0720 \b, karaoke
|
||||
# acmod
|
||||
>6 byte&0xe0 = 0x00 1+1 front,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: dump,v 1.13 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: dump,v 1.16 2017/07/22 19:21:02 christos Exp $
|
||||
# dump: file(1) magic for dump file format--for new and old dump filesystems
|
||||
#
|
||||
# We specify both byte orders in order to recognize byte-swapped dumps.
|
||||
@@ -62,23 +62,25 @@
|
||||
>824 string >\0 Host %s,
|
||||
>888 belong >0 Flags %x
|
||||
|
||||
24 belong 60012 new-fs dump file (big endian),
|
||||
24 belong 60012 new-fs dump file (big endian),
|
||||
>0 use new-dump-be
|
||||
|
||||
24 belong 60011 old-fs dump file (big endian),
|
||||
24 belong 60011 old-fs dump file (big endian),
|
||||
>0 use old-dump-be
|
||||
|
||||
24 lelong 60012 new-fs dump file (little endian),
|
||||
24 lelong 60012 new-fs dump file (little endian),
|
||||
# to correctly recognize '*.mo' GNU message catalog (little endian)
|
||||
!:strength - 15
|
||||
>0 use \^new-dump-be
|
||||
|
||||
24 lelong 60011 old-fs dump file (little endian),
|
||||
24 lelong 60011 old-fs dump file (little endian),
|
||||
>0 use \^old-dump-be
|
||||
|
||||
|
||||
24 belong 0x19540119 new-fs dump file (ufs2, big endian),
|
||||
24 belong 0x19540119 new-fs dump file (ufs2, big endian),
|
||||
>0 use ufs2-dump-be
|
||||
|
||||
24 lelong 0x19540119 new-fs dump file (ufs2, little endian),
|
||||
24 lelong 0x19540119 new-fs dump file (ufs2, little endian),
|
||||
>0 use \^ufs2-dump-be
|
||||
|
||||
18 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: dyadic,v 1.7 2015/05/27 18:02:48 christos Exp $
|
||||
# $File: dyadic,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# Dyadic: file(1) magic for Dyalog APL.
|
||||
#
|
||||
# updated by Joerg Jenderek at Oct 2013
|
||||
@@ -10,9 +10,9 @@
|
||||
# .DIN Dyalog APL Input Table
|
||||
# .DOT Dyalog APL Output Table
|
||||
# .DFT Dyalog APL Format File
|
||||
0 ubeshort&0xFF60 0xaa00
|
||||
0 ubeshort&0xFF60 0xaa00
|
||||
# skip biblio.dbt
|
||||
>1 byte !4
|
||||
>1 byte !4
|
||||
# real Dyalog APL have non zero version numbers like 7.3 or 13.4
|
||||
>>2 ubeshort >0x0000 Dyalog APL
|
||||
>>>1 byte 0x00 aplcore
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: editors,v 1.8 2009/09/19 16:28:09 christos Exp $
|
||||
# T602 editor documents
|
||||
# $File: editors,v 1.11 2017/03/17 21:35:28 christos Exp $
|
||||
# T602 editor documents
|
||||
# by David Necas <[email protected]>
|
||||
0 string @CT\ T602 document data,
|
||||
>4 string 0 Kamenicky
|
||||
@@ -9,10 +9,31 @@
|
||||
>4 string 2 KOI8-CS
|
||||
>4 string >2 unknown encoding
|
||||
|
||||
# Vi IMproved Encrypted file
|
||||
# Vi IMproved Encrypted file
|
||||
# by David Necas <[email protected]>
|
||||
0 string VimCrypt~ Vim encrypted file data
|
||||
|
||||
0 name vimnanoswap
|
||||
>67 byte 0
|
||||
>>107 byte 0
|
||||
#>>>2 string x %s swap file
|
||||
>>>24 ulelong x \b, pid %d
|
||||
>>>28 string >\0 \b, user %s
|
||||
>>>68 string >\0 \b, host %s
|
||||
>>>108 string >\0 \b, file %s
|
||||
>>>1007 byte 0x55 \b, modified
|
||||
|
||||
# Vi IMproved Swap file
|
||||
# by Sven Wegener <[email protected]>
|
||||
0 string b0VIM\ Vim swap file
|
||||
>&0 string >\0 \b, version %s
|
||||
0 string b0VIM\ Vim swap file
|
||||
>&0 string >\0 \b, version %s
|
||||
>0 use vimnanoswap
|
||||
|
||||
|
||||
# Lock/swap file for several editors, at least
|
||||
# Vi IMproved and nano
|
||||
0 string b0nano Nano swap file
|
||||
>0 use vimnanoswap
|
||||
|
||||
# kate (K Advanced Text Editor)
|
||||
0 string \x00\x00\x00\x12Kate\ Swap\ File\ 2.0\x00 Kate swap file
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: elf,v 1.69 2015/06/16 17:23:08 christos Exp $
|
||||
# $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $
|
||||
# elf: file(1) magic for ELF executables
|
||||
#
|
||||
# We have to check the byte order flag to see what byte order all the
|
||||
@@ -301,25 +301,23 @@
|
||||
>>0 use elf-le
|
||||
>5 byte 2 MSB
|
||||
>>0 use \^elf-le
|
||||
# Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed
|
||||
# like proper ELF, but extracting the string had bad results.
|
||||
>4 byte <0x80
|
||||
>>8 string >\0 (%s)
|
||||
>8 string \0
|
||||
>>7 byte 0 (SYSV)
|
||||
>>7 byte 1 (HP-UX)
|
||||
>>7 byte 2 (NetBSD)
|
||||
>>7 byte 3 (GNU/Linux)
|
||||
>>7 byte 4 (GNU/Hurd)
|
||||
>>7 byte 5 (86Open)
|
||||
>>7 byte 6 (Solaris)
|
||||
>>7 byte 7 (Monterey)
|
||||
>>7 byte 8 (IRIX)
|
||||
>>7 byte 9 (FreeBSD)
|
||||
>>7 byte 10 (Tru64)
|
||||
>>7 byte 11 (Novell Modesto)
|
||||
>>7 byte 12 (OpenBSD)
|
||||
>8 string \2
|
||||
>>7 byte 13 (OpenVMS)
|
||||
>>7 byte 97 (ARM)
|
||||
>>7 byte 255 (embedded)
|
||||
>7 byte 0 (SYSV)
|
||||
>7 byte 1 (HP-UX)
|
||||
>7 byte 2 (NetBSD)
|
||||
>7 byte 3 (GNU/Linux)
|
||||
>7 byte 4 (GNU/Hurd)
|
||||
>7 byte 5 (86Open)
|
||||
>7 byte 6 (Solaris)
|
||||
>7 byte 7 (Monterey)
|
||||
>7 byte 8 (IRIX)
|
||||
>7 byte 9 (FreeBSD)
|
||||
>7 byte 10 (Tru64)
|
||||
>7 byte 11 (Novell Modesto)
|
||||
>7 byte 12 (OpenBSD)
|
||||
>7 byte 13 (OpenVMS)
|
||||
>7 byte 14 (HP NonStop Kernel)
|
||||
>7 byte 15 (AROS Research Operating System)
|
||||
>7 byte 16 (FenixOS)
|
||||
>7 byte 17 (Nuxi CloudABI)
|
||||
>7 byte 97 (ARM)
|
||||
>7 byte 255 (embedded)
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,16 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: finger,v 1.2 2015/10/07 02:37:57 christos Exp $
|
||||
# fingerprint: file(1) magic for fingerprint data
|
||||
# XPM bitmaps)
|
||||
#
|
||||
|
||||
# http://cgit.freedesktop.org/libfprint/libfprint/tree/libfprint/data.c
|
||||
|
||||
0 string FP1 libfprint fingerprint data V1
|
||||
>3 beshort x \b, driver_id %x
|
||||
>5 belong x \b, devtype %x
|
||||
|
||||
0 string FP2 libfprint fingerprint data V2
|
||||
>3 beshort x \b, driver_id %x
|
||||
>5 belong x \b, devtype %x
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: flash,v 1.11 2014/05/02 00:26:49 christos Exp $
|
||||
# $File: flash,v 1.14 2017/05/25 20:09:55 christos Exp $
|
||||
# flash: file(1) magic for Macromedia Flash file format
|
||||
#
|
||||
# See
|
||||
@@ -10,23 +10,45 @@
|
||||
# en/devnet/swf/pdf/swf-file-format-spec.pdf page 27
|
||||
#
|
||||
|
||||
0 name swf-details
|
||||
>0 string F Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>0 string C Macromedia Flash data (compressed)
|
||||
!:mime application/x-shockwave-flash
|
||||
>0 string Z Macromedia Flash data (lzma compressed)
|
||||
!:mime application/x-shockwave-flash
|
||||
>3 byte x \b, version %d
|
||||
0 name swf-details
|
||||
|
||||
1 string WS
|
||||
>4 lelong !0
|
||||
>>3 byte 255 Suspicious
|
||||
>>>0 use swf-details
|
||||
>0 string F
|
||||
>>8 byte&0xfd 0x08 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
>>8 byte&0xfe 0x10 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
>>8 byte 0x18 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
>>8 beshort&0xff87 0x2000 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
>>8 beshort&0xffe0 0x3000 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
>>8 byte&0x7 0
|
||||
>>>8 ubyte >0x2f
|
||||
>>>>9 ubyte <0x20 Macromedia Flash data
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>>>3 byte x \b, version %d
|
||||
|
||||
>>3 ubyte <32
|
||||
>>>3 ubyte !0
|
||||
>>>>0 use swf-details
|
||||
>0 string C
|
||||
>>8 byte 0x78 Macromedia Flash data (compressed)
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
|
||||
>0 string Z
|
||||
>>8 byte 0x5d Macromedia Flash data (lzma compressed)
|
||||
!:mime application/x-shockwave-flash
|
||||
>>>3 byte x \b, version %d
|
||||
|
||||
|
||||
1 string WS
|
||||
>4 ulelong >14
|
||||
>>3 ubyte !0
|
||||
>>>0 use swf-details
|
||||
|
||||
# From: Cal Peake <[email protected]>
|
||||
0 string FLV\x01 Macromedia Flash Video
|
||||
@@ -34,7 +56,7 @@
|
||||
|
||||
#
|
||||
# Yosu Gomez
|
||||
0 string AGD2\xbe\xb8\xbb\xcd\x00 Macromedia Freehand 7 Document
|
||||
0 string AGD3\xbe\xb8\xbb\xcc\x00 Macromedia Freehand 8 Document
|
||||
0 string AGD2\xbe\xb8\xbb\xcd\x00 Macromedia Freehand 7 Document
|
||||
0 string AGD3\xbe\xb8\xbb\xcc\x00 Macromedia Freehand 8 Document
|
||||
# From Dave Wilson
|
||||
0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
|
||||
0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
|
||||
@@ -0,0 +1,36 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: flif,v 1.1 2015/11/23 22:04:36 christos Exp $
|
||||
# flif: Magic data for file(1) command.
|
||||
# FLIF (Free Lossless Image Format)
|
||||
|
||||
0 string FLIF FLIF
|
||||
>4 string <H image data
|
||||
>>6 beshort x \b, %u
|
||||
>>8 beshort x \bx%u
|
||||
>>5 string 1 \b, 8-bit/color,
|
||||
>>5 string 2 \b, 16-bit/color,
|
||||
>>4 string 1 \b, grayscale, non-interlaced
|
||||
>>4 string 3 \b, RGB, non-interlaced
|
||||
>>4 string 4 \b, RGBA, non-interlaced
|
||||
>>4 string A \b, grayscale
|
||||
>>4 string C \b, RGB, interlaced
|
||||
>>4 string D \b, RGBA, interlaced
|
||||
>4 string >H \b, animation data
|
||||
>>5 ubyte <255 \b, %i frames
|
||||
>>>7 beshort x \b, %u
|
||||
>>>9 beshort x \bx%u
|
||||
>>>6 string =1 \b, 8-bit/color
|
||||
>>>6 string =2 \b, 16-bit/color
|
||||
>>5 ubyte 0xFF
|
||||
>>>6 beshort x \b, %i frames,
|
||||
>>>9 beshort x \b, %u
|
||||
>>>11 beshort x \bx%u
|
||||
>>>8 string =1 \b, 8-bit/color
|
||||
>>>8 string =2 \b, 16-bit/color
|
||||
>>4 string =Q \b, grayscale, non-interlaced
|
||||
>>4 string =S \b, RGB, non-interlaced
|
||||
>>4 string =T \b, RGBA, non-interlaced
|
||||
>>4 string =a \b, grayscale
|
||||
>>4 string =c \b, RGB, interlaced
|
||||
>>4 string =d \b, RGBA, interlaced
|
||||
+252
-19
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: fonts,v 1.27 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: fonts,v 1.37 2017/06/24 00:39:00 christos Exp $
|
||||
# fonts: file(1) magic for font data
|
||||
#
|
||||
0 search/1 FONT ASCII vfont text
|
||||
@@ -15,6 +15,56 @@
|
||||
6 string %!FontType1 PostScript Type 1 font program data
|
||||
0 string %!PS-Adobe-3.0\ Resource-Font PostScript Type 1 font text
|
||||
|
||||
# Summary: PostScript Type 1 Printer Font Metrics
|
||||
# URL: https://en.wikipedia.org/wiki/PostScript_fonts
|
||||
# Reference: http://partners.adobe.com/public/developer/en/font/5178.PFM.pdf
|
||||
# Modified by: Joerg Jenderek
|
||||
# Note: moved from ./msdos magic
|
||||
# dfVersion 256=0100h
|
||||
0 uleshort 0x0100
|
||||
# GRR: line above is too general as it catches also TrueType font,
|
||||
# raw G3 data FAX, WhatsApp encrypted and Panorama database
|
||||
# dfType 129=0081h
|
||||
>66 uleshort 0x0081
|
||||
# dfVertRes 300=012Ch not needed as additional test
|
||||
#>>70 uleshort 0x012c
|
||||
# dfHorizRes 300=012Ch
|
||||
#>>>72 uleshort 0x012c
|
||||
# dfDriverInfo points to postscript information section
|
||||
>>(101.l) string/c Postscript Printer Font Metrics
|
||||
# above labeled "PFM data" by ./msdos (version 5.28) or "Adobe Printer Font Metrics" by TrID
|
||||
!:mime application/x-font-pfm
|
||||
# AppleShare Print Server
|
||||
#!:apple ASPS????
|
||||
!:ext pfm
|
||||
# dfCopyright 60 byte null padded Copyright string. uncomment it to get old looking
|
||||
#>>>6 string >\060 - %-.60s
|
||||
# dfDriverInfo
|
||||
>>>139 ulelong >0
|
||||
# often abbreviated and same as filename
|
||||
>>>>(139.l) string x %s
|
||||
# dfSize
|
||||
>>>2 ulelong x \b, %d bytes
|
||||
# dfFace 210=D2h 9Eh
|
||||
>>>105 ulelong >0
|
||||
# Windows font name
|
||||
>>>>(105.l) string x \b, %s
|
||||
# dfItalic
|
||||
>>>80 ubyte 1 italic
|
||||
# dfUnderline
|
||||
>>>81 ubyte 1 underline
|
||||
# dfStrikeOut
|
||||
>>>82 ubyte 1 strikeout
|
||||
# dfWeight 400=0x0190 300=0x012c 500=0x01f4 600=0x0258 700=0x02bc
|
||||
>>>83 uleshort >699 bold
|
||||
# dfPitchAndFamily 16 17 48 49 64 65
|
||||
>>>90 ubyte 16 serif
|
||||
>>>90 ubyte 17 serif proportional
|
||||
#>>>90 ubyte 48 other
|
||||
>>>90 ubyte 49 proportional
|
||||
>>>90 ubyte 64 script
|
||||
>>>90 ubyte 65 script proportional
|
||||
|
||||
# X11 font files in SNF (Server Natural Format) format
|
||||
# updated by Joerg Jenderek at Feb 2013
|
||||
# http://computer-programming-forum.com/51-perl/8f22fb96d2e34bab.htm
|
||||
@@ -22,18 +72,39 @@
|
||||
#>104 belong 00000004 X11 SNF font data, MSB first
|
||||
!:mime application/x-font-sfn
|
||||
# GRR: line below too general as it catches also Xbase index file t3-CHAR.NDX
|
||||
0 lelong 00000004
|
||||
0 lelong 00000004
|
||||
>104 lelong 00000004 X11 SNF font data, LSB first
|
||||
!:mime application/x-font-sfn
|
||||
|
||||
# X11 Bitmap Distribution Format, from Daniel Quinlan ([email protected])
|
||||
0 search/1 STARTFONT\ X11 BDF font text
|
||||
|
||||
# From: Joerg Jenderek
|
||||
# URL: http://grub.gibibit.com/New_font_format
|
||||
# Reference: util/grub-mkfont.c
|
||||
# include/grub/fontformat.h
|
||||
# FONT_FORMAT_SECTION_NAMES_FILE
|
||||
0 string FILE
|
||||
# FONT_FORMAT_PFF2_MAGIC
|
||||
>8 string PFF2
|
||||
# leng 4 only at the moment
|
||||
>>4 ubelong 4
|
||||
# FONT_FORMAT_SECTION_NAMES_FONT_NAME
|
||||
>>>12 string NAME GRUB2 font
|
||||
!:mime application/x-font-pf2
|
||||
!:ext pf2
|
||||
# length of font_name
|
||||
>>>>16 ubelong >0
|
||||
# font_name
|
||||
>>>>>20 string >\0 "%-s"
|
||||
|
||||
# X11 fonts, from Daniel Quinlan ([email protected])
|
||||
# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
|
||||
0 string \001fcp X11 Portable Compiled Font data
|
||||
>12 byte 0x02 \b, LSB first
|
||||
>12 byte 0x0a \b, MSB first
|
||||
0 string \001fcp X11 Portable Compiled Font data,
|
||||
>12 lelong ^0x08 bit: LSB,
|
||||
>12 lelong &0x08 bit: MSB,
|
||||
>12 lelong ^0x04 byte: LSB first
|
||||
>12 lelong &0x04 byte: MSB first
|
||||
0 string D1.0\015 X11 Speedo font data
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -58,43 +129,205 @@
|
||||
4098 string DOSFONT DOSFONT2 encrypted font data
|
||||
|
||||
# downloadable fonts for browser (prints type) [email protected]
|
||||
0 string PFR1 PFR1 font
|
||||
# https://tools.ietf.org/html/rfc3073
|
||||
0 string PFR1 Portable Font Resource font data (new)
|
||||
>102 string >0 \b: %s
|
||||
0 string PFR0 Portable Font Resource font data (old)
|
||||
>4 beshort >0 version %d
|
||||
|
||||
# True Type fonts
|
||||
0 string \000\001\000\000\000 TrueType font data
|
||||
!:mime application/x-font-ttf
|
||||
# Modified by: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/TrueType
|
||||
# Reference: https://developer.apple.com/fonts/TrueType-Reference-Manual/
|
||||
#
|
||||
# sfnt version "typ1" used by some Apple, but no example found
|
||||
0 string typ1
|
||||
>0 use sfnt-font
|
||||
>0 use sfnt-names
|
||||
# sfnt version "true" used by some Apple
|
||||
0 string true
|
||||
>0 use sfnt-font
|
||||
>0 use sfnt-names
|
||||
# GRR: below test is too general
|
||||
# sfnt version often 0x00010000
|
||||
0 string \000\001\000\000
|
||||
>0 use sfnt-font
|
||||
>0 use sfnt-names
|
||||
# validate and display sfnt font data like number of tables
|
||||
0 name sfnt-font
|
||||
# file 5.30 version assumes 00FFh as maximal number of tables
|
||||
#>4 ubeshort <0x0100
|
||||
# maximal 27 tables found like in Skia.ttf
|
||||
# 46 different table names mentioned on Apple specification
|
||||
# skip 1st sequence of DOS 2 backup with path separator (\~92 or /~47) misinterpreted as table number
|
||||
>4 ubeshort <47
|
||||
# skip bad examples with garbage table names like in a5.show HYPERC MAC
|
||||
# tag names consist of up to four characters padded with spaces at end like
|
||||
# BASE DSIG OS/2 Zapf acnt glyf cvt vmtx xref ...
|
||||
>>12 regex/4l \^[A-Za-z][A-Za-z][A-Za-z/][A-Za-z2\ ]
|
||||
#>>>0 ubelong x \b, sfnt version 0x%x
|
||||
>>>0 ubelong !0x4f54544f TrueType
|
||||
!:mime application/font-sfnt
|
||||
#!:mime font/ttf
|
||||
!:apple ????tfil
|
||||
# .ttf for TrueType font
|
||||
# EUDC.tte created by privat character editor %WINDIR%\system32\eudcedit.exe
|
||||
!:ext ttf/tte
|
||||
# sfnt version 4F54544Fh~OTTO
|
||||
>>>0 ubelong =0x4f54544f OpenType
|
||||
!:mime application/font-sfnt
|
||||
#!:mime font/otf
|
||||
!:apple ????OTTO
|
||||
!:ext otf
|
||||
>>>0 ubelong x Font data
|
||||
# DSIG=44454947h table name implies a digitally signed font
|
||||
# search range = number of tables * 16 =< maximal number of tables * 16 = 27 * 16 = 432
|
||||
>>>12 search/432 DSIG \b, digitally signed
|
||||
>>>4 ubeshort x \b, %d tables
|
||||
# minimal 9 tables found like in NISC18030.ttf
|
||||
#>>>4 ubeshort <10 TMIN
|
||||
#>>>4 ubeshort >24 TBIG
|
||||
# table directory entries
|
||||
>>>12 string x \b, 1st "%4.4s"
|
||||
|
||||
# search and display 1st name in sfnt font which is often copyright text
|
||||
# does not work inside font collections
|
||||
0 name sfnt-names
|
||||
# search for naming table
|
||||
>12 search/432/s name
|
||||
# biggest offset 0x0100bd28 like Windows10 Fonts\simsunb.ttf
|
||||
#>>>>&8 ubelong >0x0100bd27 BIGGEST OFFSET
|
||||
>>&8 ubelong >0x00100000
|
||||
# offset of name table
|
||||
>>>&-4 ubelong x \b, name offset 0x%x
|
||||
# GRR: pointer to name table only works if offset ~< FILE_BYTES_MAX = 100000h defined in src\file.h
|
||||
>>&8 ubelong <0x00100000
|
||||
>>>&-16 ubelong x
|
||||
# name table
|
||||
>>>>(&8.L) ubequad x
|
||||
# invalid format selector
|
||||
#>>>>>&-8 ubeshort !0 \b, invalid selector %x
|
||||
# minimal 3 name records found like in c:\Program Files (x86)\Tesseract-OCR\tessdata\pdf.ttf
|
||||
# maximal 1227 name records found like in Apple Chancery.ttf
|
||||
#>>>>>&-6 ubeshort <0x4 mincount
|
||||
#>>>>>&-6 ubeshort >130 maxcount
|
||||
>>>>>&-6 ubeshort x \b, %d names
|
||||
# offset to start of string storage from start of table
|
||||
#>>>>>&-4 ubeshort x \b, record offset %d
|
||||
# 1st name record
|
||||
# string offset from start of storage area
|
||||
#>>>>>&8 ubeshort x \b, string offset %d
|
||||
# string length
|
||||
#>>>>>&6 ubeshort x \b, string length %d
|
||||
# minimal name string 7 like in c:\Program Files (x86)\Kodi\addons\webinterface.default\lib\video-js\font\VideoJS.ttf
|
||||
# also found 0 like in SWZCONLN.TTF
|
||||
#>>>>>&6 ubeshort <8 MIN STRING
|
||||
# maximal name string 806 like in c:\Windows\Fonts\palabi.ttf
|
||||
#>>>>>&6 ubeshort >805 MAX STRING
|
||||
# platform identifier: 0~Apple Unicode, 1~Macintosh, 3~Microsoft
|
||||
#>>>>>&-2 ubeshort >3 BAD PLATFORM
|
||||
>>>>>&-2 ubeshort 0 \b, Unicode
|
||||
>>>>>&-2 ubeshort 1 \b, Macintosh
|
||||
>>>>>&-2 ubeshort 3 \b, Microsoft
|
||||
# languageID (0~english Macintosh, 0409h~english Microsoft, ...)
|
||||
>>>>>&2 ubeshort >0 \b, language 0x%x
|
||||
# name identifiers
|
||||
# often 0~copyright, 1~font, 2~font subfamily, 5~version, 13~license, 19~sample, ...
|
||||
>>>>>&4 ubeshort >0 \b, type %d string
|
||||
# platform specific encoding:
|
||||
# 0~undefined character set, 1~UGL set with Unicode, 3~Unicode 2.0 BMP only, 4~Unicode 2.0
|
||||
#>>>>>&0 ubeshort x \b, %d encoding
|
||||
>>>>>&0 ubeshort 0
|
||||
# handle only name string offset 0 because do not know how to add 2 relative offsets
|
||||
>>>>>>&6 ubeshort 0
|
||||
>>>>>>>&(&-14.S-18) ubyte !0
|
||||
# GRR: instead 806 only first MAXstring = 96 characters are displayed as defined in src\file.h
|
||||
# often copyright string that starts like \251 2006 The Monotype Corporation
|
||||
>>>>>>>>&-1 string x \b, %-11.96s
|
||||
# test for unicode string
|
||||
>>>>>>>&(&-14.S-18) ubyte 0
|
||||
>>>>>>>>&0 lestring16 x \b, %-11.96s
|
||||
# unicode encoding
|
||||
>>>>>&0 ubeshort >0
|
||||
>>>>>>&6 ubeshort 0
|
||||
>>>>>>>&(&-14.S-17) lestring16 x \b, %-11.96s
|
||||
|
||||
0 string \007\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
|
||||
0 string \012\001\001\000Copyright\ (c)\ 199 Adobe Multiple Master font
|
||||
|
||||
# TrueType/OpenType font collections (.ttc)
|
||||
# URL: https://en.wikipedia.org/wiki/OpenType
|
||||
# http://www.microsoft.com/typography/otspec/otff.htm
|
||||
0 string ttcf TrueType font collection data
|
||||
>4 belong 0x00010000 \b, 1.0
|
||||
>>8 belong >0 \b, %d fonts
|
||||
>4 belong 0x00020000 \b, 2.0
|
||||
>>8 belong >0 \b, %d fonts
|
||||
# Modified by: Joerg Jenderek
|
||||
# Note: container for TrueType, OpenType font
|
||||
0 string ttcf
|
||||
# skip ASCII text
|
||||
>4 ubyte 0
|
||||
# sfnt version often 0x00010000 of 1st table is TrueType
|
||||
>>(12.L) ubelong !0x4f54544f TrueType
|
||||
#!:mime font/ttf
|
||||
!:apple ????tfil
|
||||
!:ext ttc
|
||||
# sfnt version 4F54544Fh~OTTO of 1st table is OpenType font
|
||||
>>(12.L) ubelong =0x4f54544f OpenType
|
||||
#!:mime font/otf
|
||||
!:apple ????OTTO
|
||||
# no example found for otc
|
||||
!:ext ttc/otc
|
||||
>>4 ubyte x font collection data
|
||||
!:mime application/font-sfnt
|
||||
#!:mime font/collection
|
||||
# TCC version
|
||||
>>4 belong 0x00010000 \b, 1.0
|
||||
>>4 belong 0x00020000 \b, 2.0
|
||||
>>8 ubelong >0 \b, %d fonts
|
||||
# array offset size = fonts * offsetsize = fonts * 4
|
||||
>>(8.L*4) ubequad x
|
||||
# 0x44454947 = 'DSIG'
|
||||
>>>16 belong 0x44534947 \b, digitally signed
|
||||
>>>&4 belong 0x44534947 \b, digitally signed
|
||||
# offset to 1st font
|
||||
>>12 ubelong x \b, at 0x%x
|
||||
# point to 1st font that starts with sfnt version
|
||||
>>(12.L) use sfnt-font
|
||||
|
||||
# Opentype font data from Avi Bercovich
|
||||
0 string OTTO OpenType font data
|
||||
!:mime application/vnd.ms-opentype
|
||||
|
||||
# Gurkan Sengun <[email protected]>, www.linuks.mine.nu
|
||||
0 string SplineFontDB: Spline Font Database
|
||||
# Gurkan Sengun <[email protected]>, www.linuks.mine.nu
|
||||
0 string SplineFontDB: Spline Font Database
|
||||
!:mime application/vnd.font-fontforge-sfd
|
||||
>14 string x version %s
|
||||
|
||||
# EOT
|
||||
34 string LP Embedded OpenType (EOT)
|
||||
0x40 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
|
||||
>0x22 string LP Embedded OpenType (EOT)
|
||||
# workaround until there's lepstring16
|
||||
# >>0x52 lepstring16/h >\0 \b, %s family
|
||||
>>0x52 short !0
|
||||
>>>0x54 lestring16 x \b, %s family
|
||||
!:mime application/vnd.ms-fontobject
|
||||
|
||||
# Web Open Font Format (.woff)
|
||||
0 name woff
|
||||
>4 belong 0x00010000 \b, TrueType
|
||||
>4 belong 0x4F54544F \b, CFF
|
||||
>4 belong 0x74727565 \b, TrueType
|
||||
>4 default x
|
||||
>>4 belong x \b, flavor %d
|
||||
>8 belong x \b, length %d
|
||||
#>12 beshort x \b, numTables %d
|
||||
#>14 beshort x \b, reserved %d
|
||||
#>16 belong x \b, totalSfntSize %d
|
||||
|
||||
# http://www.w3.org/TR/WOFF/
|
||||
0 string wOFF Web Open Font Format
|
||||
>4 belong x \b, flavor %d
|
||||
>8 belong x \b, length %d
|
||||
>0 use woff
|
||||
>20 beshort x \b, version %d
|
||||
>22 beshort x \b.%d
|
||||
# http://www.w3.org/TR/WOFF2/
|
||||
0 string wOF2 Web Open Font Format (Version 2)
|
||||
>0 use woff
|
||||
#>20 belong x \b, totalCompressedSize %d
|
||||
>24 beshort x \b, version %d
|
||||
>26 beshort x \b.%d
|
||||
@@ -1,7 +1,9 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: fortran,v 1.9 2015/06/17 19:55:27 christos Exp $
|
||||
# $File: fortran,v 1.10 2015/11/05 18:47:16 christos Exp $
|
||||
# FORTRAN source
|
||||
0 regex/100l \^[Cc][\ \t] FORTRAN program text
|
||||
# Check that the first 100 lines start with C or whitespace first.
|
||||
0 regex/100l !\^[^Cc\ \t].*$
|
||||
>0 regex/100l \^[Cc][\ \t] FORTRAN program text
|
||||
!:mime text/x-fortran
|
||||
!:strength - 5
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: fsav,v 1.13 2013/03/25 17:18:47 christos Exp $
|
||||
# $File: fsav,v 1.14 2017/03/17 21:35:28 christos Exp $
|
||||
# fsav: file(1) magic for datafellows fsav virus definition files
|
||||
# Anthon van der Neut ([email protected])
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
#>>>>10 byte 11 \b12-
|
||||
#>>>>9 ubyte >0 \b%02d)
|
||||
# ftp://ftp.f-prot.com/pub/sign2.zip
|
||||
#0 ubyte 0x62
|
||||
#>1 ubyte 0xF5
|
||||
#>>2 ubyte 0x1
|
||||
#>>>3 ubyte 0x1
|
||||
#>>>>4 ubyte 0x0e
|
||||
#0 ubyte 0x62
|
||||
#>1 ubyte 0xF5
|
||||
#>>2 ubyte 0x1
|
||||
#>>>3 ubyte 0x1
|
||||
#>>>>4 ubyte 0x0e
|
||||
#>>>>>13 ubyte >0 fsav virus signatures
|
||||
#>>>>>>11 ubyte x size 0x%02x
|
||||
#>>>>>>12 ubyte x \b%02x
|
||||
@@ -44,16 +44,16 @@
|
||||
# .cvd files start with a 512 bytes colon separated header
|
||||
# ClamAV-VDB:buildDate:version:signaturesNumbers:functionalityLevelRequired:MD5:Signature:builder:buildTime
|
||||
# + gzipped tarball files
|
||||
0 string ClamAV-VDB:
|
||||
0 string ClamAV-VDB:
|
||||
>11 string >\0 Clam AntiVirus database %-.23s
|
||||
>>34 string :
|
||||
>>>35 string !: \b, version
|
||||
>>34 string :
|
||||
>>>35 string !: \b, version
|
||||
>>>>35 string x \b%-.1s
|
||||
>>>>>36 string !:
|
||||
>>>>>36 string !:
|
||||
>>>>>>36 string x \b%-.1s
|
||||
>>>>>>>37 string !:
|
||||
>>>>>>>37 string !:
|
||||
>>>>>>>>37 string x \b%-.1s
|
||||
>>>>>>>>>38 string !:
|
||||
>>>>>>>>>38 string !:
|
||||
>>>>>>>>>>38 string x \b%-.1s
|
||||
>512 string \037\213 \b, gzipped
|
||||
>769 string ustar\0 \b, tarred
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: games,v 1.14 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: games,v 1.15 2017/03/17 21:35:28 christos Exp $
|
||||
# games: file(1) for games
|
||||
|
||||
# Fabio Bonelli <[email protected]>
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
#0 string -1\x0a Quake I demo
|
||||
#>30 string x version %.4s
|
||||
#>61 string x level %s
|
||||
#>61 string x level %s
|
||||
|
||||
#0 string 5\x0a Quake I save
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
# Summary: NetImmerse game engine file
|
||||
# Extension .nif
|
||||
# Created by: Abel Cheung <[email protected]>
|
||||
0 string NetImmerse\ File\ Format,\ Versio
|
||||
0 string NetImmerse\ File\ Format,\ Versio
|
||||
>&0 string n\ NetImmerse game engine file
|
||||
>>&0 regex [0-9a-z.]+ \b, version %s
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gcc,v 1.4 2009/09/19 16:28:09 christos Exp $
|
||||
# $File: gcc,v 1.5 2016/07/01 23:31:13 christos Exp $
|
||||
# gcc: file(1) magic for GCC special files
|
||||
#
|
||||
0 string gpch GCC precompiled header
|
||||
@@ -12,6 +12,6 @@
|
||||
|
||||
# 67 = 'C', 111 = 'o', 43 = '+', 79 = 'O'
|
||||
>4 byte 67 for C
|
||||
>4 byte 111 for Objective C
|
||||
>4 byte 111 for Objective-C
|
||||
>4 byte 43 for C++
|
||||
>4 byte 79 for Objective C++
|
||||
>4 byte 79 for Objective-C++
|
||||
@@ -0,0 +1,10 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gconv
|
||||
# gconv: file(1) magic for iconv/gconv module configuration cache
|
||||
#
|
||||
# Magic number defined in glibc/iconv/iconvconfig.h as GCONVCACHE_MAGIC
|
||||
#
|
||||
# From: Marek Cermak <[email protected]>
|
||||
#
|
||||
0 lelong 0x20010324 gconv module configuration cache data
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: geo,v 1.3 2013/01/04 00:47:02 christos Exp $
|
||||
# $File: geo,v 1.4 2017/03/17 21:35:28 christos Exp $
|
||||
# Geo- files from Kurt Schwehr <[email protected]>
|
||||
|
||||
######################################################################
|
||||
@@ -57,7 +57,7 @@
|
||||
4 beshort 0x2002 GeoSwath RDF
|
||||
0 string Start:- GeoSwatch auf text file
|
||||
|
||||
# Seabeam 2100
|
||||
# Seabeam 2100
|
||||
# mbsystem code mb41
|
||||
0 string SB2100 SeaBeam 2100 multibeam sonar
|
||||
0 string SB2100DR SeaBeam 2100 DR multibeam sonar
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gnu,v 1.16 2015/04/19 22:59:25 christos Exp $
|
||||
# $File: gnu,v 1.18 2017/03/17 21:35:28 christos Exp $
|
||||
# gnu: file(1) magic for various GNU tools
|
||||
#
|
||||
# GNU nlsutils message catalog file format
|
||||
@@ -34,8 +34,11 @@
|
||||
|
||||
# This magic is not particularly good, as the keyrings don't have true
|
||||
# magic. Nevertheless, it covers many keyrings.
|
||||
0 beshort 0x9901 GPG key public ring
|
||||
!:mime application/x-gnupg-keyring
|
||||
0 ubeshort-0x9901 <2
|
||||
>3 byte 4
|
||||
>>4 bedate x GPG key public ring, created %s
|
||||
!:mime application/x-gnupg-keyring
|
||||
|
||||
|
||||
# Symmetric encryption
|
||||
0 leshort 0x0d8c
|
||||
@@ -68,7 +71,7 @@
|
||||
# they will ordinarily reported as "compressed", but at least -z helps
|
||||
39 string =<gmr:Workbook Gnumeric spreadsheet
|
||||
|
||||
# From: James Youngman <[email protected]>
|
||||
# From: James Youngman <[email protected]>
|
||||
# gnu find magic
|
||||
0 string \0LOCATE GNU findutils locate database data
|
||||
>7 string >\0 \b, format %s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gpt,v 1.3 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: gpt,v 1.4 2017/03/17 21:35:28 christos Exp $
|
||||
#
|
||||
# GPT Partition table patterns.
|
||||
# Author: Rogier Goossens ([email protected])
|
||||
@@ -36,7 +36,7 @@
|
||||
>>>>>>>>>>>>>(454.l*8192) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
>>>>>>>>>>>>>>&-8 use gpt-table
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>(454.l*8192) string !EFI\ PART
|
||||
>>>>>>>>>>>>>>(454.l*4096) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
@@ -66,7 +66,7 @@
|
||||
>>>>>>>>>>>>>(470.l*8192) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
>>>>>>>>>>>>>>&-8 use gpt-table
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>(470.l*8192) string !EFI\ PART
|
||||
>>>>>>>>>>>>>>(470.l*4096) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
@@ -96,7 +96,7 @@
|
||||
>>>>>>>>>>>>>(486.l*8192) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
>>>>>>>>>>>>>>&-8 use gpt-table
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>(486.l*8192) string !EFI\ PART
|
||||
>>>>>>>>>>>>>>(486.l*4096) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
@@ -126,7 +126,7 @@
|
||||
>>>>>>>>>>>>>(502.l*8192) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
>>>>>>>>>>>>>>&-8 use gpt-table
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>>0 ubyte x of 8192 bytes
|
||||
>>>>>>>>>>>>>(502.l*8192) string !EFI\ PART
|
||||
>>>>>>>>>>>>>>(502.l*4096) string EFI\ PART GPT partition table
|
||||
>>>>>>>>>>>>>>>0 use gpt-mbr-type
|
||||
@@ -166,7 +166,7 @@
|
||||
##>(8.l*8192) string EFI\ PART
|
||||
##>>(8.l*8192) use gpt-mbr-type
|
||||
##>>&-8 use gpt-table
|
||||
##>>0 ubyte x of 8192 bytes
|
||||
##>>0 ubyte x of 8192 bytes
|
||||
##>(8.l*8192) string !EFI\ PART
|
||||
##>>(8.l*4096) string EFI\ PART GPT partition table
|
||||
##>>>0 use gpt-mbr-type
|
||||
@@ -212,7 +212,7 @@
|
||||
>>486 ulelong !1 \b (nonstandard: not at LBA 1)
|
||||
# GPT with protective MBR entry in partition 4
|
||||
>498 ubyte 0xee
|
||||
>>502 ulelong 1
|
||||
>>502 ulelong 1
|
||||
>>>446 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR)
|
||||
>>502 ulelong !1 \b (nonstandard: not at LBA 1)
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gpu,v 1.2 2017/03/23 22:11:53 christos Exp $
|
||||
# gpu: file(1) magic for GPU input files
|
||||
|
||||
# Standard Portable Intermediate Representation (SPIR)
|
||||
# Documentation: https://www.khronos.org/spir
|
||||
# Typical file extension: .spv
|
||||
|
||||
0 belong 0x07230203 Khronos SPIR-V binary, big-endian
|
||||
>4 belong x \b, version 0x%08x
|
||||
>8 belong x \b, generator 0x%08x
|
||||
|
||||
0 lelong 0x07230203 Khronos SPIR-V binary, little-endian
|
||||
>4 lelong x \b, version 0x%08x
|
||||
>8 lelong x \b, generator 0x%08x
|
||||
|
||||
# Vulkan Trace file
|
||||
# Documentation:
|
||||
# https://github.com/LunarG/VulkanTools/blob/master/vktrace/vktrace_common/\
|
||||
# vktrace_trace_packet_identifiers.h
|
||||
# Typical file extension: .vktrace
|
||||
|
||||
8 lequad 0xABADD068ADEAFD0C Vulkan trace file, little-endian
|
||||
>0 leshort x \b, version %d
|
||||
|
||||
8 bequad 0xABADD068ADEAFD0C Vulkan trace file, big-endian
|
||||
>0 beshort x \b, version %d
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: gringotts,v 1.5 2009/09/19 16:28:09 christos Exp $
|
||||
# $File: gringotts,v 1.6 2017/03/17 21:35:28 christos Exp $
|
||||
# gringotts: file(1) magic for Gringotts
|
||||
# http://devel.pluto.linux.it/projects/Gringotts/
|
||||
# author: Germano Rizzo <[email protected]>
|
||||
@@ -9,10 +9,10 @@
|
||||
#file format 1
|
||||
>3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
|
||||
#file format 2
|
||||
>3 string 2 v.2, MCRYPT S2K,
|
||||
>3 string 2 v.2, MCRYPT S2K,
|
||||
>>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
|
||||
>>8 byte&0x70 0x10 SERPENT crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
>>8 byte&0x70 0x30 CAST-256 crypt,
|
||||
>>8 byte&0x70 0x40 SAFER+ crypt,
|
||||
>>8 byte&0x70 0x50 LOKI97 crypt,
|
||||
@@ -27,10 +27,10 @@
|
||||
>>8 byte&0x03 0x02 lvl.6
|
||||
>>8 byte&0x03 0x03 lvl.9
|
||||
#file format 3
|
||||
>3 string 3 v.3, OpenPGP S2K,
|
||||
>3 string 3 v.3, OpenPGP S2K,
|
||||
>>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
|
||||
>>8 byte&0x70 0x10 SERPENT crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
>>8 byte&0x70 0x30 CAST-256 crypt,
|
||||
>>8 byte&0x70 0x40 SAFER+ crypt,
|
||||
>>8 byte&0x70 0x50 LOKI97 crypt,
|
||||
|
||||
@@ -1,22 +1,28 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: hitachi-sh,v 1.6 2013/01/29 19:31:33 christos Exp $
|
||||
# $File: hitachi-sh,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# hitach-sh: file(1) magic for Hitachi Super-H
|
||||
#
|
||||
# Super-H COFF
|
||||
#
|
||||
# below test line conflicts with 2nd NTFS filesystem sector
|
||||
0 beshort 0x0500 Hitachi SH big-endian COFF
|
||||
# updated by Joerg Jenderek at Oct 2015
|
||||
# https://en.wikipedia.org/wiki/COFF
|
||||
# https://de.wikipedia.org/wiki/Common_Object_File_Format
|
||||
# http://www.delorie.com/djgpp/doc/coff/filhdr.html
|
||||
# below test line conflicts with 2nd NTFS filesystem sector
|
||||
# 2nd NTFS filesystem sector often starts with 0x05004e00 for unicode string 5 NTLDR
|
||||
#0 ubelong&0xFFFFNMPQ 0x0500NMPQ Hitachi SH big-endian COFF
|
||||
>18 beshort&0x0002 =0x0000 object
|
||||
>18 beshort&0x0002 =0x0002 executable
|
||||
>18 beshort&0x0008 =0x0008 \b, stripped
|
||||
>18 beshort&0x0008 =0x0000 \b, not stripped
|
||||
#
|
||||
0 leshort 0x0550 Hitachi SH little-endian COFF
|
||||
>18 leshort&0x0002 =0x0000 object
|
||||
>18 leshort&0x0002 =0x0002 executable
|
||||
>18 leshort&0x0008 =0x0008 \b, stripped
|
||||
>18 leshort&0x0008 =0x0000 \b, not stripped
|
||||
# and Portable Gaming Notation Compressed format (*.WID http://pgn.freeservers.com/)
|
||||
0 beshort 0x0500
|
||||
# test for unused flag bits (0x8000,0x0800,0x0400,0x0200,x0080) in f_flags
|
||||
>18 ubeshort&0x8E80 0
|
||||
# use big endian variant of subroutine to display name+variables+flags
|
||||
# for common object formated files
|
||||
>>0 use \^display-coff
|
||||
|
||||
0 leshort 0x0550
|
||||
# test for unused flag bits in f_flags
|
||||
>18 uleshort&0x8E80 0
|
||||
# use little endian variant of subroutine to
|
||||
# display name+variables+flags for common object formated files
|
||||
>>0 use display-coff
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: ibm370,v 1.9 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: ibm370,v 1.10 2017/03/17 21:35:28 christos Exp $
|
||||
# ibm370: file(1) magic for IBM 370 and compatibles.
|
||||
#
|
||||
# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
|
||||
# What the heck *is* "USS/370"?
|
||||
# AIX 4.1's "/etc/magic" has
|
||||
#
|
||||
# 0 short 0535 370 sysV executable
|
||||
# 0 short 0535 370 sysV executable
|
||||
# >12 long >0 not stripped
|
||||
# >22 short >0 - version %d
|
||||
# >30 long >0 - 5.2 format
|
||||
# 0 short 0530 370 sysV pure executable
|
||||
# 0 short 0530 370 sysV pure executable
|
||||
# >12 long >0 not stripped
|
||||
# >22 short >0 - version %d
|
||||
# >30 long >0 - 5.2 format
|
||||
#
|
||||
# instead of the "USS/370" versions of the same magic numbers.
|
||||
#
|
||||
0 beshort 0537 370 XA sysV executable
|
||||
0 beshort 0537 370 XA sysV executable
|
||||
>12 belong >0 not stripped
|
||||
>22 beshort >0 - version %d
|
||||
>30 belong >0 - 5.2 format
|
||||
0 beshort 0532 370 XA sysV pure executable
|
||||
0 beshort 0532 370 XA sysV pure executable
|
||||
>12 belong >0 not stripped
|
||||
>22 beshort >0 - version %d
|
||||
>30 belong >0 - 5.2 format
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: ibm6000,v 1.12 2013/09/16 15:12:42 christos Exp $
|
||||
# $File: ibm6000,v 1.13 2017/03/17 21:35:28 christos Exp $
|
||||
# ibm6000: file(1) magic for RS/6000 and the RT PC.
|
||||
#
|
||||
0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module
|
||||
@@ -21,7 +21,7 @@
|
||||
0 beshort 0x01f7 64-bit XCOFF executable or object module
|
||||
>20 belong 0 not stripped
|
||||
# GRR: this test is still too general as it catches also many FATs of DOS filesystems
|
||||
4 belong &0x0feeddb0
|
||||
4 belong &0x0feeddb0
|
||||
# real core dump could not be 32-bit and 64-bit together
|
||||
>7 byte&0x03 !3 AIX core file
|
||||
>>1 byte &0x01 fulldump
|
||||
|
||||
+175
-12
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: icc,v 1.1 2013/01/08 01:43:18 christos Exp $
|
||||
# $File: icc,v 1.5 2017/08/13 00:21:47 christos Exp $
|
||||
# icc: file(1) magic for International Color Consortium file formats
|
||||
|
||||
#
|
||||
@@ -11,41 +11,204 @@
|
||||
# http://www.color.org/specification/ICC1v43_2010-12.pdf
|
||||
#
|
||||
# for Specification ICC.1:2010 (Profile version 4.3.0.0).
|
||||
# URL: http://fileformats.archiveteam.org/wiki/ICC_profile
|
||||
# Reference: http://www.color.org/iccmax/ICC.2-2016-7.pdf
|
||||
# Update: Joerg Jenderek
|
||||
#
|
||||
# Bytes 36 to 39 contain a generic profile file signature of "acsp";
|
||||
# bytes 40 to 43 "may be used to identify the primary platform/operating
|
||||
# system framework for which the profile was created".
|
||||
#
|
||||
# There are other fields that might be worth dumping as well.
|
||||
#
|
||||
# check and display ICC/ICM color profile
|
||||
0 name color-profile
|
||||
>36 string acsp
|
||||
# skip ASCII like Cognacspirit.txt by month <= 12
|
||||
>>26 ubeshort <13
|
||||
# platform/operating system. Only 5 mentioned
|
||||
|
||||
#
|
||||
# This appears to be what's used for Apple ColorSync profiles.
|
||||
# Instead of adding that, Apple just changed the generic "acsp" entry
|
||||
# to be for "ColorSync ICC Color Profile" rather than "Kodak Color
|
||||
# Management System, ICC Profile".
|
||||
# Yes, it's "APPL", not "AAPL"; see the spec.
|
||||
36 string acspAPPL ColorSync ICC Profile
|
||||
!:mime application/vnd.iccprofile
|
||||
>>>40 string APPL ColorSync
|
||||
|
||||
# Microsoft ICM color profile
|
||||
36 string acspMSFT Microsoft ICM Color Profile
|
||||
!:mime application/vnd.iccprofile
|
||||
>>>40 string MSFT Microsoft
|
||||
|
||||
# Yes, that's a blank after "SGI".
|
||||
36 string acspSGI\ SGI ICC Profile
|
||||
!:mime application/vnd.iccprofile
|
||||
>>>40 string SGI\ SGI
|
||||
|
||||
# XXX - is this what's used for the Sun KCMS or not? The standard file
|
||||
# uses just "acsp" for that, but Apple's file uses it for "ColorSync",
|
||||
# and there *is* an identified "primary platform" value of SUNW.
|
||||
36 string acspSUNW Sun KCMS ICC Profile
|
||||
>>>40 string SUNW Sun KCMS
|
||||
|
||||
# 5th platform
|
||||
>>>40 string TGNT Taligent
|
||||
|
||||
# remaining "l" "e" of "color profile" printed later to avoid error
|
||||
>>>40 string x color profi
|
||||
#>>>40 string x (%.4s)
|
||||
!:mime application/vnd.iccprofile
|
||||
# for "ICM" extension only versions 2.x and for Kodak "CC" 2.0 is found
|
||||
>>>8 ubyte =2
|
||||
# do not use empty message text to a avoid error like
|
||||
# icc, 82: Warning: Current entry does not yet have a description for adding a EXTENSION type
|
||||
# file.exe: could not find any valid magic files!
|
||||
>>>>9 ubyte !0 \ble
|
||||
!:ext icc/icm
|
||||
# minor version
|
||||
>>>>9 ubyte =0 \bl
|
||||
# Kodak colour management system
|
||||
>>>>>4 string =KCMS \be
|
||||
!:ext icc/icm/cc
|
||||
>>>>>4 string !KCMS \be
|
||||
!:ext icc/icm
|
||||
>>>8 ubyte !2 \ble
|
||||
!:ext icc
|
||||
# Profile version major.4bit-minor.sub1.sub2 like 4.3.0.0 (04300000h)
|
||||
>>>8 ubyte x %u
|
||||
>>>9 ubyte/16 x \b.%u
|
||||
# reserved and shall be null but 205.205 in umx1220u.icm
|
||||
>>>10 ubyte >0 \b.%u
|
||||
>>>>11 ubyte >0 \b.%u
|
||||
# preferred colour management module like appl CCMS KCMS Lino UCCM "Win " "FF "
|
||||
# skip space like in brmsl08f.icm and null like in brmsl09f.icm, brmsl07f.icm
|
||||
>>>4 string >\ \b, type %.2s
|
||||
>>>>6 string >\ \b%.1s
|
||||
>>>>>7 string >\ \b%.1s
|
||||
# colour space "XYZ " "Lab " "RGB " CMYK GRAY ...
|
||||
>>>16 string x \b, %.3s
|
||||
>>>19 string >\ \b%.1s
|
||||
# Profile Connection Space (PCS) field usually "XYZ " or "Lab " but sometimes
|
||||
# null or CMYK like in ISOcoated_v2_to_PSOcoated_v3_DeviceLink.icc
|
||||
>>>20 string >\0 \b/%.3s
|
||||
>>>>23 string >\ \b%.1s
|
||||
# eleven device classes
|
||||
>>>12 string x \b-%.4s device
|
||||
# skip 00001964h in hpf69000.icc or 0h in XRDC50Q.ICM or " ROT" in brmsl05f.icm
|
||||
>>>52 string >\040
|
||||
# skip "none" model like in "Trinitron Compatible 9300K G2.2.icm"
|
||||
>>>>52 ubelong !0x6e6f6e65
|
||||
# device manufacturer field like "HP " "IBM " EPSO
|
||||
>>>>>48 string x \b, %.2s
|
||||
>>>>>50 string >\ \b%.1s
|
||||
>>>>>51 string >\ \b%.1s
|
||||
# model like "ADI " "A265" and skip 20000404h in IS330.icm for RICOH RUSSIAN-SC
|
||||
>>>>>52 string >\ \ \b/%.3s
|
||||
>>>>>>55 string >\ \b%.1s
|
||||
>>>>>52 string x model
|
||||
# creator (often same as manufacture) like HP SONY XROX or null like in A925A.icm
|
||||
>>>80 string >\0 by %.2s
|
||||
>>>>82 string >\ \b%.1s
|
||||
>>>>>83 string >\ \b%.1s
|
||||
# profile size
|
||||
>>>0 ubelong x \b, %u bytes
|
||||
# skip invalid date 0 like in linearSRGB.icc
|
||||
>>>24 ubequad !0
|
||||
# datetime dd-mm-yyyy hh:mm:ss
|
||||
>>>>28 ubeshort x \b, %u
|
||||
# month <= 12
|
||||
>>>>26 ubeshort x \b-%u
|
||||
# year
|
||||
>>>>24 ubeshort x \b-%u
|
||||
# do not display midnight time like in CNHP8308.ICC
|
||||
>>>>30 ubequad&0xFFffFFffFFff0000 !0
|
||||
# hour <= 24
|
||||
>>>>>30 ubeshort x %u
|
||||
# minutes <= 59
|
||||
>>>>>32 ubeshort x \b:%.2u
|
||||
# seconds <= 59
|
||||
>>>>>34 ubeshort x \b:%.2u
|
||||
# vendor specific flags like 2 in HPCLJ5.ICM
|
||||
>>>44 ubeshort >0 \b, 0x%x vendor flags
|
||||
# profile flags bits 0-2 of least 16 used by ICC
|
||||
#>>>44 ubelong >0 \b, 0x%x flags
|
||||
# icEmbeddedProfileTrue
|
||||
>>>44 ubelong &1 \b, embedded
|
||||
# icEmbeddedProfileFalse
|
||||
#>>>44 ubelong ^1 \b, not embedded
|
||||
# icUseWithEmbeddedDataOnly
|
||||
>>>44 ubelong &2 \b, dependently
|
||||
# icUseAnywhere
|
||||
#>>>44 ubelong ^2 \b, independently
|
||||
>>>44 ubelong &4 \b, MCS
|
||||
#>>>44 ubelong ^4 \b, no MCS
|
||||
# vendor specific device attributes 1~srgb.icc
|
||||
# E000D00h~CNB7QEDA.ICM C000A00h~CNB5FCAA.ICM 01040401h~CNB25PE3.ICM
|
||||
>>>56 ubelong >0 \b, 0x%x vendor attribute
|
||||
# ICC device attributes bits 0-7 used
|
||||
#>>>60 ubelong x \b, 0x%x attribute
|
||||
# http://www.color.org/icc34.h
|
||||
>>>60 ubelong &0x01 \b, transparent
|
||||
#>>>60 ubelong ^0x01 \b, reflective
|
||||
>>>60 ubelong &0x02 \b, matte
|
||||
#>>>60 ubelong ^0x02 \b, glossy
|
||||
>>>60 ubelong &0x04 \b, negative
|
||||
#>>>60 ubelong ^0x04 \b, positive
|
||||
>>>60 ubelong &0x08 \b, black&white
|
||||
#>>>60 ubelong ^0x08 \b, colour
|
||||
>>>60 ubelong &0x10 \b, non-paper
|
||||
#>>>60 ubelong ^0x10 \b, paper
|
||||
>>>60 ubelong &0x20 \b, non-textured
|
||||
#>>>60 ubelong ^0x20 \b, textured
|
||||
>>>60 ubelong &0x40 \b, non-isotropic
|
||||
#>>>60 ubelong ^0x40 \b, isotropic
|
||||
>>>60 ubelong &0x80 \b, self-luminous
|
||||
#>>>60 ubelong ^0x80 \b, non-self-luminous
|
||||
# rendering intent 0-3 but 7AEA5027h in EE051__1.ICM 6CB1BCh in EE061__1.ICM
|
||||
>>>64 ubelong >3 \b, 0x%x rendering intent
|
||||
#>>>64 ubelong =0 \b, perceptual
|
||||
>>>64 ubelong =1 \b, relative colorimetric
|
||||
>>>64 ubelong =2 \b, saturation
|
||||
>>>64 ubelong =3 \b, absolute colorimetric
|
||||
# PCS illuminant (3*s15Fixed16Numbers) often 0000f6d6 00010000 0000d32d
|
||||
>>>71 ubequad !0xd6000100000000d3 \b, PCS
|
||||
# usually X~0.9642*65536=63189.8112~63190=F6D5h ; but also found
|
||||
# often F6D6 in gt5000r.icm, F6B8 in kodakce.icm, F6CA in RSWOP.icm
|
||||
>>>>68 ubelong !0x0000f6d5 X=0x%x
|
||||
# usually Y=1.0~00010000h but Y=0 in brmsl07f.icm
|
||||
>>>>72 ubelong !0x00010000 Y=0x%x
|
||||
# usually Z~0.8249*65536=54060.6464~54061=D32Dh ; but also found
|
||||
# D2F7 in hp1200c.icm, often D32C in A925A.icm, D309 in RSWOP.icm , D2F8 in kodak_dc.icm
|
||||
>>>>76 ubelong !0x0000d32d Z=0x%x
|
||||
# Profile ID. MD5 fingerprinting method as defined in Internet RFC 1321.
|
||||
>>>84 ubequad >0 \b, 0x%llx MD5
|
||||
# reserved in older versions should be zero but also found CDCDCDCDCDCDCDCD
|
||||
#>>100 ubequad x \b 0x%llx reserved
|
||||
# tag table
|
||||
# 6 <= tags count <= 43
|
||||
#>>>128 ubelong >43 \b, %u tags
|
||||
>>>128 ubelong x
|
||||
# shall contain the profileDescriptionTag "desc" , copyrightTag "cprt"
|
||||
# search range = tags count * 12 -8=< maximal tag count * 12 -8= 43 * 12 -8= 508
|
||||
>>>>132 search/508 cprt
|
||||
# but no copyright tag in linearSRGB.icc
|
||||
# beneath /System/Library/Frameworks/WebKit.framework/
|
||||
# Versions/A/Frameworks/WebCore.framework/Versions/A/Resources
|
||||
>>>>132 default x \b, no copyright tag
|
||||
# 1st tag
|
||||
#>>>132 string x \b, 1st tag %.4s
|
||||
#>>>136 ubelong x 0x%x offset
|
||||
#>>>140 ubelong x 0x%x len
|
||||
# 2nd tag,...
|
||||
# look also for profileDescriptionTag "desc"
|
||||
>>>132 search/508 desc
|
||||
# look further for TextDescriptionType "desc" signature
|
||||
>>>>(&0.L) string =desc
|
||||
>>>>>&4 pstring/l x "%s"
|
||||
# look alternative for multiLocalizedUnicodeType "mluc" signature like in VideoPAL.icc
|
||||
>>>>(&0.L) string =mluc
|
||||
>>>>>&(&8.L) ubequad x
|
||||
>>>>>>&4 bestring16 x '%s'
|
||||
|
||||
# Any other profile.
|
||||
# XXX - should we use "acsp\0\0\0\0" for "no primary platform" profiles,
|
||||
# and use "acsp" for everything else and dump the "primary platform"
|
||||
# string in those cases?
|
||||
36 string acsp ICC Profile
|
||||
!:mime application/vnd.iccprofile
|
||||
36 string acsp
|
||||
>0 use color-profile
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: images,v 1.107 2015/07/11 14:40:10 christos Exp $
|
||||
# $File: images,v 1.126 2017/06/11 22:25:44 christos Exp $
|
||||
# images: file(1) magic for image formats (see also "iff", and "c-lang" for
|
||||
# XPM bitmaps)
|
||||
#
|
||||
@@ -12,26 +12,160 @@
|
||||
|
||||
# Targa - matches `povray', `ppmtotga' and `xv' outputs
|
||||
# by Philippe De Muyter <[email protected]>
|
||||
# URL: http://justsolve.archiveteam.org/wiki/TGA
|
||||
# Reference: http://www.dca.fee.unicamp.br/~martino/disciplinas/ea978/tgaffs.pdf
|
||||
# Update: Joerg Jenderek
|
||||
# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11
|
||||
# ,32 or 33 (both not observed)
|
||||
# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise
|
||||
# or theoretically 2-128 reserved for use by Truevision or 128-255 may be used for developer applications
|
||||
# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs
|
||||
# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)
|
||||
# `tgatoppm' recognizes a superset (Index may be anything)
|
||||
1 belong&0xfff7ffff 0x01010000 Targa image data - Map
|
||||
!:strength + 2
|
||||
>2 byte&8 8 - RLE
|
||||
>12 leshort >0 %d x
|
||||
>14 leshort >0 %d
|
||||
1 belong&0xfff7ffff 0x00020000 Targa image data - RGB
|
||||
!:strength + 2
|
||||
>2 byte&8 8 - RLE
|
||||
>12 leshort >0 %d x
|
||||
>14 leshort >0 %d
|
||||
1 belong&0xfff7ffff 0x00030000 Targa image data - Mono
|
||||
!:strength + 2
|
||||
>2 byte&8 8 - RLE
|
||||
>12 leshort >0 %d x
|
||||
>14 leshort >0 %d
|
||||
#
|
||||
# test of Color Map Type 0~no 1~color map
|
||||
# and Image Type 1 2 3 9 10 11 32 33
|
||||
# and Color Map Entry Size 0 15 16 24 32
|
||||
0 ubequad&0x00FeC400000000C0 0
|
||||
# skip more garbage by looking for positive image type
|
||||
>2 ubyte >0
|
||||
# skip some compiled terminfo by looking for image type less equal 33
|
||||
>>2 ubyte <34
|
||||
# skip arches.3200 , Finder.Root , Slp.1 by looking for low pixel sizes 15 16 24 32
|
||||
>>>16 ubyte <33
|
||||
# skip more by looking for pixel size 0Fh 10h 18h 20h
|
||||
>>>>16 ubyte&0xC0 0x00
|
||||
# Color Map
|
||||
>>>>>1 belong&0xfff7ffff 0x01010000
|
||||
>>>>>>0 use tga-image
|
||||
>>>>>1 belong&0xfff7ffff 0x00020000
|
||||
>>>>>>0 use tga-image
|
||||
>>>>>1 belong&0xfff7ffff 0x00030000
|
||||
>>>>>>0 use tga-image
|
||||
>>>>>1 default x
|
||||
# skip 260-16.ico by looking for no color map
|
||||
>>>>>>1 ubyte 0
|
||||
# implies no first map entry
|
||||
>>>>>>>3 uleshort 0
|
||||
>>>>>>>>0 use tga-image
|
||||
# display tga bitmap image information
|
||||
0 name tga-image
|
||||
>2 ubyte <34 Targa image data
|
||||
!:mime image/x-tga
|
||||
!:apple ????TPIC
|
||||
# normal extension .tga but some Truevision products used others:
|
||||
# tpic (Apple),icb (Image Capture Board),vda (Video Display Adapter),vst (NuVista),win (UNSURE about that)
|
||||
!:ext tga/tpic/icb/vda/vst
|
||||
# image type 1 2 3 9 10 11 32 33
|
||||
>2 ubyte&0xF7 1 - Map
|
||||
>2 ubyte&0xF7 2 - RGB
|
||||
# alpha channel
|
||||
>>17 ubyte&0x0F >0 \bA
|
||||
>2 ubyte&0xF7 3 - Mono
|
||||
# type not found, but by http://www.fileformat.info/format/tga/corion.htm
|
||||
# Compressed color-mapped data, using Huffman, Delta, and runlength encoding
|
||||
>2 ubyte 32 - Color
|
||||
# Compressed color-mapped data, using Huffman, Delta, and RLE. 4-pass quadtree- type process
|
||||
>2 ubyte 33 - Color
|
||||
# Color Map Type 0~no 1~color map
|
||||
>1 ubyte 1 (
|
||||
# first color map entry, 0 normal
|
||||
>>3 uleshort >0 \b%d-
|
||||
# color map length 0 2 1dh 3bh d9h 100h
|
||||
>>5 uleshort x \b%d)
|
||||
# 8~run length encoding bit
|
||||
>2 ubyte&0x08 8 - RLE
|
||||
# gimp can create big pictures!
|
||||
>12 uleshort >0 %d x
|
||||
>12 uleshort =0 65536 x
|
||||
# image height. 0 interpreted as 65536
|
||||
>14 uleshort >0 %d
|
||||
>14 uleshort =0 65536
|
||||
# Image Pixel Size 15 16 24 32
|
||||
>16 ubyte x x %d
|
||||
# X origin of image. 0 normal
|
||||
>8 uleshort >0 +%d
|
||||
# Y origin of image. 0 normal; positive for top
|
||||
>10 uleshort >0 +%d
|
||||
# Image descriptor: bits 3-0 give the alpha channel depth, bits 5-4 give direction
|
||||
>17 ubyte&0x0F >0 - %d-bit alpha
|
||||
# bits 5-4 give direction. normal bottom left
|
||||
>17 ubyte &0x20 - top
|
||||
#>17 ubyte ^0x20 - bottom
|
||||
>17 ubyte &0x10 - right
|
||||
#>17 ubyte ^0x10 - left
|
||||
# some info say other bits 6-7 should be zero
|
||||
# but data storage interleave by http://www.fileformat.info/format/tga/corion.htm
|
||||
# 00 - no interleave;01 - even/odd interleave; 10 - four way interleave; 11 - reserved
|
||||
#>17 ubyte&0xC0 0x00 - no interleave
|
||||
>17 ubyte&0xC0 0x40 - interleave
|
||||
>17 ubyte&0xC0 0x80 - four way interleave
|
||||
>17 ubyte&0xC0 0xC0 - reserved
|
||||
# positive length implies identification field
|
||||
>0 ubyte >0
|
||||
>>18 string x "%s"
|
||||
# last 18 bytes of newer tga file footer signature
|
||||
>18 search/4261301/s TRUEVISION-XFILE.\0
|
||||
# extension area offset if not 0
|
||||
>>&-8 ulelong >0
|
||||
# length of the extension area. normal 495 for version 2.0
|
||||
>>>(&-4.l) uleshort 0x01EF
|
||||
# AuthorName[41]
|
||||
>>>>&0 string >\0 - author "%-.40s"
|
||||
# Comment[324]=4 * 80 null terminated
|
||||
>>>>&41 string >\0 - comment "%-.80s"
|
||||
# date
|
||||
>>>>&365 ubequad&0xffffFFFFffff0000 !0
|
||||
# Day
|
||||
>>>>>&-6 uleshort x %d
|
||||
# Month
|
||||
>>>>>&-8 uleshort x \b-%d
|
||||
# Year
|
||||
>>>>>&-4 uleshort x \b-%d
|
||||
# time
|
||||
>>>>&371 ubequad&0xffffFFFFffff0000 !0
|
||||
# hour
|
||||
>>>>>&-8 uleshort x %d
|
||||
# minutes
|
||||
>>>>>&-6 uleshort x \b:%.2d
|
||||
# second
|
||||
>>>>>&-4 uleshort x \b:%.2d
|
||||
# JobName[41]
|
||||
>>>>&377 string >\0 - job "%-.40s"
|
||||
# JobHour Jobminute Jobsecond
|
||||
>>>>&418 ubequad&0xffffFFFFffff0000 !0
|
||||
>>>>>&-8 uleshort x %d
|
||||
>>>>>&-6 uleshort x \b:%.2d
|
||||
>>>>>&-4 uleshort x \b:%.2d
|
||||
# SoftwareId[41]
|
||||
>>>>&424 string >\0 - %-.40s
|
||||
# SoftwareVersionNumber
|
||||
>>>>&424 ubyte >0
|
||||
>>>>>&40 uleshort/100 x %d
|
||||
>>>>>&40 uleshort%100 x \b.%d
|
||||
# VersionLetter
|
||||
>>>>>&42 ubyte >0x20 \b%c
|
||||
# KeyColor
|
||||
>>>>&468 ulelong >0 - keycolor 0x%8.8x
|
||||
# Denominator of Pixel ratio. 0~no pixel aspect
|
||||
>>>>&474 uleshort >0
|
||||
# Numerator
|
||||
>>>>>&-4 uleshort >0 - aspect %d
|
||||
>>>>>&-2 uleshort x \b/%d
|
||||
# Denominator of Gamma ratio. 0~no Gamma value
|
||||
>>>>&478 uleshort >0
|
||||
# Numerator
|
||||
>>>>>&-4 uleshort >0 - gamma %d
|
||||
>>>>>&-2 uleshort x \b/%d
|
||||
# ColorOffset
|
||||
#>>>>&480 ulelong x - col offset 0x%8.8x
|
||||
# StampOffset
|
||||
#>>>>&484 ulelong x - stamp offset 0x%8.8x
|
||||
# ScanOffset
|
||||
#>>>>&488 ulelong x - scan offset 0x%8.8x
|
||||
# AttributesType
|
||||
#>>>>&492 ubyte x - Attributes 0x%x
|
||||
## EndOfTGA
|
||||
|
||||
# PBMPLUS images
|
||||
# The next byte following the magic is always whitespace.
|
||||
@@ -41,39 +175,45 @@
|
||||
>>&0 regex =[0-9]{1,50} \b, size = %s x
|
||||
>>>&0 regex =[0-9]{1,50} \b %s
|
||||
|
||||
0 search/1 P1
|
||||
>0 use netpbm
|
||||
>>0 string x \b, bitmap
|
||||
0 search/1 P1
|
||||
>0 regex/4 P1[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, bitmap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-bitmap
|
||||
|
||||
0 search/1 P2
|
||||
>0 use netpbm
|
||||
>>0 string x \b, greymap
|
||||
0 search/1 P2
|
||||
>0 regex/4 P2[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, greymap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-greymap
|
||||
|
||||
0 search/1 P3
|
||||
>0 use netpbm
|
||||
>>0 string x \b, pixmap
|
||||
>0 regex/4 P3[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, pixmap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-pixmap
|
||||
|
||||
0 string P4
|
||||
>0 use netpbm
|
||||
>>0 string x \b, rawbits, bitmap
|
||||
0 string P4
|
||||
>0 regex/4 P4[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, rawbits, bitmap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-bitmap
|
||||
|
||||
0 string P5
|
||||
>0 use netpbm
|
||||
>>0 string x \b, rawbits, greymap
|
||||
0 string P5
|
||||
>0 regex/4 P5[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, rawbits, greymap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-greymap
|
||||
|
||||
0 string P6
|
||||
>0 use netpbm
|
||||
>>0 string x \b, rawbits, pixmap
|
||||
0 string P6
|
||||
>0 regex/4 P6[\040\t\f\r\n]
|
||||
>>0 use netpbm
|
||||
>>>0 string x \b, rawbits, pixmap
|
||||
!:strength + 45
|
||||
!:mime image/x-portable-pixmap
|
||||
|
||||
@@ -168,7 +308,7 @@
|
||||
>>>8 leshort 0x8765 \bJBIG
|
||||
>>>8 leshort 0x8798 \bJPEG2000
|
||||
>>>8 leshort 0x8799 \bNikon NEF Compressed
|
||||
>>>8 default x
|
||||
>>>8 default x
|
||||
>>>>8 leshort x \b(unknown 0x%x)
|
||||
>>>12 use tiff_entry
|
||||
>0 leshort 0x106 \b, PhotometricIntepretation=
|
||||
@@ -279,21 +419,35 @@
|
||||
# (Greg Roelofs, [email protected])
|
||||
# (Albert Cahalan, [email protected])
|
||||
#
|
||||
# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...
|
||||
# 137 P N G \r \n ^Z \n [4-byte length] I H D R [HEAD data] [HEAD crc] ...
|
||||
#
|
||||
0 string \x89PNG\x0d\x0a\x1a\x0a PNG image data
|
||||
|
||||
# IHDR parser
|
||||
0 name png-ihdr
|
||||
>0 belong x \b, %d x
|
||||
>4 belong x %d,
|
||||
>8 byte x %d-bit
|
||||
>9 byte 0 grayscale,
|
||||
>9 byte 2 \b/color RGB,
|
||||
>9 byte 3 colormap,
|
||||
>9 byte 4 gray+alpha,
|
||||
>9 byte 6 \b/color RGBA,
|
||||
#>10 byte 0 deflate/32K,
|
||||
>12 byte 0 non-interlaced
|
||||
>12 byte 1 interlaced
|
||||
|
||||
# Standard PNG image.
|
||||
0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0DIHDR PNG image data
|
||||
!:mime image/png
|
||||
>16 belong x \b, %d x
|
||||
>20 belong x %d,
|
||||
>24 byte x %d-bit
|
||||
>25 byte 0 grayscale,
|
||||
>25 byte 2 \b/color RGB,
|
||||
>25 byte 3 colormap,
|
||||
>25 byte 4 gray+alpha,
|
||||
>25 byte 6 \b/color RGBA,
|
||||
#>26 byte 0 deflate/32K,
|
||||
>28 byte 0 non-interlaced
|
||||
>28 byte 1 interlaced
|
||||
!:strength +10
|
||||
>16 use png-ihdr
|
||||
|
||||
# Apple CgBI PNG image.
|
||||
0 string \x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x04CgBI
|
||||
>24 string \x00\x00\x00\x0DIHDR PNG image data (CgBI)
|
||||
!:mime image/png
|
||||
!:strength +10
|
||||
>>32 use png-ihdr
|
||||
|
||||
# possible GIF replacements; none yet released!
|
||||
# (Greg Roelofs, [email protected])
|
||||
@@ -303,13 +457,13 @@
|
||||
!:mime image/x-unknown
|
||||
#
|
||||
# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better):
|
||||
#
|
||||
#
|
||||
0 string FGF95a FGF image (GIF+deflate beta)
|
||||
!:mime image/x-unknown
|
||||
#
|
||||
# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal
|
||||
# (best; not yet implemented):
|
||||
#
|
||||
#
|
||||
0 string PBF PBF image (deflate compression)
|
||||
!:mime image/x-unknown
|
||||
|
||||
@@ -393,19 +547,19 @@
|
||||
# http://www.blackfiveservices.co.uk/awbmtools.shtml
|
||||
# http://biosgfx.narod.ru/v3/
|
||||
# http://biosgfx.narod.ru/abr-2/
|
||||
0 string AWBM
|
||||
0 string AWBM
|
||||
>4 leshort <1981 Award BIOS bitmap
|
||||
!:mime image/x-award-bmp
|
||||
# image width is a multiple of 4
|
||||
>>4 leshort&0x0003 0
|
||||
>>4 leshort&0x0003 0
|
||||
>>>4 leshort x \b, %d
|
||||
>>>6 leshort x x %d
|
||||
>>4 leshort&0x0003 >0 \b,
|
||||
>>>4 leshort&0x0003 =1
|
||||
>>>4 leshort&0x0003 =1
|
||||
>>>>4 leshort x %d+3
|
||||
>>>4 leshort&0x0003 =2
|
||||
>>>4 leshort&0x0003 =2
|
||||
>>>>4 leshort x %d+2
|
||||
>>>4 leshort&0x0003 =3
|
||||
>>>4 leshort&0x0003 =3
|
||||
>>>>4 leshort x %d+1
|
||||
>>>6 leshort x x %d
|
||||
# at offset 8 starts imagedata followed by "RGB " marker
|
||||
@@ -545,8 +699,12 @@
|
||||
0 beshort 0x1010 PEX Binary Archive
|
||||
|
||||
# DICOM medical imaging data
|
||||
# URL: https://en.wikipedia.org/wiki/DICOM#Data_format
|
||||
# Note: "dcm" is the official file name extension
|
||||
# XnView mention also "dc3" and "acr" as file name extension
|
||||
128 string DICM DICOM medical imaging data
|
||||
!:mime application/dicom
|
||||
!:ext dcm/dicom/dic
|
||||
|
||||
# XWD - X Window Dump file.
|
||||
# As described in /usr/X11R6/include/X11/XWDFile.h
|
||||
@@ -625,11 +783,11 @@
|
||||
# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt
|
||||
# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000
|
||||
# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT
|
||||
0 ubelong&0xffF8fe00 0x0a000000
|
||||
# for PCX bit depth > 0
|
||||
>3 ubyte >0
|
||||
0 ubelong&0xffF8fe00 0x0a000000
|
||||
# for PCX bit depth > 0
|
||||
>3 ubyte >0
|
||||
# test for valid versions
|
||||
>>1 ubyte <6
|
||||
>>1 ubyte <6
|
||||
>>>1 ubyte !1 PCX
|
||||
!:mime image/x-pcx
|
||||
#!:mime image/pcx
|
||||
@@ -686,30 +844,67 @@
|
||||
|
||||
# GEM Image: Version 1, Headerlen 8 (Wolfram Kleff)
|
||||
# Format variations from: Bernd Nuernberger <[email protected]>
|
||||
# Update: Joerg Jenderek
|
||||
# See http://fileformats.archiveteam.org/wiki/GEM_Raster
|
||||
# For variations, also see:
|
||||
# http://www.seasip.info/Gem/ff_img.html (Ventura)
|
||||
# http://www.seasip.info/Gem/ff_img.html (Ventura)
|
||||
# http://www.atari-wiki.com/?title=IMG_file (XIMG, STTT)
|
||||
# http://www.fileformat.info/format/gemraster/spec/index.htm (XIMG, STTT)
|
||||
# http://sylvana.net/1stguide/1STGUIDE.ENG (TIMG)
|
||||
0 beshort 0x0001
|
||||
>2 beshort 0x0008 GEM Image data
|
||||
# header_size
|
||||
>2 beshort 0x0008
|
||||
>>0 use gem_info
|
||||
>2 beshort 0x0009 GEM Image data (Ventura)
|
||||
>2 beshort 0x0009
|
||||
>>0 use gem_info
|
||||
16 string XIMG\0 GEM XIMG Image data
|
||||
# no example for NOSIG
|
||||
>2 beshort 24
|
||||
>>0 use gem_info
|
||||
# no example for HYPERPAINT
|
||||
>2 beshort 25
|
||||
>>0 use gem_info
|
||||
16 string XIMG\0
|
||||
>0 use gem_info
|
||||
16 string STTT\0\x10 GEM STTT Image data
|
||||
# no example
|
||||
16 string STTT\0\x10
|
||||
>0 use gem_info
|
||||
16 string TIMG\0 GEM TIMG Image data
|
||||
# no example or description
|
||||
16 string TIMG\0
|
||||
>0 use gem_info
|
||||
|
||||
0 name gem_info
|
||||
>12 beshort x %d x
|
||||
>14 beshort x %d,
|
||||
>4 beshort x %d planes,
|
||||
>8 beshort x %d x
|
||||
>10 beshort x %d pixelsize
|
||||
# version is 2 for some XIMG and 1 for all others
|
||||
>0 beshort <0x0003 GEM
|
||||
# http://www.snowstone.org.uk/riscos/mimeman/mimemap.txt
|
||||
!:mime image/x-gem
|
||||
# header_size 24 25 27 59 779 words for colored bitmaps
|
||||
>>2 beshort >9
|
||||
>>>16 string STTT\0\x10 STTT
|
||||
>>>16 string TIMG\0 TIMG
|
||||
# HYPERPAINT or NOSIG variant
|
||||
>>>16 string \0\x80
|
||||
>>>>2 beshort =24 NOSIG
|
||||
>>>>2 beshort !24 HYPERPAINT
|
||||
# NOSIG or XIMG variant
|
||||
>>>16 default x
|
||||
>>>>16 string !XIMG\0 NOSIG
|
||||
>>16 string =XIMG\0 XIMG Image data
|
||||
!:ext img/ximg
|
||||
# to avoid Warning: Current entry does not yet have a description for adding a EXTENSION type
|
||||
>>16 string !XIMG\0 Image data
|
||||
!:ext img
|
||||
# header_size is 9 for Ventura files and 8 for other GEM Paint files
|
||||
>>2 beshort 9 (Ventura)
|
||||
#>>2 beshort 8 (Paint)
|
||||
>>12 beshort x %d x
|
||||
>>14 beshort x %d,
|
||||
# 1 4 8
|
||||
>>4 beshort x %d planes,
|
||||
# in tenths of a millimetre
|
||||
>>8 beshort x %d x
|
||||
>>10 beshort x %d pixelsize
|
||||
# pattern_size 1-8. 2 for GEM Paint
|
||||
>>6 beshort !2 \b, pattern size %d
|
||||
|
||||
# GEM Metafile (Wolfram Kleff)
|
||||
0 lelong 0x0018FFFF GEM Metafile data
|
||||
@@ -998,7 +1193,22 @@
|
||||
!:mime image/x-polar-monitor-bitmap
|
||||
|
||||
# From: Rick Richardson <[email protected]>
|
||||
# updated by: Joerg Jenderek
|
||||
# URL: http://techmods.net/nuvi/
|
||||
0 string GARMIN\ BITMAP\ 01 Garmin Bitmap file
|
||||
# extension is also used for
|
||||
# Sony SRF raw image (image/x-sony-srf)
|
||||
# SRF map
|
||||
# Terragen Surface Map (http://www.planetside.co.uk/terragen)
|
||||
# FileLocator Pro search criteria file (http://www.mythicsoft.com/filelocatorpro)
|
||||
!:ext srf
|
||||
#!:mime image/x-garmin-srf
|
||||
# version 1.00,2.00,2.10,2.40,2.50
|
||||
>0x2f string >0 \b, version %4.4s
|
||||
# width (2880,2881,3240)
|
||||
>0x55 uleshort >0 \b, %dx
|
||||
# height (80,90)
|
||||
>>0x53 uleshort x \b%d
|
||||
|
||||
# Type: Ulead Photo Explorer5 (.pe5)
|
||||
# URL: http://www.jisyo.com/cgibin/view.cgi?EXT=pe5 (Japanese)
|
||||
@@ -1120,3 +1330,152 @@
|
||||
#
|
||||
0 string \x42\x50\x47\xFB BPG (Better Portable Graphics)
|
||||
!:mime image/bpg
|
||||
|
||||
# From: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/Apple_Icon_Image_format
|
||||
0 string icns Mac OS X icon
|
||||
!:mime image/x-icns
|
||||
!:apple ????icns
|
||||
!:ext icns
|
||||
>4 ubelong >0
|
||||
# file size
|
||||
>>4 ubelong x \b, %d bytes
|
||||
# icon type
|
||||
>>8 string x \b, "%4.4s" type
|
||||
|
||||
# TIM images
|
||||
0 lelong 0x00000010 TIM image,
|
||||
>4 lelong 0x8 4-Bit,
|
||||
>4 lelong 0x9 8-Bit,
|
||||
>4 lelong 0x2 15-Bit,
|
||||
>4 lelong 0x3 24-Bit,
|
||||
>4 lelong &8
|
||||
>>(8.l+12) leshort x Pixel at (%d,
|
||||
>>(8.l+14) leshort x \b%d)
|
||||
>>(8.l+16) leshort x Size=%dx
|
||||
>>(8.l+18) leshort x \b%d,
|
||||
>>4 lelong 0x8 16 CLUT Entries at
|
||||
>>4 lelong 0x9 256 CLUT Entries at
|
||||
>>12 leshort x (%d,
|
||||
>>14 leshort x \b%d)
|
||||
>4 lelong ^8
|
||||
>>12 leshort x Pixel at (%d,
|
||||
>>14 leshort x \b%d)
|
||||
>>16 leshort x Size=%dx
|
||||
>>18 leshort x \b%d
|
||||
|
||||
# MDEC streams
|
||||
0 lelong 0x80010160 MDEC video stream,
|
||||
>16 leshort x %dx
|
||||
>18 leshort x \b%d
|
||||
#>8 lelong x %d frames
|
||||
#>4 leshort x secCount=%d;
|
||||
#>6 leshort x nSectors=%d;
|
||||
#>12 lelong x frameSize=%d;
|
||||
|
||||
# BS encoded bitstreams
|
||||
2 leshort 0x3800 BS image,
|
||||
>6 leshort x Version %d,
|
||||
>4 leshort x Quantization %d,
|
||||
>0 leshort x (Decompresses to %d words)
|
||||
|
||||
# Type: farbfeld image.
|
||||
# Url: http://tools.suckless.org/farbfeld/
|
||||
# From: Ian D. Scott <[email protected]>
|
||||
#
|
||||
0 string farbfeld farbfeld image data,
|
||||
>8 ubelong x %dx
|
||||
>12 ubelong x \b%d
|
||||
|
||||
# Type: Sega PVR image.
|
||||
# From: David Korth <[email protected]>
|
||||
# References:
|
||||
# - http://fabiensanglard.net/Mykaruga/tools/segaPVRFormat.txt
|
||||
# - https://github.com/yazgoo/pvrx2png
|
||||
# - https://github.com/nickworonekin/puyotools
|
||||
|
||||
# Sega PVR header.
|
||||
0 name sega-pvr-image-header
|
||||
>0x0C leshort x %d x
|
||||
>0x0E leshort x %d
|
||||
# Image format.
|
||||
>0x08 byte 0 \b, ARGB1555
|
||||
>0x08 byte 1 \b, RGB565
|
||||
>0x08 byte 2 \b, ARGB4444
|
||||
>0x08 byte 3 \b, YUV442
|
||||
>0x08 byte 4 \b, Bump
|
||||
>0x08 byte 5 \b, 4bpp
|
||||
>0x08 byte 6 \b, 8bpp
|
||||
# Image data type.
|
||||
>0x09 byte 0x01 \b, square twiddled
|
||||
>0x09 byte 0x02 \b, square twiddled & mipmap
|
||||
>0x09 byte 0x03 \b, VQ
|
||||
>0x09 byte 0x04 \b, VQ & mipmap
|
||||
>0x09 byte 0x05 \b, 8-bit CLUT twiddled
|
||||
>0x09 byte 0x06 \b, 4-bit CLUT twiddled
|
||||
>0x09 byte 0x07 \b, 8-bit direct twiddled
|
||||
>0x09 byte 0x08 \b, 4-bit direct twiddled
|
||||
>0x09 byte 0x09 \b, rectangle
|
||||
>0x09 byte 0x0B \b, rectangular stride
|
||||
>0x09 byte 0x0D \b, rectangular twiddled
|
||||
>0x09 byte 0x10 \b, small VQ
|
||||
>0x09 byte 0x11 \b, small VQ & mipmap
|
||||
>0x09 byte 0x12 \b, square twiddled & mipmap
|
||||
|
||||
# Sega PVR (Xbox) image header.
|
||||
# Contains an embedded DirectDraw surface instead of PVR data.
|
||||
0 name sega-pvr-xbox-dds-header
|
||||
>16 lelong x %d x
|
||||
>12 lelong x %d,
|
||||
>84 string x %.4s
|
||||
|
||||
# Sega PVR image.
|
||||
0 string PVRT
|
||||
>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image:
|
||||
>>0x20 use sega-pvr-xbox-dds-header
|
||||
>0x10 belong !0x44445320 Sega PVR image:
|
||||
>>0 use sega-pvr-image-header
|
||||
|
||||
# Sega PVR image with GBIX.
|
||||
0 string GBIX
|
||||
>0x10 string PVRT
|
||||
>>0x10 string DDS\040\174\000\000\000 Sega PVR (Xbox) image:
|
||||
>>>0x20 use sega-pvr-xbox-dds-header
|
||||
>>0x10 belong !0x44445320 Sega PVR image:
|
||||
>>>0x10 use sega-pvr-image-header
|
||||
>>0x08 lelong x \b, global index = %u
|
||||
|
||||
# Sega GVR header.
|
||||
0 name sega-gvr-image-header
|
||||
>0x0C beshort x %d x
|
||||
>0x0E beshort x %d
|
||||
# Image data format.
|
||||
>0x0B byte 0 \b, I4
|
||||
>0x0B byte 1 \b, I8
|
||||
>0x0B byte 2 \b, IA4
|
||||
>0x0B byte 3 \b, IA8
|
||||
>0x0B byte 4 \b, RGB565
|
||||
>0x0B byte 5 \b, RGB5A3
|
||||
>0x0B byte 6 \b, ARGB8888
|
||||
>0x0B byte 8 \b, CI4
|
||||
>0x0B byte 9 \b, CI8
|
||||
>0x0B byte 14 \b, DXT1
|
||||
|
||||
# Sega GVR image.
|
||||
0 string GVRT Sega GVR image:
|
||||
>0x10 use sega-gvr-image-header
|
||||
|
||||
# Sega GVR image with GBIX.
|
||||
0 string GBIX
|
||||
>0x10 string GVRT Sega GVR image:
|
||||
>>0x10 use sega-gvr-image-header
|
||||
>>0x08 belong x \b, global index = %u
|
||||
|
||||
# Light Field Picture
|
||||
# Documentation: http://optics.miloush.net/lytro/TheFileFormat.aspx
|
||||
# Typical file extensions: .lfp .lfr .lfx
|
||||
|
||||
0 belong 0x894C4650
|
||||
>4 belong 0x0D0A1A0A
|
||||
>12 belong 0x00000000 Lytro Light Field Picture
|
||||
>8 belong x \b, version %d
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: intel,v 1.12 2014/04/30 21:41:02 christos Exp $
|
||||
# $File: intel,v 1.15 2017/03/17 21:35:28 christos Exp $
|
||||
# intel: file(1) magic for x86 Unix
|
||||
#
|
||||
# Various flavors of x86 UNIX executable/object (other than Xenix, which
|
||||
@@ -30,15 +30,27 @@
|
||||
0 leshort =0522 iAPX 286 executable large model (COFF)
|
||||
>12 lelong >0 not stripped
|
||||
#>22 leshort >0 - version %d
|
||||
# updated by Joerg Jenderek at Oct 2015
|
||||
# https://de.wikipedia.org/wiki/Common_Object_File_Format
|
||||
# http://www.delorie.com/djgpp/doc/coff/filhdr.html
|
||||
# ./msdos (version 5.25) labeled the next entry as "MS Windows COFF Intel 80386 object file"
|
||||
# ./intel (version 5.25) label labeled the next entry as "80386 COFF executable"
|
||||
# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
|
||||
0 leshort =0514 80386 COFF executable
|
||||
>12 lelong >0 not stripped
|
||||
>22 leshort >0 - version %d
|
||||
0 leshort =0514
|
||||
# use subroutine to display name+flags+variables for common object formated files
|
||||
>0 use display-coff
|
||||
#>12 lelong >0 not stripped
|
||||
# no hint found, that at offset 22 is version
|
||||
#>22 leshort >0 - version %d
|
||||
|
||||
# rom: file(1) magic for BIOS ROM Extensions found in intel machines
|
||||
# mapped into memory between 0xC0000 and 0xFFFFF
|
||||
# From Gurkan Sengun <[email protected]>, www.linuks.mine.nu
|
||||
# updated by Joerg Jenderek
|
||||
# https://en.wikipedia.org/wiki/Option_ROM
|
||||
0 beshort 0x55AA BIOS (ia32) ROM Ext.
|
||||
!:mime application/octet-stream
|
||||
!:ext rom/bin
|
||||
>5 string USB USB
|
||||
>7 string LDR UNDI image
|
||||
>30 string IBM IBM comp. Video
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: isz,v 1.3 2014/04/30 21:41:02 christos Exp $
|
||||
# ISO Zipped file format
|
||||
# $File: isz,v 1.4 2017/03/17 21:35:28 christos Exp $
|
||||
# ISO Zipped file format
|
||||
# http://www.ezbsystems.com/isz/iszspec.txt
|
||||
0 string IsZ! ISO Zipped file
|
||||
>4 byte x \b, header size %u
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------
|
||||
# $File: java,v 1.16 2013/09/24 20:22:03 christos Exp $
|
||||
# $File: java,v 1.18 2015/11/29 22:08:14 christos Exp $
|
||||
# Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the
|
||||
# same magic number, 0xcafebabe, so they are both handled
|
||||
# in the entry called "cafebabe".
|
||||
@@ -16,5 +16,12 @@
|
||||
!:mime application/x-java-jce-keystore
|
||||
|
||||
# Java source
|
||||
0 regex ^import.*;$ Java source
|
||||
0 regex \^import.*;$ Java source
|
||||
!:mime text/x-java
|
||||
|
||||
# Java HPROF dumps
|
||||
# https://java.net/downloads/heap-snapshot/hprof-binary-format.html
|
||||
0 string JAVA\x20PROFILE\x201.0.
|
||||
>0x12 short 0
|
||||
>>0x11 ushort-0x31 <2 Java HPROF dump,
|
||||
>>0x17 beqdate/1000 x created %s
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: jpeg,v 1.29 2015/04/10 15:36:02 christos Exp $
|
||||
# $File: jpeg,v 1.31 2017/03/17 21:35:28 christos Exp $
|
||||
# JPEG images
|
||||
# SunOS 5.5.1 had
|
||||
#
|
||||
@@ -53,14 +53,14 @@
|
||||
>>5 beshort x \b%d
|
||||
>>9 byte x \b, frames %d
|
||||
|
||||
>0 beshort 0xFFC1
|
||||
>0 beshort 0xFFC1
|
||||
>>(2.S+2) use jpeg_segment
|
||||
>>4 byte x \b, extended sequential, precision %d
|
||||
>>7 beshort x \b, %dx
|
||||
>>5 beshort x \b%d
|
||||
>>9 byte x \b, frames %d
|
||||
|
||||
>0 beshort 0xFFC2
|
||||
>0 beshort 0xFFC2
|
||||
>>(2.S+2) use jpeg_segment
|
||||
>>4 byte x \b, progressive, precision %d
|
||||
>>7 beshort x \b, %dx
|
||||
@@ -71,11 +71,11 @@
|
||||
>0 beshort 0xFFC4
|
||||
>>(2.S+2) use jpeg_segment
|
||||
|
||||
>0 beshort 0xFFE1
|
||||
>0 beshort 0xFFE1
|
||||
# Recursion handled by FFE0
|
||||
#>>(2.S+2) use jpeg_segment
|
||||
>>4 string Exif \b, Exif Standard: [
|
||||
>>>10 indirect/r x
|
||||
>>>10 indirect/r x
|
||||
>>>10 string x \b]
|
||||
|
||||
# Application specific markers
|
||||
@@ -117,3 +117,10 @@
|
||||
# From: Mathieu Malaterre <[email protected]>
|
||||
0 belong 0xff4fff51 JPEG 2000 codestream
|
||||
45 beshort 0xff52
|
||||
|
||||
# JPEG extended range
|
||||
0 string \x49\x49\xbc
|
||||
>3 byte 1
|
||||
>>4 lelong%2 0 JPEG-XR
|
||||
!:mime image/jxr
|
||||
!:ext jxr
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: kerberos,v 1.1 2014/12/10 18:45:43 christos Exp $
|
||||
# $File: kerberos,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# kerberos: MIT kerberos file binary formats
|
||||
#
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
>>>>>&0 bedate x \b, date=%s
|
||||
>>>>>>&0 byte x \b, kvno=%u
|
||||
#>>>>>>>&0 pstring/H x
|
||||
#>>>>>>>>&0 belong x
|
||||
#>>>>>>>>&0 belong x
|
||||
#>>>>>>>>>>&0 use keytab_entry
|
||||
|
||||
0 belong 0x05020000 Kerberos Keytab file
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: kml,v 1.3 2010/11/25 15:00:12 christos Exp $
|
||||
# $File: kml,v 1.4 2017/03/17 21:35:28 christos Exp $
|
||||
# Type: Google KML, formerly Keyhole Markup Language
|
||||
# Future development of this format has been handed
|
||||
# over to the Open Geospatial Consortium.
|
||||
# http://www.opengeospatial.org/standards/kml/
|
||||
# From: Asbjoern Sloth Toennesen <[email protected]>
|
||||
0 string/t \<?xml
|
||||
>20 search/400 \ xmlns=
|
||||
>20 search/400 \ xmlns=
|
||||
>>&0 regex ['"]http://earth.google.com/kml Google KML document
|
||||
!:mime application/vnd.google-earth.kml+xml
|
||||
>>>&1 string 2.0' \b, version 2.0
|
||||
@@ -25,7 +25,7 @@
|
||||
>>>&1 string/t 2.2 \b, version 2.2
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Type: Google KML Archive (ZIP based)
|
||||
# Type: Google KML Archive (ZIP based)
|
||||
# http://code.google.com/apis/kml/documentation/kml_tut.html
|
||||
# From: Asbjoern Sloth Toennesen <[email protected]>
|
||||
0 string PK\003\004
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: linux,v 1.63 2015/08/24 05:16:11 christos Exp $
|
||||
# $File: linux,v 1.64 2017/03/17 21:35:28 christos Exp $
|
||||
# linux: file(1) magic for Linux files
|
||||
#
|
||||
# Values for Linux/i386 binaries, from Daniel Quinlan <[email protected]>
|
||||
@@ -199,7 +199,7 @@
|
||||
############################################################################
|
||||
# Linux 8086 executable
|
||||
0 lelong&0xFF0000FF 0xC30000E9 Linux-Dev86 executable, headerless
|
||||
>5 string .
|
||||
>5 string .
|
||||
>>4 string >\0 \b, libc version %s
|
||||
|
||||
0 lelong&0xFF00FFFF 0x4000301 Linux-8086 executable
|
||||
@@ -213,7 +213,7 @@
|
||||
>2 byte&0x40 !0 \b, A_PURE
|
||||
>2 byte&0x80 !0 \b, A_TOVLY
|
||||
>28 long !0 \b, not stripped
|
||||
>37 string .
|
||||
>37 string .
|
||||
>>36 string >\0 \b, libc version %s
|
||||
|
||||
# 0 lelong&0xFF00FFFF 0x10000301 ld86 I80386 executable
|
||||
@@ -241,7 +241,7 @@
|
||||
>24 lelong x %d symbols
|
||||
>28 lelong x %d ocons
|
||||
|
||||
# Linux Logical Volume Manager (LVM)
|
||||
# Linux Logical Volume Manager (LVM)
|
||||
# Emmanuel VARAGNAT <[email protected]>
|
||||
#
|
||||
# System ID, UUID and volume group name are 128 bytes long
|
||||
@@ -301,7 +301,7 @@
|
||||
>>&0x20 lequad x \b, size: %lld
|
||||
|
||||
0x618 string LVM2\ 001 LVM2 PV (Linux Logical Volume Manager)
|
||||
>&(&-12.l-0x21) byte x
|
||||
>&(&-12.l-0x21) byte x
|
||||
# display UUID in LVM format + display all 32 bytes (instead of max string length: 31)
|
||||
>>&0x0 string >\x2f \b, UUID: %.6s
|
||||
>>&0x6 string >\x2f \b-%.4s
|
||||
@@ -340,7 +340,7 @@
|
||||
# Summary: Xen saved domain file
|
||||
# Created by: Radek Vokal <[email protected]>
|
||||
0 string LinuxGuestRecord Xen saved domain
|
||||
>20 search/256 (name
|
||||
>20 search/256 (name
|
||||
>>&1 string x (name %s)
|
||||
|
||||
# Type: Xen, the virtual machine monitor
|
||||
@@ -397,7 +397,7 @@
|
||||
>>0x1046 ubeshort x \b%04x
|
||||
|
||||
# Linux device tree:
|
||||
# File format description can be found in the Linux kernel sources at
|
||||
# File format description can be found in the Linux kernel sources at
|
||||
# Documentation/devicetree/booting-without-of.txt
|
||||
# From Christoph Biedl
|
||||
0 belong 0xd00dfeed
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: lisp,v 1.23 2009/09/19 16:28:10 christos Exp $
|
||||
# $File: lisp,v 1.25 2017/03/17 21:35:28 christos Exp $
|
||||
# lisp: file(1) magic for lisp programs
|
||||
#
|
||||
# various lisp types, from Daniel Quinlan ([email protected])
|
||||
|
||||
# updated by Joerg Jenderek
|
||||
# GRR: This lot is too weak
|
||||
#0 string ;;
|
||||
#0 string ;;
|
||||
# windows INF files often begin with semicolon and use CRLF as line end
|
||||
# lisp files are mainly created on unix system with LF as line end
|
||||
#>2 search/4096 !\r Lisp/Scheme program text
|
||||
@@ -26,16 +26,39 @@
|
||||
0 search/4096 (custom-set-variables\ Lisp/Scheme program text
|
||||
!:mime text/x-lisp
|
||||
|
||||
# URL: https://en.wikipedia.org/wiki/Emacs_Lisp
|
||||
# Reference: http://ftp.gnu.org/old-gnu/emacs/elisp-manual-18-1.03.tar.gz
|
||||
# Update: Joerg Jenderek
|
||||
# Emacs 18 - this is always correct, but not very magical.
|
||||
0 string \012( Emacs v18 byte-compiled Lisp data
|
||||
0 string \012(
|
||||
# look for emacs lisp keywords
|
||||
# GRR: split regex because it is too long or get error like
|
||||
# lisp, 36: Warning: cannot get string from `^(defun|defvar|defconst|defmacro|setq|fset|put|provide|require|'
|
||||
>&0 regex \^(defun|defvar|defconst|defmacro|setq|fset) Emacs v18 byte-compiled Lisp data
|
||||
!:mime application/x-elc
|
||||
# https://searchcode.com/codesearch/view/2173420/
|
||||
# not really pure text
|
||||
!:apple EMAxTEXT
|
||||
!:ext elc
|
||||
# remaining regex
|
||||
>&0 regex \^(put|provide|require|random) Emacs v18 byte-compiled Lisp data
|
||||
!:mime application/x-elc
|
||||
!:apple EMAxTEXT
|
||||
!:ext elc
|
||||
# missed cl.elc dbx.elc simple.elc look like normal lisp starting with ;;;
|
||||
|
||||
# Emacs 19+ - ver. recognition added by Ian Springer
|
||||
# Also applies to XEmacs 19+ .elc files; could tell them apart with regexs
|
||||
# - Chris Chittleborough <[email protected]>
|
||||
0 string ;ELC
|
||||
>4 byte >18
|
||||
>4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data
|
||||
!:mime application/x-elc
|
||||
# Update: Joerg Jenderek
|
||||
0 string ;ELC
|
||||
# version\0\0\0
|
||||
>4 byte >18 Emacs/XEmacs v%d byte-compiled Lisp data
|
||||
# why less than 32 ? does not make sense to me. GNU Emacs version is 24.5 at April 2015
|
||||
#>4 byte <32 Emacs/XEmacs v%d byte-compiled Lisp data
|
||||
!:mime application/x-elc
|
||||
!:apple EMAxTEXT
|
||||
!:ext elc
|
||||
|
||||
# Files produced by CLISP Common Lisp From: Bruno Haible <[email protected]>
|
||||
0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program (pre 2004-03-27)
|
||||
@@ -44,7 +67,7 @@
|
||||
0 long 0x70768BD2 CLISP memory image data
|
||||
0 long 0xD28B7670 CLISP memory image data, other endian
|
||||
|
||||
#.com and .bin for MIT scheme
|
||||
#.com and .bin for MIT scheme
|
||||
0 string \372\372\372\372 MIT scheme (library?)
|
||||
|
||||
# From: David Allouche <[email protected]>
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: m4,v 1.1 2011/12/08 12:12:46 rrt Exp $
|
||||
# $File: m4,v 1.2 2017/08/14 07:40:38 christos Exp $
|
||||
# make: file(1) magic for M4 scripts
|
||||
#
|
||||
0 regex \^dnl\ M4 macro processor script text
|
||||
!:mime text/x-m4
|
||||
0 regex \^AC_DEFUN\\(\\[ M4 macro processor script text
|
||||
!:strength + 15
|
||||
!:mime text/x-m4
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------
|
||||
# $File: mach,v 1.20 2015/05/21 18:28:41 christos Exp $
|
||||
# $File: mach,v 1.23 2015/10/15 21:51:22 christos Exp $
|
||||
# Mach has two magic numbers, 0xcafebabe and 0xfeedface.
|
||||
# Unfortunately the first, cafebabe, is shared with
|
||||
# Java ByteCode, so they are both handled in the file "cafebabe".
|
||||
@@ -106,15 +106,19 @@
|
||||
>>>4 belong&0x00ffffff 2 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 3 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 4 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 5 \b_v4t
|
||||
>>>4 belong&0x00ffffff 6 \b_v6
|
||||
>>>4 belong&0x00ffffff 7 \b_v5tej
|
||||
>>>4 belong&0x00ffffff 8 \b_xscale
|
||||
>>>4 belong&0x00ffffff 9 \b_v7
|
||||
>>>4 belong&0x00ffffff 10 \b_v7f
|
||||
>>>4 belong&0x00ffffff 11 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 12 \b_v7k
|
||||
>>>4 belong&0x00ffffff >12 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 5 \bv4t
|
||||
>>>4 belong&0x00ffffff 6 \bv6
|
||||
>>>4 belong&0x00ffffff 7 \bv5tej
|
||||
>>>4 belong&0x00ffffff 8 \bxscale
|
||||
>>>4 belong&0x00ffffff 9 \bv7
|
||||
>>>4 belong&0x00ffffff 10 \bv7f
|
||||
>>>4 belong&0x00ffffff 11 \bv7s
|
||||
>>>4 belong&0x00ffffff 12 \bv7k
|
||||
>>>4 belong&0x00ffffff 13 \bv8
|
||||
>>>4 belong&0x00ffffff 14 \bv6m
|
||||
>>>4 belong&0x00ffffff 15 \bv7m
|
||||
>>>4 belong&0x00ffffff 16 \bv7em
|
||||
>>>4 belong&0x00ffffff >16 subarchitecture=%d
|
||||
# 13 m88k
|
||||
>>0 belong&0x00ffffff 13
|
||||
>>>4 belong&0x00ffffff 0 mc88000
|
||||
@@ -158,12 +162,15 @@
|
||||
>>>4 belong&0x00ffffff 2 subarchitecture=%d
|
||||
>>>4 belong&0x00ffffff 3
|
||||
>>>4 belong&0x00ffffff 4 \b_arch1
|
||||
>>>4 belong&0x00ffffff 8 \b_haswell
|
||||
>>>4 belong&0x00ffffff >4 subarchitecture=%d
|
||||
>>0 belong&0x00ffffff 8 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 9 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 10 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 11 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 12 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 12 arm64
|
||||
>>>4 belong&0x00ffffff 0
|
||||
>>>4 belong&0x00ffffff 1 \bv8
|
||||
>>0 belong&0x00ffffff 13 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 14 64-bit architecture=%d
|
||||
>>0 belong&0x00ffffff 15 64-bit architecture=%d
|
||||
@@ -203,6 +210,34 @@
|
||||
>12 belong 11 kext bundle
|
||||
>12 belong >11
|
||||
>>12 belong x filetype=%d
|
||||
>24 belong >0 \b, flags:<
|
||||
>>24 belong &0x0000001 \bNOUNDEFS
|
||||
>>24 belong &0x0000002 \b|INCRLINK
|
||||
>>24 belong &0x0000004 \b|DYLDLINK
|
||||
>>24 belong &0x0000008 \b|BINDATLOAD
|
||||
>>24 belong &0x0000010 \b|PREBOUND
|
||||
>>24 belong &0x0000020 \b|SPLIT_SEGS
|
||||
>>24 belong &0x0000040 \b|LAZY_INIT
|
||||
>>24 belong &0x0000080 \b|TWOLEVEL
|
||||
>>24 belong &0x0000100 \b|FORCE_FLAT
|
||||
>>24 belong &0x0000200 \b|NOMULTIDEFS
|
||||
>>24 belong &0x0000400 \b|NOFIXPREBINDING
|
||||
>>24 belong &0x0000800 \b|PREBINDABLE
|
||||
>>24 belong &0x0001000 \b|ALLMODSBOUND
|
||||
>>24 belong &0x0002000 \b|SUBSECTIONS_VIA_SYMBOLS
|
||||
>>24 belong &0x0004000 \b|CANONICAL
|
||||
>>24 belong &0x0008000 \b|WEAK_DEFINES
|
||||
>>24 belong &0x0010000 \b|BINDS_TO_WEAK
|
||||
>>24 belong &0x0020000 \b|ALLOW_STACK_EXECUTION
|
||||
>>24 belong &0x0040000 \b|ROOT_SAFE
|
||||
>>24 belong &0x0080000 \b|SETUID_SAFE
|
||||
>>24 belong &0x0100000 \b|NO_REEXPORTED_DYLIBS
|
||||
>>24 belong &0x0200000 \b|PIE
|
||||
>>24 belong &0x0400000 \b|DEAD_STRIPPABLE_DYLIB
|
||||
>>24 belong &0x0800000 \b|HAS_TLV_DESCRIPTORS
|
||||
>>24 belong &0x1000000 \b|NO_HEAP_EXECUTION
|
||||
>>24 belong &0x2000000 \b|APP_EXTENSION_SAFE
|
||||
>>24 belong x \b>
|
||||
|
||||
#
|
||||
0 lelong&0xfffffffe 0xfeedface Mach-O
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: macintosh,v 1.25 2014/09/03 13:34:16 christos Exp $
|
||||
# $File: macintosh,v 1.27 2017/03/17 21:35:28 christos Exp $
|
||||
# macintosh description
|
||||
#
|
||||
# BinHex is the Macintosh ASCII-encoded file format (see also "apple")
|
||||
@@ -109,9 +109,9 @@
|
||||
# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will
|
||||
# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset,
|
||||
# and that 74 will be 0. So something like
|
||||
#
|
||||
#
|
||||
# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data
|
||||
#
|
||||
#
|
||||
# >73 byte&0x01 0x01 \b, inited
|
||||
# >73 byte&0x02 0x02 \b, changed
|
||||
# >73 byte&0x04 0x04 \b, busy
|
||||
@@ -254,7 +254,7 @@
|
||||
>0x9C string INDEX data file index
|
||||
>0x9C string VIEW data view
|
||||
|
||||
# spss magic for SPSS system and portable files,
|
||||
# spss magic for SPSS system and portable files,
|
||||
# from Bruce Foster ([email protected]).
|
||||
|
||||
0 long 0xc1e2c3c9 SPSS Portable File
|
||||
@@ -273,7 +273,7 @@
|
||||
# entries depend on the data arithmetic added after v.35
|
||||
# There's also some Pascal strings in here, ditto...
|
||||
|
||||
# The boot block signature, according to IM:Files, is
|
||||
# The boot block signature, according to IM:Files, is
|
||||
# "for HFS volumes, this field always contains the value 0x4C4B."
|
||||
# But if this is true for MFS or HFS+ volumes, I don't know.
|
||||
# Alternatively, the boot block is supposed to be zeroed if it's
|
||||
@@ -291,17 +291,20 @@
|
||||
# *.hfs updated by Joerg Jenderek
|
||||
# http://en.wikipedia.org/wiki/Hierarchical_File_System
|
||||
# "BD" gives many false positives
|
||||
0x400 beshort 0x4244
|
||||
0x400 beshort 0x4244
|
||||
# ftp://ftp.mars.org/pub/hfs/hfsutils-3.2.6.tar.gz/hfsutils-3.2.6/libhfs/apple.h
|
||||
# first block of volume bit map (always 3)
|
||||
>0x40e ubeshort 0x0003
|
||||
>0x40e ubeshort 0x0003
|
||||
# maximal length of volume name is 27
|
||||
>>0x424 ubyte <28 Macintosh HFS data
|
||||
#!:mime application/octet-stream
|
||||
# these mime and apple types are not sure
|
||||
!:mime application/x-apple-diskimage
|
||||
#!:apple hfsdINIT
|
||||
#!:apple MACSdisk
|
||||
# http://www.macdisk.com/macsigen.php
|
||||
#!:apple ddskdevi
|
||||
!:apple ????devi
|
||||
# https://en.wikipedia.org/wiki/Apple_Disk_Image
|
||||
!:ext hfs/dmg
|
||||
>>>0 beshort 0x4C4B (bootable)
|
||||
#>>>0 beshort 0x0000 (not bootable)
|
||||
>>>0x40a beshort &0x8000 (locked)
|
||||
@@ -348,15 +351,15 @@
|
||||
#>0x230 string x first type: %s,
|
||||
#>0x210 string x name: %s,
|
||||
#>0x254 belong x number of blocks: %d,
|
||||
#>0x400 beshort 0x504D
|
||||
#>0x400 beshort 0x504D
|
||||
#>>0x430 string x second type: %s,
|
||||
#>>0x410 string x name: %s,
|
||||
#>>0x454 belong x number of blocks: %d,
|
||||
#>>0x800 beshort 0x504D
|
||||
#>>0x800 beshort 0x504D
|
||||
#>>>0x830 string x third type: %s,
|
||||
#>>>0x810 string x name: %s,
|
||||
#>>>0x854 belong x number of blocks: %d,
|
||||
#>>>0xa00 beshort 0x504D
|
||||
#>>>0xa00 beshort 0x504D
|
||||
#>>>>0xa30 string x fourth type: %s,
|
||||
#>>>>0xa10 string x name: %s,
|
||||
#>>>>0xa54 belong x number of blocks: %d
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: make,v 1.2 2015/08/25 07:34:06 christos Exp $
|
||||
# $File: make,v 1.3 2016/12/10 14:21:29 christos Exp $
|
||||
# make: file(1) magic for makefiles
|
||||
#
|
||||
# URL: https://en.wikipedia.org/wiki/Make_(software)
|
||||
0 regex/100l \^CFLAGS makefile script text
|
||||
!:mime text/x-makefile
|
||||
0 regex/100l \^VPATH makefile script text
|
||||
@@ -10,12 +11,19 @@
|
||||
!:mime text/x-makefile
|
||||
0 regex/100l \^all: makefile script text
|
||||
!:mime text/x-makefile
|
||||
0 regex/100l \^\.PRECIOUS makefile script text
|
||||
0 regex/100l \^\\.PRECIOUS makefile script text
|
||||
!:mime text/x-makefile
|
||||
0 regex/100l \^\.BEGIN BSD makefile script text
|
||||
# Update: Joerg Jenderek
|
||||
# Reference: https://www.freebsd.org/cgi/man.cgi?make(1)
|
||||
# exclude grub-core\lib\libgcrypt\mpi\Makefile.am with "#BEGIN_ASM_LIST"
|
||||
# by additional escaping point character
|
||||
0 regex/100l \^\\.BEGIN BSD makefile script text with "%s"
|
||||
!:mime text/x-makefile
|
||||
0 regex/100l \^\.include BSD makefile script text
|
||||
!:ext /mk
|
||||
# exclude MS Windows help file CoNtenT with ":include FOOBAR.CNT"
|
||||
# and NSIS script with "!include" by additional escaping point character
|
||||
0 regex/100l \^\\.include BSD makefile script text with "%s"
|
||||
!:mime text/x-makefile
|
||||
|
||||
!:ext /mk
|
||||
0 regex/100l \^SUBDIRS automake makefile script text
|
||||
!:mime text/x-makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: maple,v 1.7 2013/01/11 16:45:23 christos Exp $
|
||||
# $File: maple,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# maple: file(1) magic for maple files
|
||||
# "H. Nanosecond" <[email protected]>
|
||||
# Maple V release 4, a multi-purpose math program
|
||||
@@ -13,7 +13,7 @@
|
||||
# no magic for these :-(
|
||||
# they are compiled indexes for maple files
|
||||
|
||||
# .hdb
|
||||
# .hdb
|
||||
0 string \000\004\000\000 Maple help database
|
||||
|
||||
# .mhp
|
||||
@@ -40,7 +40,7 @@
|
||||
# from byte 4 it is either 'nul E' or 'soh R'
|
||||
# I think 'nul E' means a file that was saved as a different name
|
||||
# a sort of revision marking
|
||||
# 'soh R' means new
|
||||
# 'soh R' means new
|
||||
>4 string \000\105 An old revision
|
||||
>4 string \001\122 The latest save
|
||||
|
||||
|
||||
@@ -2,27 +2,29 @@
|
||||
# marc21: file(1) magic for MARC 21 Format
|
||||
#
|
||||
# Kevin Ford ([email protected])
|
||||
#
|
||||
#
|
||||
# MARC21 formats are for the representation and communication
|
||||
# of bibliographic and related information in machine-readable
|
||||
# form. For more info, see http://www.loc.gov/marc/
|
||||
|
||||
|
||||
# leader position 20-21 must be 45
|
||||
20 string 45
|
||||
# and 22-23 also 00 so far, but we check that later.
|
||||
20 string 45
|
||||
>0 search/2048 \x1e
|
||||
|
||||
# leader starts with 5 digits, followed by codes specific to MARC format
|
||||
>0 regex/1l (^[0-9]{5})[acdnp][^bhlnqsu-z] MARC21 Bibliographic
|
||||
>>0 regex/1l (^[0-9]{5})[acdnp][^bhlnqsu-z] MARC21 Bibliographic
|
||||
!:mime application/marc
|
||||
>0 regex/1l (^[0-9]{5})[acdnosx][z] MARC21 Authority
|
||||
>>0 regex/1l (^[0-9]{5})[acdnosx][z] MARC21 Authority
|
||||
!:mime application/marc
|
||||
>0 regex/1l (^[0-9]{5})[cdn][uvxy] MARC21 Holdings
|
||||
>>0 regex/1l (^[0-9]{5})[cdn][uvxy] MARC21 Holdings
|
||||
!:mime application/marc
|
||||
0 regex/1l (^[0-9]{5})[acdn][w] MARC21 Classification
|
||||
>>0 regex/1l (^[0-9]{5})[acdn][w] MARC21 Classification
|
||||
!:mime application/marc
|
||||
>0 regex/1l (^[0-9]{5})[cdn][q] MARC21 Community
|
||||
>>0 regex/1l (^[0-9]{5})[cdn][q] MARC21 Community
|
||||
!:mime application/marc
|
||||
|
||||
# leader position 22-23, should be "00" but is it?
|
||||
>0 regex/1l (^.{21})([^0]{2}) (non-conforming)
|
||||
>>0 regex/1l (^.{21})([^0]{2}) (non-conforming)
|
||||
!:mime application/marc
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: mathematica,v 1.8 2015/04/09 20:01:40 christos Exp $
|
||||
# $File: mathematica,v 1.9 2017/03/17 21:35:28 christos Exp $
|
||||
# mathematica: file(1) magic for mathematica files
|
||||
# "H. Nanosecond" <[email protected]>
|
||||
# Mathematica a multi-purpose math program
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
#0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file
|
||||
0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file
|
||||
#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
|
||||
#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
|
||||
# >71... is optional
|
||||
>88 string >\0 from %s
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think)
|
||||
|
||||
# .ml files These are menu resources I think
|
||||
# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
|
||||
# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
|
||||
# how to put that into a magic rule?
|
||||
4 string \ A~ MAthematica .ml file
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: metastore,v 1.1 2011/04/06 12:37:44 christos Exp $
|
||||
# $File: metastore,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# metastore: file(1) magic for metastore files
|
||||
# From: Thomas Wissen
|
||||
# see http://david.hardeman.nu/software.php#metastore
|
||||
0 string MeTaSt00r3 Metastore data file,
|
||||
0 string MeTaSt00r3 Metastore data file,
|
||||
>10 bequad x version %0llx
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: meteorological,v 1.1 2014/08/04 06:26:16 christos Exp $
|
||||
# $File: meteorological,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# rinex: file(1) magic for RINEX files
|
||||
# http://igscb.jpl.nasa.gov/igscb/data/format/rinex210.txt
|
||||
# ftp://cddis.gsfc.nasa.gov/pub/reports/formats/rinex300.pdf
|
||||
@@ -34,7 +34,7 @@
|
||||
>>&32 string x \b, date %15.15s
|
||||
>>5 string x \b, version %6.6s
|
||||
!:mime rinex/meteorological
|
||||
>80 search/256 XXRINEXN RINEX Data, Navigation
|
||||
>80 search/256 XXRINEXN RINEX Data, Navigation
|
||||
>>&32 string x \b, date %15.15s
|
||||
>>5 string x \b, version %6.6s
|
||||
!:mime rinex/navigation
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: microfocus,v 1.2 2017/03/17 21:35:28 christos Exp $
|
||||
# Micro Focus COBOL data files.
|
||||
|
||||
# http://documentation.microfocus.com/help/index.jsp?topic=\
|
||||
# %2FGUID-0E0191D8-C39A-44D1-BA4C-D67107BAF784%2FHRFLRHFILE05.html
|
||||
# http://www.cobolproducts.com/datafile/data-viewer.html
|
||||
# https://github.com/miracle2k/mfcobol-export
|
||||
|
||||
0 string \x30\x00\x00\x7C
|
||||
>36 string \x00\x3E Micro Focus File with Header (DAT)
|
||||
!:mime application/octet-stream
|
||||
|
||||
0 string \x30\x7E\x00\x00
|
||||
>36 string \x00\x3E Micro Focus File with Header (DAT)
|
||||
!:mime application/octet-stream
|
||||
|
||||
39 string \x02
|
||||
>136 string \x02\x02\x04\x04 Micro Focus Index File (IDX)
|
||||
!:mime application/octet-stream
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: mime,v 1.6 2010/11/25 15:00:12 christos Exp $
|
||||
# $File: mime,v 1.8 2017/03/17 22:20:22 christos Exp $
|
||||
# mime: file(1) magic for MIME encoded files
|
||||
#
|
||||
0 string/t Content-Type:\
|
||||
0 string/t Content-Type:\040
|
||||
>14 string >\0 %s
|
||||
0 string/t Content-Type:
|
||||
>13 string >\0 %s
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# $File: misctools,v 1.15 2015/04/15 18:29:30 christos Exp $
|
||||
# $File: misctools,v 1.17 2017/03/17 21:35:28 christos Exp $
|
||||
# misctools: file(1) magic for miscellaneous UNIX tools.
|
||||
#
|
||||
0 search/1 %%!! X-Post-It-Note text
|
||||
@@ -14,7 +14,7 @@
|
||||
#!:mime text/x-vcard
|
||||
!:mime text/vcard
|
||||
# VERSION must come right after BEGIN for 3.0 or 4.0 except in 2.1 , where it can be anywhere
|
||||
>12 search/14000/c VERSION:
|
||||
>12 search/14000/c VERSION:
|
||||
# VERSION 2.1 , 3.0 or 4.0
|
||||
>>&0 string x \b, version %-.3s
|
||||
|
||||
@@ -29,7 +29,35 @@
|
||||
0 search/80 .lo\ -\ a\ libtool\ object\ file libtool object file
|
||||
|
||||
# From: Daniel Novotny <[email protected]>
|
||||
0 string MDMP\x93\xA7 MDMP crash report data
|
||||
# Update: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/Core_dump#User-mode_memory_dumps
|
||||
# Reference: https://msdn.microsoft.com/en-us/library/ms680378%28VS.85%29.aspx
|
||||
#
|
||||
# "Windows Minidump" by TrID
|
||||
# ./misctools (version 5.25) labeled the entry as "MDMP crash report data"
|
||||
0 string MDMP Mini DuMP crash report
|
||||
# http://filext.com/file-extension/DMP
|
||||
!:mime application/x-dmp
|
||||
!:ext dmp/mdmp
|
||||
# The high-order word is an internal value that is implementation specific.
|
||||
# The low-order word is MINIDUMP_VERSION 0xA793
|
||||
>4 ulelong&0x0000FFFF !0xA793 \b, version 0x%4.4x
|
||||
# NumberOfStreams 8,9,10,13
|
||||
>8 ulelong x \b, %d streams
|
||||
# StreamDirectoryRva 0x20
|
||||
>12 ulelong !0x20 \b, 0x%8.8x RVA
|
||||
# CheckSum 0
|
||||
>16 ulelong !0 \b, CheckSum 0x%8.8x
|
||||
# Reserved or TimeDateStamp
|
||||
>20 ledate x \b, %s
|
||||
# https://msdn.microsoft.com/en-us/library/windows/desktop/ms680519%28v=vs.85%29.aspx
|
||||
# Flags MINIDUMP_TYPE enumeration type 0 0x121 0x800
|
||||
>24 ulelong x \b, 0x%x type
|
||||
# >24 ulelong >0 \b; include
|
||||
# >>24 ulelong &0x00000001 \b data sections,
|
||||
# >>24 ulelong &0x00000020 \b list of unloaded modules,
|
||||
# >>24 ulelong &0x00000100 \b process and thread information,
|
||||
# >>24 ulelong &0x00000800 \b memory information,
|
||||
|
||||
# Summary: abook addressbook file
|
||||
# Submitted by: Mark Schreiber <[email protected]>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: modem,v 1.6 2015/02/14 17:35:47 christos Exp $
|
||||
# $File: modem,v 1.8 2017/03/17 21:35:28 christos Exp $
|
||||
# modem: file(1) magic for modem programs
|
||||
#
|
||||
# From: Florian La Roche <[email protected]>
|
||||
@@ -8,8 +8,48 @@
|
||||
>29 byte 1 \b, fine resolution
|
||||
>29 byte 0 \b, normal resolution
|
||||
|
||||
0 short 0x0100 raw G3 data, byte-padded
|
||||
0 short 0x1400 raw G3 data
|
||||
# Summary: CCITT Group 3 Facsimile in "raw" form (i.e. no header).
|
||||
# Modified by: Joerg Jenderek
|
||||
# URL: https://de.wikipedia.org/wiki/Fax
|
||||
# Reference: http://web.archive.org/web/20020628195336/http://www.netnam.vn/unescocourse/computervision/104.htm
|
||||
# GRR: EOL of G3 is too general as it catches also TrueType fonts, Postscript PrinterFontMetric, others
|
||||
0 short 0x0100
|
||||
# 16 0-bits near beginning like True Type fonts *.ttf, Postscript PrinterFontMetric *.pfm, FTYPE.HYPERCARD, XFER
|
||||
>2 search/9 \0\0
|
||||
# maximal 7 0-bits for pixel sequences or 11 0-bits for EOL in G3
|
||||
>2 default x
|
||||
# skip IRCAM file (VAX big-endian) ./audio
|
||||
>>0 belong !0x0001a364
|
||||
# skip GEM Image data ./images
|
||||
>>>2 beshort !0x0008
|
||||
# look for first keyword of Panorama database *.pan
|
||||
>>>>11 search/262 \x06DESIGN
|
||||
# skip Panorama database
|
||||
>>>>11 default x
|
||||
# old Apple DreamWorld DreamGrafix *.3200 with keyword at end of g3 looking files
|
||||
>>>>>27118 search/1864 DreamWorld
|
||||
>>>>>27118 default x
|
||||
# skip MouseTrap/Mt.Defaults with file size 16 found on Golden Orchard Apple II CD Rom
|
||||
>>>>>>8 ubequad !0x2e01010454010203
|
||||
# skip PICTUREH.SML found on Golden Orchard Apple II CD Rom
|
||||
>>>>>>>8 ubequad !0x5dee74ad1aa56394 raw G3 (Group 3) FAX, byte-padded
|
||||
# version 5.25 labeled the entry above "raw G3 data, byte-padded"
|
||||
!:mime image/g3fax
|
||||
#!:apple ????TIFF
|
||||
!:ext g3
|
||||
# unusual image starting with black pixel
|
||||
#0 short 0x1300 raw G3 (Group 3) FAX
|
||||
0 short 0x1400
|
||||
# 16 0-bits near beginning like PicturePuzzler found on Golden Orchard Apple CD Rom
|
||||
>2 search/9 \0\0
|
||||
# maximal 7 0-bits for pixel sequences or 11 0-bits for EOL in G3
|
||||
>2 default x raw G3 (Group 3) FAX
|
||||
# version 5.25 labeled the above entry as "raw G3 data"
|
||||
!:mime image/g3fax
|
||||
!:ext g3
|
||||
# unusual image with black pixel near beginning
|
||||
#0 short 0x1900 raw G3 (Group 3) FAX
|
||||
|
||||
#
|
||||
# Magic data for vgetty voice formats
|
||||
# (Martin Seine & Marc Eberhard)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: mozilla,v 1.6 2015/01/25 16:20:46 christos Exp $
|
||||
# mozilla: file(1) magic for Mozilla XUL fastload files
|
||||
# $File: mozilla,v 1.7 2017/03/17 21:35:28 christos Exp $
|
||||
# mozilla: file(1) magic for Mozilla XUL fastload files
|
||||
# (XUL.mfasl and XPC.mfasl)
|
||||
# URL: http://www.mozilla.org/
|
||||
# From: Josh Triplett <[email protected]>
|
||||
|
||||
+476
-159
@@ -1,12 +1,12 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: msdos,v 1.101 2015/08/24 05:08:48 christos Exp $
|
||||
# $File: msdos,v 1.120 2017/08/13 00:21:47 christos Exp $
|
||||
# msdos: file(1) magic for MS-DOS files
|
||||
#
|
||||
|
||||
# .BAT files (Daniel Quinlan, [email protected])
|
||||
# updated by Joerg Jenderek at Oct 2008,Apr 2011
|
||||
0 string/t @
|
||||
0 string/t @
|
||||
>1 string/cW \ echo\ off DOS batch file text
|
||||
!:mime text/x-msdos-batch
|
||||
>1 string/cW echo\ off DOS batch file text
|
||||
@@ -24,7 +24,11 @@
|
||||
100 search/0xffff say
|
||||
>100 regex/c =^[\ \t]{0,10}say\ ['"] OS/2 REXX batch file text
|
||||
|
||||
0 leshort 0x14c MS Windows COFF Intel 80386 object file
|
||||
# updated by Joerg Jenderek at Oct 2015
|
||||
# https://de.wikipedia.org/wiki/Common_Object_File_Format
|
||||
# http://www.delorie.com/djgpp/doc/coff/filhdr.html
|
||||
# ./intel already labeled COFF type 0x14c=0514 as "80386 COFF executable"
|
||||
#0 leshort 0x14c MS Windows COFF Intel 80386 object file
|
||||
#>4 ledate x stamp %s
|
||||
0 leshort 0x166 MS Windows COFF MIPS R4000 object file
|
||||
#>4 ledate x stamp %s
|
||||
@@ -226,7 +230,7 @@
|
||||
>>(8.s*16) string go32stub for MS-DOS, DJGPP go32 DOS extender
|
||||
>>(8.s*16) string emx
|
||||
>>>&1 string x for DOS, Win or OS/2, emx %s
|
||||
>>&(&0x42.l-3) byte x
|
||||
>>&(&0x42.l-3) byte x
|
||||
>>>&0x26 string UPX \b, UPX compressed
|
||||
# and yet another guess: small .text, and after large .data is unusal, could be 32lite
|
||||
>>&0x2c search/0xa0 .text
|
||||
@@ -236,8 +240,8 @@
|
||||
>(8.s*16) string $WdX \b, WDos/X DOS extender
|
||||
|
||||
# By now an executable type should have been printed out. The executable
|
||||
# may be a self-uncompressing archive, so look for evidence of that and
|
||||
# print it out.
|
||||
# may be a self-uncompressing archive, so look for evidence of that and
|
||||
# print it out.
|
||||
#
|
||||
# Some signatures below from Greg Roelofs, [email protected].
|
||||
#
|
||||
@@ -279,8 +283,8 @@
|
||||
# Skip to the end of the EXE. This will usually work fine in the PE case
|
||||
# because the MZ image is hardcoded into the toolchain and almost certainly
|
||||
# won't match any of these signatures.
|
||||
>(4.s*512) long x
|
||||
>>&(2.s-517) byte x
|
||||
>(4.s*512) long x
|
||||
>>&(2.s-517) byte x
|
||||
>>>&0 string PK\3\4 \b, ZIP self-extracting archive
|
||||
>>>&0 string Rar! \b, RAR self-extracting archive
|
||||
>>>&0 string =!\x11 \b, AIN 2.x self-extracting archive
|
||||
@@ -308,80 +312,77 @@
|
||||
# only version=0x100 found
|
||||
>3 uleshort x \b, version 0x%x
|
||||
# length of string containing author,info and special characters
|
||||
>6 ubyte >0
|
||||
>6 ubyte >0
|
||||
#>>6 pstring x \b, name=%s
|
||||
>>7 string >\0 \b, author=%-.14s
|
||||
>>7 search/254 \xff \b, info=
|
||||
#>>>&0 string x \b%-s
|
||||
>>>&0 string x \b%-.15s
|
||||
# for FreeDOS *.KL files
|
||||
# for FreeDOS *.KL files
|
||||
0 string/b KLF FreeDOS KEYBoard Layout file
|
||||
# only version=0x100 or 0x101 found
|
||||
>3 uleshort x \b, version 0x%x
|
||||
# stringlength
|
||||
>5 ubyte >0
|
||||
>5 ubyte >0
|
||||
>>8 string x \b, name=%-.2s
|
||||
0 string \xffKEYB\ \ \ \0\0\0\0
|
||||
0 string \xffKEYB\ \ \ \0\0\0\0
|
||||
>12 string \0\0\0\0`\004\360 MS-DOS KEYBoard Layout file
|
||||
|
||||
# .COM formats (Daniel Quinlan, [email protected])
|
||||
# Uncommenting only the first two lines will cover about 2/3 of COM files,
|
||||
# but it isn't feasible to match all COM files since there must be at least
|
||||
# two dozen different one-byte "magics".
|
||||
# test too generic ?
|
||||
0 byte 0xe9 DOS executable (COM)
|
||||
>0x1FE leshort 0xAA55 \b, boot code
|
||||
>6 string SFX\ of\ LHarc (%s)
|
||||
|
||||
# DOS device driver updated by Joerg Jenderek at May 2011
|
||||
# http://maben.homeip.net/static/S100/IBM/software/DOS/DOS%20techref/CHAPTER.009
|
||||
0 ulequad&0x07a0ffffffff 0xffffffff DOS executable (
|
||||
>40 search/7 UPX! \bUPX compressed
|
||||
# DOS device driver updated by Joerg Jenderek at May 2011,Mar 2017
|
||||
# https://amaus.net/static/S100/IBM/software/DOS/DOS%20techref/CHAPTER.009
|
||||
0 ulequad&0x07a0ffffffff 0xffffffff
|
||||
>0 use msdos-driver
|
||||
0 name msdos-driver DOS executable (
|
||||
#!:mime application/octet-stream
|
||||
!:mime application/x-dosdriver
|
||||
# also found FreeDOS print driver SPOOL.DEV and disc compression driver STACLOAD.BIN
|
||||
!:ext sys/dev/bin
|
||||
>40 search/7 UPX! \bUPX compressed
|
||||
# DOS device driver attributes
|
||||
>4 uleshort&0x8000 0x0000 \bblock device driver
|
||||
# character device
|
||||
>4 uleshort&0x8000 0x8000 \b
|
||||
>>4 uleshort&0x0008 0x0008 \bclock
|
||||
>>4 uleshort&0x0008 0x0008 \bclock
|
||||
# fast video output by int 29h
|
||||
>>4 uleshort&0x0010 0x0010 \bfast
|
||||
>>4 uleshort&0x0010 0x0010 \bfast
|
||||
# standard input/output device
|
||||
>>4 uleshort&0x0003 >0 \bstandard
|
||||
>>4 uleshort&0x0003 >0 \bstandard
|
||||
>>>4 uleshort&0x0001 0x0001 \binput
|
||||
>>>4 uleshort&0x0003 0x0003 \b/
|
||||
>>>4 uleshort&0x0002 0x0002 \boutput
|
||||
>>>4 uleshort&0x0002 0x0002 \boutput
|
||||
>>4 uleshort&0x8000 0x8000 \bcharacter device driver
|
||||
>0 ubyte x
|
||||
>0 ubyte x
|
||||
# upx compressed device driver has garbage instead of real in name field of header
|
||||
>>40 search/7 UPX!
|
||||
>>40 default x
|
||||
>>40 search/7 UPX!
|
||||
>>40 default x
|
||||
# leading/trailing nulls, zeros or non ASCII characters in 8-byte name field at offset 10 are skipped
|
||||
>>>12 ubyte >0x27 \b
|
||||
>>>>10 ubyte >0x20
|
||||
>>>>>10 ubyte !0x2E
|
||||
>>>12 ubyte >0x2E \b
|
||||
>>>>10 ubyte >0x20
|
||||
>>>>>10 ubyte !0x2E
|
||||
>>>>>>10 ubyte !0x2A \b%c
|
||||
>>>>11 ubyte >0x20
|
||||
>>>>11 ubyte >0x20
|
||||
>>>>>11 ubyte !0x2E \b%c
|
||||
>>>>12 ubyte >0x20
|
||||
>>>>>12 ubyte !0x39
|
||||
>>>>12 ubyte >0x20
|
||||
>>>>>12 ubyte !0x39
|
||||
>>>>>>12 ubyte !0x2E \b%c
|
||||
>>>13 ubyte >0x20
|
||||
>>>13 ubyte >0x20
|
||||
>>>>13 ubyte !0x2E \b%c
|
||||
>>>>14 ubyte >0x20
|
||||
>>>>14 ubyte >0x20
|
||||
>>>>>14 ubyte !0x2E \b%c
|
||||
>>>>15 ubyte >0x20
|
||||
>>>>15 ubyte >0x20
|
||||
>>>>>15 ubyte !0x2E \b%c
|
||||
>>>>16 ubyte >0x20
|
||||
>>>>>16 ubyte !0x2E
|
||||
>>>>16 ubyte >0x20
|
||||
>>>>>16 ubyte !0x2E
|
||||
>>>>>>16 ubyte <0xCB \b%c
|
||||
>>>>17 ubyte >0x20
|
||||
>>>>>17 ubyte !0x2E
|
||||
>>>>17 ubyte >0x20
|
||||
>>>>>17 ubyte !0x2E
|
||||
>>>>>>17 ubyte <0x90 \b%c
|
||||
# some character device drivers like ASPICD.SYS, btcdrom.sys and Cr_atapi.sys contain only spaces or points in name field
|
||||
>>>4 uleshort&0x8000 0x8000
|
||||
>>>>12 ubyte <0x2F
|
||||
>>>12 ubyte <0x2F
|
||||
# they have their real name at offset 22
|
||||
>>>>>22 string >\0 \b%-.5s
|
||||
>4 uleshort&0x8000 0x0000
|
||||
# also block device drivers like DUMBDRV.SYS
|
||||
>>>>22 string >\056 %-.6s
|
||||
>4 uleshort&0x8000 0x0000
|
||||
# 32 bit sector addressing ( > 32 MB) for block devices
|
||||
>>4 uleshort&0x0002 0x0002 \b,32-bit sector-
|
||||
# support by driver functions 13h, 17h, 18h
|
||||
@@ -389,54 +390,129 @@
|
||||
# open, close, removable media support by driver functions 0Dh, 0Eh, 0Fh
|
||||
>4 uleshort&0x0800 0x0800 \b,close media-
|
||||
# output until busy support by int 10h for character device driver
|
||||
>4 uleshort&0x8000 0x8000
|
||||
>4 uleshort&0x8000 0x8000
|
||||
>>4 uleshort&0x2000 0x2000 \b,until busy-
|
||||
# direct read/write support by driver functions 03h,0Ch
|
||||
>4 uleshort&0x4000 0x4000 \b,control strings-
|
||||
>4 uleshort&0x8000 0x8000
|
||||
>4 uleshort&0x8000 0x8000
|
||||
>>4 uleshort&0x6840 >0 \bsupport
|
||||
>4 uleshort&0x8000 0x0000
|
||||
>4 uleshort&0x8000 0x0000
|
||||
>>4 uleshort&0x4842 >0 \bsupport
|
||||
>0 ubyte x \b)
|
||||
# DOS driver cmd640x.sys has 0x12 instead of 0xffffffff for pointer field to next device header
|
||||
# Too weak, matches files that only contain 0's
|
||||
#0 ulequad&0x000007a0ffffffed 0x0000000000000000 DOS-executable (
|
||||
#>4 uleshort&0x8000 0x8000 \bcharacter device driver
|
||||
#>>10 string x %-.8s
|
||||
#>4 uleshort&0x4000 0x4000 \b,control strings-support)
|
||||
# DOS driver cmd640x.sys has 0x12 instead of 0xffffffff for pointer field to next device header
|
||||
0 ulequad 0x0513c00000000012
|
||||
>0 use msdos-driver
|
||||
# DOS drivers DC2975.SYS, DUMBDRV.SYS, ECHO.SYS has also none 0xffffffff for pointer field
|
||||
0 ulequad 0x32f28000ffff0016
|
||||
>0 use msdos-driver
|
||||
0 ulequad 0x007f00000000ffff
|
||||
>0 use msdos-driver
|
||||
0 ulequad 0x001600000000ffff
|
||||
>0 use msdos-driver
|
||||
# DOS drivers LS120.SYS, MKELS120.SYS use reserved bits of attribute field
|
||||
0 ulequad 0x0bf708c2ffffffff
|
||||
>0 use msdos-driver
|
||||
0 ulequad 0x07bd08c2ffffffff
|
||||
>0 use msdos-driver
|
||||
|
||||
# updated by Joerg Jenderek
|
||||
# GRR: line below too general as it catches also
|
||||
# rt.lib DYADISKS.PIC and many more
|
||||
# start with assembler instruction MOV
|
||||
0 ubyte 0x8c
|
||||
# skip "AppleWorks word processor data" like ARTICLE.1 ./apple
|
||||
>4 string !O====
|
||||
# skip some unknown basic binaries like RocketRnger.SHR
|
||||
>>5 string !MAIN
|
||||
# skip "GPG symmetrically encrypted data" ./gnu
|
||||
# skip "PGP symmetric key encrypted data" ./pgp
|
||||
# openpgpdefs.h: fourth byte < 14 indicate cipher algorithm type
|
||||
>>>4 ubyte >13 DOS executable (COM, 0x8C-variant)
|
||||
# the remaining files should be DOS *.COM executables
|
||||
# dosshell.COM 8cc0 2ea35f07 e85211 e88a11 b80058 cd
|
||||
# hmload.COM 8cc8 8ec0 bbc02b 89dc 83c30f c1eb04 b4
|
||||
# UNDELETE.COM 8cca 2e8916 6503 b430 cd21 8b 2e0200 8b
|
||||
# BOOTFIX.COM 8cca 2e8916 9603 b430 cd21 8b 2e0200 8b
|
||||
# RAWRITE3.COM 8cca 2e8916 d602 b430 cd21 8b 2e0200 8b
|
||||
# SHARE.COM 8cca 2e8916 d602 b430 cd21 8b 2e0200 8b
|
||||
# validchr.COM 8cca 2e8916 9603 b430 cd21 8b 2e028b1e
|
||||
# devload.COM 8cca 8916ad01 b430 cd21 8b2e0200 892e
|
||||
!:mime application/x-dosexec
|
||||
!:ext com
|
||||
|
||||
# test too generic ?
|
||||
0 byte 0x8c DOS executable (COM)
|
||||
# updated by Joerg Jenderek at Oct 2008
|
||||
0 ulelong 0xffff10eb DR-DOS executable (COM)
|
||||
# byte 0xeb conflicts with "sequent" magic leshort 0xn2eb
|
||||
0 ubeshort&0xeb8d >0xeb00
|
||||
0 ubeshort&0xeb8d >0xeb00
|
||||
# DR-DOS STACKER.COM SCREATE.SYS missed
|
||||
>0 byte 0xeb
|
||||
>>0x1FE leshort 0xAA55 DOS executable (COM), boot code
|
||||
>>85 string UPX DOS executable (COM), UPX compressed
|
||||
>>4 string \ $ARX DOS executable (COM), ARX self-extracting archive
|
||||
>>4 string \ $LHarc DOS executable (COM), LHarc self-extracting archive
|
||||
>>0x20e string SFX\ by\ LARC DOS executable (COM), LARC self-extracting archive
|
||||
# updated by Joerg Jenderek at Oct 2008
|
||||
#0 byte 0xb8 COM executable
|
||||
0 uleshort&0x80ff 0x00b8
|
||||
|
||||
0 name msdos-com
|
||||
>0 byte x DOS executable (COM)
|
||||
>6 string SFX\ of\ LHarc \b, %s
|
||||
>0x1FE leshort 0xAA55 \b, boot code
|
||||
>85 string UPX \b, UPX compressed
|
||||
>4 string \ $ARX \b, ARX self-extracting archive
|
||||
>4 string \ $LHarc \b, LHarc self-extracting archive
|
||||
>0x20e string SFX\ by\ LARC \b, LARC self-extracting archive
|
||||
|
||||
# JMP 8bit
|
||||
0 byte 0xeb
|
||||
# allow forward jumps only
|
||||
>1 byte >-1
|
||||
# that offset must be accessible
|
||||
>>(1.b+2) byte x
|
||||
>>>0 use msdos-com
|
||||
|
||||
# JMP 16bit
|
||||
0 byte 0xe9
|
||||
# forward jumps
|
||||
>1 short >-1
|
||||
# that offset must be accessible
|
||||
>>(1.s+3) byte x
|
||||
>>>0 use msdos-com
|
||||
# negative offset, must not lead into PSP
|
||||
>1 short <-259
|
||||
# that offset must be accessible
|
||||
>>(1,s+65539) byte x
|
||||
>>>0 use msdos-com
|
||||
|
||||
# updated by Joerg Jenderek at Oct 2008,2015
|
||||
# following line is too general
|
||||
0 ubyte 0xb8
|
||||
# skip 2 linux kernels like memtest.bin with "\xb8\xc0\x07\x8e" in ./linux
|
||||
>0 string !\xb8\xc0\x07\x8e
|
||||
# modified by Joerg Jenderek
|
||||
>1 lelong !0x21cd4cff COM executable for DOS
|
||||
# syslinux COM32 or COM32R executable
|
||||
>>1 lelong&0xFFFFFFFe 0x21CD4CFe COM executable (32-bit COMBOOT
|
||||
# http://www.syslinux.org/wiki/index.php/Comboot_API
|
||||
# Since version 5.00 c32 modules switched from the COM32 object format to ELF
|
||||
!:mime application/x-c32-comboot-syslinux-exec
|
||||
!:ext c32
|
||||
# http://syslinux.zytor.com/comboot.php
|
||||
# older syslinux version ( <4 )
|
||||
# (32-bit COMBOOT) programs *.C32 contain 32-bit code and run in flat-memory 32-bit protected mode
|
||||
# start with assembler instructions mov eax,21cd4cffh
|
||||
0 uleshort&0xc0ff 0xc0b8
|
||||
>1 lelong 0x21cd4cff COM executable (32-bit COMBOOT)
|
||||
>>>1 lelong 0x21CD4CFf \b)
|
||||
# syslinux:doc/comboot.txt
|
||||
# A COM32R program must start with the byte sequence B8 FE 4C CD 21 (mov
|
||||
# eax,21cd4cfeh) as a magic number.
|
||||
0 string/b \xb8\xfe\x4c\xcd\x21 COM executable (COM32R)
|
||||
# start with assembler instructions mov eax,21cd4cfeh
|
||||
0 uleshort&0xc0ff 0xc0b8
|
||||
>1 lelong 0x21cd4cfe COM executable (32-bit COMBOOT, relocatable)
|
||||
0 string/b \x81\xfc
|
||||
>4 string \x77\x02\xcd\x20\xb9
|
||||
# syslinux version (4.x)
|
||||
# "COM executable (COM32R)" or "Syslinux COM32 module" by TrID
|
||||
>>>1 lelong 0x21CD4CFe \b, relocatable)
|
||||
# remaining are DOS COM executables starting with assembler instruction MOV
|
||||
# like FreeDOS BANNER*.COM FINDDISK.COM GIF2RAW.COM WINCHK.COM
|
||||
# MS-DOS SYS.COM RESTART.COM
|
||||
# SYSLINUX.COM (version 1.40 - 2.13)
|
||||
# GFXBOOT.COM (version 3.75)
|
||||
# COPYBS.COM POWEROFF.COM INT18.COM
|
||||
>>1 default x COM executable for DOS
|
||||
!:mime application/x-dosexec
|
||||
#!:mime application/x-ms-dos-executable
|
||||
#!:mime application/x-msdos-program
|
||||
!:ext com
|
||||
|
||||
0 string/b \x81\xfc
|
||||
>4 string \x77\x02\xcd\x20\xb9
|
||||
>>36 string UPX! FREE-DOS executable (COM), UPX compressed
|
||||
252 string Must\ have\ DOS\ version DR-DOS executable (COM)
|
||||
# added by Joerg Jenderek at Oct 2008
|
||||
@@ -453,10 +529,10 @@
|
||||
#IFMEMDSK.cOM ASSIGN.cOM COMP.cOM
|
||||
5 string \xcd\x21 COM executable for DOS
|
||||
#DELTMP.COm HASFAT32.cOM
|
||||
7 string \xcd\x21
|
||||
7 string \xcd\x21
|
||||
>0 byte !0xb8 COM executable for DOS
|
||||
#COMP.cOM MORE.COm
|
||||
10 string \xcd\x21
|
||||
10 string \xcd\x21
|
||||
>5 string !\xcd\x21 COM executable for DOS
|
||||
#comecho.com
|
||||
13 string \xcd\x21 COM executable for DOS
|
||||
@@ -504,10 +580,23 @@
|
||||
0 string/b PO^Q` Microsoft Word 6.0 Document
|
||||
!:mime application/msword
|
||||
#
|
||||
0 string/b \376\067\0\043 Microsoft Office Document
|
||||
4 long 0
|
||||
>0 belong 0xfe320000 Microsoft Word for Macintosh 1.0
|
||||
!:mime application/msword
|
||||
0 string/b \333\245-\0\0\0 Microsoft Office Document
|
||||
!:ext mcw
|
||||
>0 belong 0xfe340000 Microsoft Word for Macintosh 3.0
|
||||
!:mime application/msword
|
||||
!:ext mcw
|
||||
>0 belong 0xfe37001c Microsoft Word for Macintosh 4.0
|
||||
!:mime application/msword
|
||||
!:ext mcw
|
||||
>0 belong 0xfe370023 Microsoft Word for Macintosh 5.0
|
||||
!:mime application/msword
|
||||
!:ext mcw
|
||||
|
||||
0 string/b \333\245-\0\0\0 Microsoft Word 2.0 Document
|
||||
!:mime application/msword
|
||||
!:ext doc
|
||||
512 string/b \354\245\301 Microsoft Word Document
|
||||
!:mime application/msword
|
||||
|
||||
@@ -533,17 +622,158 @@
|
||||
0 string/b \x09\x04\x06\x00\x00\x00\x10\x00 Microsoft Excel Worksheet
|
||||
!:mime application/vnd.ms-excel
|
||||
#
|
||||
0 belong 0x00001a00 Lotus 1-2-3
|
||||
!:mime application/x-123
|
||||
>4 belong 0x00100400 wk3 document data
|
||||
>4 belong 0x02100400 wk4 document data
|
||||
>4 belong 0x07800100 fm3 or fmb document data
|
||||
>4 belong 0x07800000 fm3 or fmb document data
|
||||
# Update: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/Lotus_1-2-3
|
||||
# Reference: http://www.aboutvb.de/bas/formate/pdf/wk3.pdf
|
||||
# Note: newer Lotus versions >2 use longer BOF record
|
||||
# record type (BeginningOfFile=0000h) + length (001Ah)
|
||||
0 belong 0x00001a00
|
||||
# reserved should be 0h but 8c0dh for TUTMAC.WK3, 5h for SAMPADNS.WK3, 1h for a_readme.wk3, 1eh for K&G86.WK3
|
||||
#>18 uleshort&0x73E0 0
|
||||
# Lotus Multi Byte Character Set (LMBCS=1-31)
|
||||
>20 ubyte >0
|
||||
>>20 ubyte <32 Lotus 1-2-3
|
||||
#!:mime application/x-123
|
||||
!:mime application/vnd.lotus-1-2-3
|
||||
!:apple ????L123
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3 wk3 document data"
|
||||
>>>4 uleshort 0x1000 WorKsheet, version 3
|
||||
!:ext wk3
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3 wk4 document data"
|
||||
>>>4 uleshort 0x1002 WorKsheet, version 4
|
||||
# also worksheet template 4 (.wt4)
|
||||
!:ext wk4/wt4
|
||||
# no example or documentation for wk5
|
||||
#>>4 uleshort 0x???? WorKsheet, version 4
|
||||
#!:ext wk5
|
||||
# only MacrotoScript.123 example
|
||||
>>>4 uleshort 0x1003 WorKsheet, version 97
|
||||
# also worksheet template Smartmaster (.12M)?
|
||||
!:ext 123
|
||||
# only Set_Y2K.123 example
|
||||
>>>4 uleshort 0x1005 WorKsheet, version 9.8 Millennium
|
||||
!:ext 123
|
||||
# no example for this version
|
||||
>>>4 uleshort 0x8001 FoRMatting data
|
||||
!:ext frm
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3 fm3 or fmb document data"
|
||||
# TrID labeles the entry as "Formatting Data for Lotus 1-2-3 worksheet"
|
||||
>>>4 uleshort 0x8007 ForMatting data, version 3
|
||||
!:ext fm3
|
||||
>>>4 default x unknown
|
||||
# file revision sub code 0004h for worksheets
|
||||
>>>>6 uleshort =0x0004 worksheet
|
||||
!:ext wXX
|
||||
>>>>6 uleshort !0x0004 formatting data
|
||||
!:ext fXX
|
||||
# main revision number
|
||||
>>>>4 uleshort x \b, revision 0x%x
|
||||
>>>6 uleshort =0x0004 \b, cell range
|
||||
# active cellcoord range (start row, page,column ; end row, page, column)
|
||||
# start values normally 0~1st sheet A1
|
||||
>>>>8 ulelong !0
|
||||
>>>>>10 ubyte >0 \b%d*
|
||||
>>>>>8 uleshort x \b%d,
|
||||
>>>>>11 ubyte x \b%d-
|
||||
# end page mostly 0
|
||||
>>>>14 ubyte >0 \b%d*
|
||||
# end raw, column normally not 0
|
||||
>>>>12 uleshort x \b%d,
|
||||
>>>>15 ubyte x \b%d
|
||||
# Lotus Multi Byte Character Set (1~cp850,2~cp851,...,16~japan,...,31~??)
|
||||
>>>>20 ubyte >1 \b, character set 0x%x
|
||||
# flags
|
||||
>>>>21 ubyte x \b, flags 0x%x
|
||||
>>>6 uleshort !0x0004
|
||||
# record type (FONTNAME=00AEh)
|
||||
>>>>30 search/29 \0\xAE
|
||||
# variable length m (2) + entries (1) + ?? (1) + LCMBS string (n)
|
||||
>>>>>&4 string >\0 \b, 1st font "%s"
|
||||
#
|
||||
0 belong 0x00000200 Lotus 1-2-3
|
||||
!:mime application/x-123
|
||||
>4 belong 0x06040600 wk1 document data
|
||||
>4 belong 0x06800200 fmt document data
|
||||
# Update: Joerg Jenderek
|
||||
# URL: http://fileformats.archiveteam.org/wiki/Lotus_1-2-3
|
||||
# Reference: http://www.schnarff.com/file-formats/lotus-1-2-3/WSFF2.TXT
|
||||
# Note: Used by both old Lotus 1-2-3 and Lotus Symphony (DOS) til version 2.x
|
||||
# record type (BeginningOfFile=0000h) + length (0002h)
|
||||
0 belong 0x00000200
|
||||
# GRR: line above is too general as it catches also MS Windows CURsor
|
||||
# to display MS Windows cursor (strength=70) before Lotus 1-2-3 (strength=70-1)
|
||||
!:strength -1
|
||||
# skip Windows cursors with image height <256 and keep Lotus with low opcode 0001-0083h
|
||||
>7 ubyte 0
|
||||
# skip Windows cursors with image width 256 and keep Lotus with positiv opcode
|
||||
>>6 ubyte >0 Lotus
|
||||
# !:mime application/x-123
|
||||
!:mime application/vnd.lotus-1-2-3
|
||||
!:apple ????L123
|
||||
# revision number (0404h = 123 1A, 0405h = Lotus Symphony , 0406h = 123 2.x wk1 , 8006h = fmt , ...)
|
||||
# undocumented; (version 5.26) labeled the configurations as "Lotus 1-2-3"
|
||||
>>>4 uleshort 0x0007 1-2-3 CoNFiguration, version 2.x (PGRAPH.CNF)
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x0C05 1-2-3 CoNFiguration, version 2.4J
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x0801 1-2-3 CoNFiguration, version 1-2.1
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x0802 Symphony CoNFiguration
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x0804 1-2-3 CoNFiguration, version 2.2
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x080A 1-2-3 CoNFiguration, version 2.3-2.4
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x1402 1-2-3 CoNFiguration, version 3.x
|
||||
!:ext cnf
|
||||
>>>4 uleshort 0x1450 1-2-3 CoNFiguration, version 4.x
|
||||
!:ext cnf
|
||||
# (version 5.26) labeled the entry as "Lotus 123"
|
||||
# TrID labeles the entry as "Lotus 123 Worksheet (generic)"
|
||||
>>>4 uleshort 0x0404 1-2-3 WorKSheet, version 1
|
||||
# extension "wks" also for Microsoft Works document
|
||||
!:ext wks
|
||||
# (version 5.26) labeled the entry as "Lotus 123"
|
||||
# TrID labeles the entry as "Lotus 123 Worksheet (generic)"
|
||||
>>>4 uleshort 0x0405 Symphony WoRksheet, version 1.0
|
||||
!:ext wrk/wr1
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3 wk1 document data"
|
||||
# TrID labeles the entry as "Lotus 123 Worksheet (V2)"
|
||||
>>>4 uleshort 0x0406 1-2-3/Symphony worksheet, version 2
|
||||
# Symphony (.wr1)
|
||||
!:ext wk1/wr1
|
||||
# no example for this japan version
|
||||
>>>4 uleshort 0x0600 1-2-3 WorKsheet, version 1.xJ
|
||||
!:ext wj1
|
||||
# no example or documentation for wk2
|
||||
#>>>4 uleshort 0x???? 1-2-3 WorKsheet, version 2
|
||||
#!:ext wk2
|
||||
# undocumented japan version
|
||||
>>>4 uleshort 0x0602 1-2-3 worksheet, version 2.4J
|
||||
!:ext wj3
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3 fmt document data"
|
||||
>>>4 uleshort 0x8006 1-2-3 ForMaTting data, version 2.x
|
||||
# japan version 2.4J (fj3)
|
||||
!:ext fmt/fj3
|
||||
# no example for this version
|
||||
>>>4 uleshort 0x8007 1-2-3 FoRMatting data, version 2.0
|
||||
!:ext frm
|
||||
# (version 5.26) labeled the entry as "Lotus 1-2-3"
|
||||
>>>4 default x unknown worksheet or configuration
|
||||
!:ext cnf
|
||||
>>>>4 uleshort x \b, revision 0x%x
|
||||
# 2nd record for most worksheets describes cells range
|
||||
>>>6 use lotus-cells
|
||||
# 3nd record for most japan worksheets describes cells range
|
||||
>>>(8.s+10) use lotus-cells
|
||||
# check and then display Lotus worksheet cells range
|
||||
0 name lotus-cells
|
||||
# look for type (RANGE=0006h) + length (0008h) at record begin
|
||||
>0 ubelong 0x06000800 \b, cell range
|
||||
# cell range (start column, row, end column, row) start values normally 0,0~A1 cell
|
||||
>>4 ulong !0
|
||||
>>>4 uleshort x \b%d,
|
||||
>>>6 uleshort x \b%d-
|
||||
# end of cell range
|
||||
>>8 uleshort x \b%d,
|
||||
>>10 uleshort x \b%d
|
||||
# EndOfLotus123
|
||||
0 string/b WordPro\0 Lotus WordPro
|
||||
!:mime application/vnd.lotus-wordpro
|
||||
0 string/b WordPro\r\373 Lotus WordPro
|
||||
@@ -588,56 +818,95 @@
|
||||
0 string/b \102\101\050\000\000\000\056\000\000\000\000\000\000\000 Icon for MS Windows
|
||||
|
||||
# Windows icons
|
||||
0 name ico-dir
|
||||
# not entirely accurate, the number of icons is part of the header
|
||||
>0 byte 1 - 1 icon
|
||||
>0 ubyte >1 - %d icons
|
||||
>2 byte 0 \b, 256x
|
||||
>2 byte !0 \b, %dx
|
||||
>3 byte 0 \b256
|
||||
>3 byte !0 \b%d
|
||||
>4 ubyte !0 \b, %d colors
|
||||
|
||||
# Update: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/CUR_(file_format)
|
||||
# Note: similar to Windows CURsor. container for BMP (only DIB part) or PNG
|
||||
0 belong 0x00000100
|
||||
>9 byte 0
|
||||
>>0 byte x MS Windows icon resource
|
||||
!:mime image/x-icon
|
||||
>>4 use ico-dir
|
||||
>>0 byte x
|
||||
>>0 use cur-ico-dir
|
||||
>9 ubyte 0xff
|
||||
>>0 byte x MS Windows icon resource
|
||||
!:mime image/x-icon
|
||||
>>4 use ico-dir
|
||||
>>0 byte x
|
||||
>>0 use cur-ico-dir
|
||||
# displays number of icons and information for icon or cursor
|
||||
0 name cur-ico-dir
|
||||
# skip some Lotus 1-2-3 worksheets, CYCLE.PIC and keep Windows cursors with
|
||||
# 1st data offset = dir header size + n * dir entry size = 6 + n * 10h = ?6h
|
||||
>18 ulelong &0x00000006
|
||||
# skip remaining worksheets, because valid only for DIB image (40) or PNG image (\x89PNG)
|
||||
>>(18.l) ulelong x MS Windows
|
||||
>>>0 ubelong 0x00000100 icon resource
|
||||
#!:mime image/vnd.microsoft.icon
|
||||
!:mime image/x-icon
|
||||
!:ext ico
|
||||
>>>>4 uleshort x - %d icon
|
||||
# plural s
|
||||
>>>>4 uleshort >1 \bs
|
||||
# 1st icon
|
||||
>>>>0x06 use ico-entry
|
||||
# 2nd icon
|
||||
>>>>4 uleshort >1
|
||||
>>>>>0x16 use ico-entry
|
||||
>>>0 ubelong 0x00000200 cursor resource
|
||||
#!:mime image/x-cur
|
||||
!:mime image/x-win-bitmap
|
||||
!:ext cur
|
||||
>>>>4 uleshort x - %d icon
|
||||
>>>>4 uleshort >1 \bs
|
||||
# 1st cursor
|
||||
>>>>0x06 use cur-entry
|
||||
#>>>>0x16 use cur-entry
|
||||
# display information of one cursor entry
|
||||
0 name cur-entry
|
||||
>0 use cur-ico-entry
|
||||
>4 uleshort x \b, hotspot @%dx
|
||||
>6 uleshort x \b%d
|
||||
# display information of one icon entry
|
||||
0 name ico-entry
|
||||
>0 use cur-ico-entry
|
||||
# normally 0 1 but also found 14
|
||||
>4 uleshort >1 \b, %d planes
|
||||
# normally 0 1 but also found some 3, 4, some 6, 8, 24, many 32, two 256
|
||||
>6 uleshort >1 \b, %d bits/pixel
|
||||
# display shared information of cursor or icon entry
|
||||
0 name cur-ico-entry
|
||||
>0 byte =0 \b, 256x
|
||||
>0 byte !0 \b, %dx
|
||||
>1 byte =0 \b256
|
||||
>1 byte !0 \b%d
|
||||
# number of colors in palette
|
||||
>2 ubyte !0 \b, %d colors
|
||||
# reserved 0 FFh
|
||||
#>3 ubyte x \b, reserved %x
|
||||
#>8 ulelong x \b, image size %d
|
||||
# offset of PNG or DIB image
|
||||
#>12 ulelong x \b, offset 0x%x
|
||||
# PNG header (\x89PNG)
|
||||
>(12.l) ubelong =0x89504e47
|
||||
>>&-4 indirect x \b with
|
||||
# DIB image
|
||||
>(12.l) ubelong !0x89504e47
|
||||
#>>&-4 use dib-image
|
||||
|
||||
# Windows non-animated cursors
|
||||
0 name cur-dir
|
||||
# not entirely accurate, the number of icons is part of the header
|
||||
>0 byte 1 - 1 icon
|
||||
>0 ubyte >1 - %d icons
|
||||
>2 byte 0 \b, 256x
|
||||
>2 byte !0 \b, %dx
|
||||
>3 byte 0 \b256
|
||||
>3 byte !0 \b%d
|
||||
>6 uleshort x \b, hotspot @%dx
|
||||
>8 uleshort x \b%d
|
||||
|
||||
# Update: Joerg Jenderek
|
||||
# URL: https://en.wikipedia.org/wiki/CUR_(file_format)
|
||||
# Note: similar to Windows ICOn. container for BMP ( only DIB part)
|
||||
# GRR: line below is too general as it catches also Lotus 1-2-3 files
|
||||
0 belong 0x00000200
|
||||
>9 byte 0
|
||||
>>0 byte x MS Windows cursor resource
|
||||
!:mime image/x-cur
|
||||
>>4 use cur-dir
|
||||
>>0 use cur-ico-dir
|
||||
>9 ubyte 0xff
|
||||
>>0 byte x MS Windows cursor resource
|
||||
!:mime image/x-cur
|
||||
>>4 use cur-dir
|
||||
>>0 use cur-ico-dir
|
||||
|
||||
# .chr files
|
||||
0 string/b PK\010\010BGI Borland font
|
||||
0 string/b PK\010\010BGI Borland font
|
||||
>4 string >\0 %s
|
||||
# then there is a copyright notice
|
||||
|
||||
|
||||
# .bgi files
|
||||
0 string/b pk\010\010BGI Borland device
|
||||
0 string/b pk\010\010BGI Borland device
|
||||
>4 string >\0 %s
|
||||
# then there is a copyright notice
|
||||
|
||||
@@ -654,24 +923,6 @@
|
||||
0 lelong 0x00000005
|
||||
>12 lelong 0x00000320 Windows Recycle Bin INFO2 file (Win2k - WinXP)
|
||||
|
||||
|
||||
##### put in Either Magic/font or Magic/news
|
||||
# Acroread or something files wrongly identified as G3 .pfm
|
||||
# these have the form \000 \001 any? \002 \000 \000
|
||||
# or \000 \001 any? \022 \000 \000
|
||||
0 belong&0xffff00ff 0x00010012 PFM data
|
||||
>4 string \000\000
|
||||
>6 string >\060 - %s
|
||||
|
||||
0 belong&0xffff00ff 0x00010002 PFM data
|
||||
>4 string \000\000
|
||||
>6 string >\060 - %s
|
||||
#0 string \000\001 pfm?
|
||||
#>3 string \022\000\000Copyright\ yes
|
||||
#>3 string \002\000\000Copyright\ yes
|
||||
#>3 string >\0 oops, not a font file. Cancel that.
|
||||
#it clashes with ttf files so put it lower down.
|
||||
|
||||
# From Doug Lee via a FreeBSD pr
|
||||
9 string GERBILDOC First Choice document
|
||||
9 string GERBILDB First Choice database
|
||||
@@ -686,7 +937,7 @@
|
||||
0 lelong 0x08086b70 TurboC BGI file
|
||||
0 lelong 0x08084b50 TurboC Font file
|
||||
|
||||
# Debian#712046: The magic below identifies "Delphi compiled form data".
|
||||
# Debian#712046: The magic below identifies "Delphi compiled form data".
|
||||
# An additional source of information is available at:
|
||||
# http://www.woodmann.com/fravia/dafix_t1.htm
|
||||
0 string TPF0
|
||||
@@ -695,7 +946,7 @@
|
||||
# tests for DBase files moved, updated and merged to database
|
||||
|
||||
0 string PMCC Windows 3.x .GRP file
|
||||
1 string RDC-meg MegaDots
|
||||
1 string RDC-meg MegaDots
|
||||
>8 byte >0x2F version %c
|
||||
>9 byte >0x2F \b.%c file
|
||||
0 lelong 0x4C
|
||||
@@ -712,16 +963,16 @@
|
||||
#>0x181 leshort x \b, offset %x
|
||||
#>0x183 leshort x \b, offsetdata %x
|
||||
#>0x185 leshort x \b, section length %x
|
||||
>0x187 search/0xB55 WINDOWS\ VMM\ 4.0\0
|
||||
>>&0x5e ubyte >0
|
||||
>0x187 search/0xB55 WINDOWS\ VMM\ 4.0\0
|
||||
>>&0x5e ubyte >0
|
||||
>>>&-1 string <PIFMGR.DLL \b, icon=%s
|
||||
#>>>&-1 string PIFMGR.DLL \b, icon=%s
|
||||
>>>&-1 string >PIFMGR.DLL \b, icon=%s
|
||||
>>&0xF0 ubyte >0
|
||||
>>&0xF0 ubyte >0
|
||||
>>>&-1 string <Terminal \b, font=%.32s
|
||||
#>>>&-1 string =Terminal \b, font=%.32s
|
||||
>>>&-1 string >Terminal \b, font=%.32s
|
||||
>>&0x110 ubyte >0
|
||||
>>&0x110 ubyte >0
|
||||
>>>&-1 string <Lucida\ Console \b, TrueTypeFont=%.32s
|
||||
#>>>&-1 string =Lucida\ Console \b, TrueTypeFont=%.32s
|
||||
>>>&-1 string >Lucida\ Console \b, TrueTypeFont=%.32s
|
||||
@@ -737,6 +988,7 @@
|
||||
# DOS EPS Binary File Header
|
||||
# From: Ed Sznyter <[email protected]>
|
||||
0 belong 0xC5D0D3C6 DOS EPS Binary File
|
||||
!:mime image/x-eps
|
||||
>4 long >0 Postscript starts at byte %d
|
||||
>>8 long >0 length %d
|
||||
>>>12 long >0 Metafile starts at byte %d
|
||||
@@ -744,15 +996,15 @@
|
||||
>>>20 long >0 TIFF starts at byte %d
|
||||
>>>>24 long >0 length %d
|
||||
|
||||
# TNEF magic From "Joomy" <[email protected]>
|
||||
# TNEF magic From "Joomy" <[email protected]>
|
||||
# Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF)
|
||||
0 leshort 0x223e9f78 TNEF
|
||||
0 lelong 0x223e9f78 TNEF
|
||||
!:mime application/vnd.ms-tnef
|
||||
|
||||
# Norton Guide (.NG , .HLP) files added by Joerg Jenderek from source NG2HTML.C
|
||||
# of http://www.davep.org/norton-guides/ng2h-105.tgz
|
||||
# http://en.wikipedia.org/wiki/Norton_Guides
|
||||
0 string NG\0\001
|
||||
0 string NG\0\001
|
||||
# only value 0x100 found at offset 2
|
||||
>2 ulelong 0x00000100 Norton Guide
|
||||
# Title[40]
|
||||
@@ -762,7 +1014,7 @@
|
||||
>>48 string >\0 \b, %-.66s
|
||||
>>114 string >\0 %-.66s
|
||||
|
||||
# 4DOS help (.HLP) files added by Joerg Jenderek from source TPHELP.PAS
|
||||
# 4DOS help (.HLP) files added by Joerg Jenderek from source TPHELP.PAS
|
||||
# of http://www.4dos.info/
|
||||
# pointer,HelpID[8]=4DHnnnmm
|
||||
0 ulelong 0x48443408 4DOS help file
|
||||
@@ -810,7 +1062,7 @@
|
||||
|
||||
|
||||
# Windows Enhanced Metafile (EMF)
|
||||
# See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp
|
||||
# See msdn.microsoft.com/archive/en-us/dnargdi/html/msdn_enhmeta.asp
|
||||
# for further information.
|
||||
0 ulelong 1
|
||||
>40 string \ EMF Windows Enhanced Metafile (EMF) image data
|
||||
@@ -856,7 +1108,8 @@
|
||||
# Type: Microsoft Document Imaging Format (.mdi)
|
||||
# URL: http://en.wikipedia.org/wiki/Microsoft_Document_Imaging_Format
|
||||
# From: Daniele Sempione <[email protected]>
|
||||
0 short 0x5045 Microsoft Document Imaging Format
|
||||
# Too weak (EP)
|
||||
#0 short 0x5045 Microsoft Document Imaging Format
|
||||
|
||||
# MS eBook format (.lit)
|
||||
0 string/b ITOLITLS Microsoft Reader eBook Data
|
||||
@@ -869,8 +1122,9 @@
|
||||
|
||||
# Windows Imaging (WIM) Image
|
||||
0 string/b MSWIM\000\000\000 Windows imaging (WIM) image
|
||||
0 string/b WLPWM\000\000\000 Windows imaging (WIM) image, wimlib pipable format
|
||||
|
||||
# The second byte of these signatures is a file version; I don't know what,
|
||||
# The second byte of these signatures is a file version; I don't know what,
|
||||
# if anything, produced files with version numbers 0-2.
|
||||
# From: John Elliott <[email protected]>
|
||||
0 string \xfc\x03\x00 Mallard BASIC program data (v1.11)
|
||||
@@ -881,3 +1135,66 @@
|
||||
0 string MIOPEN Mallard BASIC Jetsam data
|
||||
0 string Jetsam0 Mallard BASIC Jetsam index data
|
||||
|
||||
# DOS backup 2.0 to 3.2
|
||||
|
||||
# backupid.@@@
|
||||
|
||||
# plausibility check for date
|
||||
0x3 ushort >1979
|
||||
>0x5 ubyte-1 <31
|
||||
>>0x6 ubyte-1 <12
|
||||
# actually 121 nul bytes
|
||||
>>>0x7 string \0\0\0\0\0\0\0\0
|
||||
>>>>0x1 ubyte x DOS 2.0 backup id file, sequence %d
|
||||
!:ext @@@
|
||||
>>>>0x0 ubyte 0xff \b, last disk
|
||||
|
||||
# backed up file
|
||||
|
||||
# skip some AppleWorks word like Tomahawk.Awp, WIN98SE-DE.vhd
|
||||
# by looking for trailing nul of maximal file name string
|
||||
0x52 ubyte 0
|
||||
# test for flag byte: FFh~complete file, 00h~split file
|
||||
# FFh -127 = -1 -127 = -128
|
||||
# 00h -127 = 0 -127 = -127
|
||||
>0 byte-127 <-126
|
||||
# plausibility check for file name length
|
||||
>>0x53 ubyte-1 <78
|
||||
# looking for terminating nul of file name string
|
||||
>>>(0x53.b+4) ubyte 0
|
||||
# looking if last char of string is valid DOS file name
|
||||
>>>>(0x53.b+3) ubyte >0x1F
|
||||
# actually 44 nul bytes
|
||||
# but sometimes garbage according to Ralf Quint. So can not be used as test
|
||||
#>0x54 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
|
||||
# first char of full file name is DOS (5Ch) or UNIX (2Fh) path separator
|
||||
# only DOS variant found. UNIX variant according to V32SLASH.TXT in archive PD0315.EXE
|
||||
>>>>>5 ubyte&0x8C 0x0C
|
||||
# ./msdos (version 5.30) labeled the entry as
|
||||
# "DOS 2.0 backed up file %s, split file, sequence %d" or
|
||||
# "DOS 2.0 backed up file %s, complete file"
|
||||
>>>>>>0 ubyte x DOS 2.0-3.2 backed up
|
||||
#>>>>>>0 ubyte 0xff complete
|
||||
>>>>>>0 ubyte 0
|
||||
>>>>>>>1 uleshort x sequence %d of
|
||||
# full file name with path but without drive letter and colon stored from 0x05 til 0x52
|
||||
>>>>>>0x5 string x file %s
|
||||
# backup name is original filename
|
||||
#!:ext *
|
||||
# magic/Magdir/msdos, 1169: Warning: EXTENSION type ` *' has bad char '*'
|
||||
# file: line 1169: Bad magic entry ' *'
|
||||
# after header original file content
|
||||
>>>>>>128 indirect x \b;
|
||||
|
||||
|
||||
# DOS backup 3.3 to 5.x
|
||||
|
||||
# CONTROL.nnn files
|
||||
0 string \x8bBACKUP\x20
|
||||
# actually 128 nul bytes
|
||||
>0xa string \0\0\0\0\0\0\0\0
|
||||
>>0x9 ubyte x DOS 3.3 backup control file, sequence %d
|
||||
>>0x8a ubyte 0xff \b, last disk
|
||||
|
||||
# NB: The BACKUP.nnn files consist of the files backed up,
|
||||
# concatenated.
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: msvc,v 1.5 2009/09/19 16:28:11 christos Exp $
|
||||
# $File: msvc,v 1.9 2017/08/02 08:15:20 christos Exp $
|
||||
# msvc: file(1) magic for msvc
|
||||
# "H. Nanosecond" <[email protected]>
|
||||
# Microsoft visual C
|
||||
#
|
||||
#
|
||||
# I have version 1.0
|
||||
|
||||
# .aps
|
||||
@@ -27,11 +27,35 @@
|
||||
#.pch
|
||||
0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch
|
||||
|
||||
# .pdb
|
||||
# too long 0 string Microsoft\ C/C++\ program\ database\
|
||||
0 string Microsoft\ C/C++\ MSVC program database
|
||||
>18 string program\ database\
|
||||
>33 string >\0 ver %s
|
||||
# Summary: Symbol Table / Debug info used by Microsoft compilers
|
||||
# URL: https://en.wikipedia.org/wiki/Program_database
|
||||
# Reference: https://code.google.com/p/pdbparser/wiki/MSF_Format
|
||||
# Update: Joerg Jenderek
|
||||
# Note: test only for Windows XP+SP3 x86 , 8.1 x64 arm and 10.1 x86
|
||||
# info does only applies partly for older files like msvbvm50.pdb about year 2001
|
||||
0 string Microsoft\ C/C++\040
|
||||
# "Microsoft Program DataBase" by TrID
|
||||
>24 search/14 \r\n\x1A MSVC program database
|
||||
!:mime application/x-ms-pdb
|
||||
!:ext pdb
|
||||
# "MSF 7.00" "program database 2.00" for msvbvm50.pdb
|
||||
>>16 regex \([0-9.]+\) ver %s
|
||||
#>>>0x38 search/128123456 /LinkInfo \b with linkinfo
|
||||
# "MSF 7.00" variant
|
||||
>>0x1e leshort 0
|
||||
# PageSize 400h 1000h
|
||||
>>>0x20 lelong x \b, %d
|
||||
# Page Count
|
||||
>>>0x28 lelong x \b*%d bytes
|
||||
# "program database 2.00" variant
|
||||
>>0x1e leshort !0
|
||||
# PageSize 400h
|
||||
>>>0x2c lelong x \b, %d
|
||||
# Page Count for msoo-dll.pdb 4379h
|
||||
>>>0x32 leshort x \b*%d bytes
|
||||
|
||||
# Reference: https://github.com/Microsoft/vstest/pull/856/commits/fdc7a9f074ca5a8dfeec83b1be9162bf0cf4000d
|
||||
0 string/c bsjb\001\000\001\000\000\000\000\000\f\000\000\000pdb\ v1.0 Microsoft Rosyln C# debugging symbols version 1.0
|
||||
|
||||
#.sbr
|
||||
0 string \000\002\000\007\000 MSVC .sbr
|
||||
|
||||
+139
-85
@@ -1,26 +1,26 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# msx: file(1) magic for the MSX Home Computer
|
||||
# v1.1
|
||||
# v1.3
|
||||
# Fabio R. Schmidlin <[email protected]>
|
||||
|
||||
############## MSX Music file formats ##############
|
||||
|
||||
# Gigamix MGSDRV music file
|
||||
0 string MGS MSX Gigamix MGSDRV3 music file,
|
||||
0 string/b MGS MSX Gigamix MGSDRV3 music file,
|
||||
>6 ubeshort 0x0D0A
|
||||
>>3 byte x \bv%c
|
||||
>>4 byte x \b.%c
|
||||
>>5 byte x \b%c
|
||||
>>8 string >\0 \b, title: %s
|
||||
|
||||
1 string mgs2\ MSX Gigamix MGSDRV2 music file
|
||||
1 string/b mgs2\ MSX Gigamix MGSDRV2 music file
|
||||
>6 uleshort 0x80
|
||||
>>0x2E uleshort 0
|
||||
>>>0x30 string >\0 \b, title: %s
|
||||
|
||||
# KSS music file
|
||||
0 string KSCC KSS music file v1.03
|
||||
0 string/b KSCC KSS music file v1.03
|
||||
>0xE byte 0
|
||||
>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+)
|
||||
>>0xF byte&0x02 2 \b, soundchip(s): SN76489
|
||||
@@ -28,25 +28,25 @@
|
||||
>>0xF byte&0x01 1 \b, YM2413
|
||||
>>0xF byte&0x08 8 \b, Y8950
|
||||
|
||||
0 string KSSX KSS music file v1.20
|
||||
0 string/b KSSX KSS music file v1.20
|
||||
>0xE byte&0xEF 0
|
||||
>>0xF byte&0x40 0x00 \b, 60Hz
|
||||
>>0xF byte&0x40 0x40 \b, 50Hz
|
||||
>>0xF byte&0x02 0 \b, soundchips: AY-3-8910, SCC(+)
|
||||
>>0xF byte&0x02 0x02 \b, soundchips: SN76489
|
||||
>>>0xF byte&0x04 0x04 stereo
|
||||
>>0xF byte&0x01 0x01 \b,
|
||||
>>0xF byte&0x01 0x01 \b,
|
||||
>>>0xF byte&0x18 0x00 \bYM2413
|
||||
>>>0xF byte&0x18 0x08 \bYM2413, Y8950
|
||||
>>>0xF byte&0x18 0x18 \bYM2413+Y8950 pseudostereo
|
||||
>>0xF byte&0x18 0x10 \b, Majyutsushi DAC
|
||||
|
||||
# Moonblaster for Moonsound
|
||||
0 string MBMS
|
||||
0 string/b MBMS
|
||||
>4 byte 0x10 MSX Moonblaster for MoonSound music
|
||||
|
||||
# Music Player K-kaz
|
||||
0 string MPK MSX Music Player K-kaz song
|
||||
0 string/b MPK MSX Music Player K-kaz song
|
||||
>6 ubeshort 0x0D0A
|
||||
>>3 byte x v%c
|
||||
>>4 byte x \b.%c
|
||||
@@ -70,7 +70,7 @@
|
||||
>>>>>0 string >\32 \b, title: %s
|
||||
|
||||
# SCMD music file
|
||||
0x8B string SCMD
|
||||
0x8B string/b SCMD
|
||||
>0xCE uleshort 0 MSX SCMD Music file
|
||||
#>>-2 uleshort 0x6a71 ; The file must end with this value. How to code this here?
|
||||
>>0x8F string >\0 \b, title: %s
|
||||
@@ -99,36 +99,8 @@
|
||||
>>5 uleshort 0
|
||||
>>>3 uleshort >0x013D MSX Graph Saurus compressed image
|
||||
|
||||
# Maki-chan Graphic format
|
||||
0 string MAKI02\ \ Maki-chan image,
|
||||
>8 byte x system ID: %c
|
||||
>9 byte x \b%c
|
||||
>10 byte x \b%c
|
||||
>11 byte x \b%c,
|
||||
>13 search/0x200 \x1A
|
||||
# >>&3 ubyte 0 , video mode: PC-98 400 lines, 16 analog colors
|
||||
# >>&3 ubyte 1 , video mode: MSX SC7, 16 analog colors
|
||||
# >>&3 ubyte 2 , video mode: VM-98 400 lines, 8 analog colors
|
||||
# >>&3 ubyte 3 , video mode: PC-88 analog, 200 lines, 8 analog colors
|
||||
# >>&3 ubyte 4 , video mode: 400 lines, 16 digital colors
|
||||
# >>&3 ubyte 5 , video mode: 200 lines, 16 digital colors
|
||||
# >>&3 ubyte 6 , video mode: old PC-98 digital 400 lines, 8 colors
|
||||
# >>&3 ubyte 7 , video mode: PC-88 400 lines, 8 digital colors
|
||||
>>&8 uleshort+1 x %dx
|
||||
>>&10 uleshort+1 x \b%d,
|
||||
>>&3 ubyte&0x82 0x80 256 colors
|
||||
>>&3 ubyte&0x82 0x00 16 colors
|
||||
>>&3 ubyte&0x82 0x01 8 colors
|
||||
>>&3 ubyte&0x04 4 digital
|
||||
>>&3 ubyte&0x04 0 analog
|
||||
>>&3 ubyte&0x01 1 \b, 2:1 dot aspect ratio
|
||||
|
||||
# Japanese PIC file
|
||||
0 string PIC\x1A
|
||||
>4 lelong 0 Japanese PIC image file
|
||||
|
||||
# MSX G9B image file
|
||||
0 string G9B
|
||||
0 string/b G9B
|
||||
>1 uleshort 11
|
||||
>>3 uleshort >10
|
||||
>>>5 ubyte >0 MSX G9B image, depth=%d
|
||||
@@ -146,70 +118,152 @@
|
||||
|
||||
############## Other MSX file formats ##############
|
||||
|
||||
# MSX ROMs
|
||||
0 string AB
|
||||
# MSX internal ROMs
|
||||
0 ubeshort 0xF3C3
|
||||
>2 uleshort <0x4000
|
||||
>>8 ubyte 0xC3
|
||||
>>>9 uleshort <0x4000
|
||||
>>>>0x0B ubeshort 0x00C3
|
||||
>>>>>0x0D uleshort <0x4000
|
||||
>>>>>>0x0F ubeshort 0x00C3
|
||||
>>>>>>>0x11 uleshort <0x4000
|
||||
>>>>>>>>0x13 ubeshort 0x00C3
|
||||
>>>>>>>>>0x15 uleshort <0x4000
|
||||
>>>>>>>>>>0x50 ubyte 0xC3
|
||||
>>>>>>>>>>>0x51 uleshort <0x4000
|
||||
>>>>>>>>>>>>(9.s) ubyte 0xC3
|
||||
>>>>>>>>>>>>>&0 uleshort >0x4000
|
||||
>>>>>>>>>>>>>>&0 ubyte 0xC3 MSX BIOS+BASIC
|
||||
>>>>>>>>>>>>>>>0x002D ubyte+1 <3 \b. version=MSX%d
|
||||
>>>>>>>>>>>>>>>0x002D ubyte 2 \b, version=MSX2+
|
||||
>>>>>>>>>>>>>>>0x002D ubyte 3 \b, version=MSX Turbo-R
|
||||
>>>>>>>>>>>>>>>0x002D ubyte >3 \b, version=Unknown MSX %d version
|
||||
>>>>>>>>>>>>>>>0x0006 ubyte x \b, VDP.DR=0x%2x
|
||||
>>>>>>>>>>>>>>>0x0007 ubyte x \b, VDP.DW=0x%2x
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0xF 0 \b, charset=Japanese
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0xF 1 \b, charset=International
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0xF 2 \b, charset=Korean
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0xF >2 \b, charset=Unknown id:%d
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x00 \b, date format=Y-M-D
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x10 \b, date format=M-D-Y
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0x70 0x20 \b, date format=D-M-Y
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0x80 0x00 \b, vfreq=60Hz
|
||||
>>>>>>>>>>>>>>>0x002B ubyte&0x80 0x80 \b, vfreq=50Hz
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 0 \b, keyboard=Japanese
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 1 \b, keyboard=International
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 2 \b, keyboard=French
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 3 \b, keyboard=UK
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 4 \b, keyboard=German
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 5 \b, keyboard=Unknown id:%d
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F 6 \b, keyboard=Spanish
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0x0F >6 \b, keyboard=Unknown id:%d
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0xF0 0x00 \b, basic=Japanese
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0xF0 0x10 \b, basic=International
|
||||
>>>>>>>>>>>>>>>0x002C ubyte&0xF0 >0x10 \b, basic=Unknown id:%d
|
||||
>>>>>>>>>>>>>>>0x002E ubyte&1 1 \b, built-in MIDI
|
||||
|
||||
|
||||
0 string/b CD
|
||||
>2 uleshort >0x10
|
||||
>>2 uleshort <0x4000
|
||||
>>>4 uleshort <0x4000
|
||||
>>>>6 uleshort <0x4000
|
||||
>>>>>8 ubyte 0xC3
|
||||
>>>>>>9 uleshort <0x4000
|
||||
>>>>>>>0x10 ubyte 0xC3
|
||||
>>>>>>>>0x11 uleshort <0x4000
|
||||
>>>>>>>>>0x14 ubyte 0xC3
|
||||
>>>>>>>>>>0x15 uleshort <0x4000 MSX2/2+/TR SubROM
|
||||
|
||||
0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
|
||||
>0x5F0 ubequad 0x8282828244380000
|
||||
>>0x150 ubyte 0x38
|
||||
>>>0x170 string \20\20\20
|
||||
>>>>0x1E32 string ())
|
||||
>>>>>0x2130 ubequad 0xA5A5594924231807
|
||||
>>>>>0x2138 ubequad 0x4A4A3424488830C0 MSX Kanji Font
|
||||
|
||||
|
||||
|
||||
# MSX extension ROMs
|
||||
0 string/b AB
|
||||
>2 uleshort 0x0010 MSX ROM
|
||||
>>2 uleshort x \b, init=0x%4x
|
||||
>>4 uleshort >0 \b, stat=0x%4x
|
||||
>>6 uleshort >0 \b, dev=0x%4x
|
||||
>>4 uleshort >0 \b, stahdl=0x%4x
|
||||
>>6 uleshort >0 \b, devhdl=0x%4x
|
||||
>>8 uleshort >0 \b, bas=0x%4x
|
||||
>2 uleshort 0x4010 MSX ROM
|
||||
>>2 uleshort x \b, init=0x%04x
|
||||
>>4 uleshort >0 \b, stat=0x%04x
|
||||
>>6 uleshort >0 \b, dev=0x%04x
|
||||
>>4 uleshort >0 \b, stahdl=0x%04x
|
||||
>>6 uleshort >0 \b, devhdl=0x%04x
|
||||
>>8 uleshort >0 \b, bas=0x%04x
|
||||
>2 uleshort 0x8010 MSX ROM
|
||||
>>2 uleshort x \b, init=0x%04x
|
||||
>>4 uleshort >0 \b, stat=0x%04x
|
||||
>>6 uleshort >0 \b, dev=0x%04x
|
||||
>>4 uleshort >0 \b, stahdl=0x%04x
|
||||
>>6 uleshort >0 \b, devhdl=0x%04x
|
||||
>>8 uleshort >0 \b, bas=0x%04x
|
||||
0 string/b AB\0\0
|
||||
>6 uleshort 0
|
||||
>>4 uleshort >0x400F MSX-BASIC extension ROM
|
||||
>>>4 uleshort >0 \b, stahdl=0x%04x
|
||||
>>>6 uleshort >0 \b, devhdl=0x%04x
|
||||
>>>0x1C string OPLL \b, MSX-Music
|
||||
>>>>0x18 string PAC2 \b (external)
|
||||
>>>>0x18 string APRL \b (internal)
|
||||
|
||||
0 string AB
|
||||
0 string/b AB\0\0\0\0
|
||||
>6 uleshort >0x400F MSX device BIOS
|
||||
>>6 uleshort >0 \b, devhdl=0x%04x
|
||||
|
||||
|
||||
0 string/b AB
|
||||
#>2 string 5JSuperLAYDOCK MSX Super Laydock ROM
|
||||
#>3 string @HYDLIDE3MSX MSX Hydlide-3 ROM
|
||||
#>3 string @3\x80IA862 Golvellius MSX1 ROM
|
||||
>2 uleshort >10
|
||||
>>10 string \0\0\0\0\0\0 MSX ROM
|
||||
>>>0x10 string YZ\0\0\0\0 Konami Game Master 2 MSX ROM
|
||||
>>>0x10 string CD \b, Konami RC-
|
||||
>>>>0x12 ubyte x \b%d
|
||||
>>>>0x13 ubyte/16 x \b%d
|
||||
>>>>0x13 ubyte&0xF x \b%d
|
||||
>>>0x10 string EF \b, Konami RC-
|
||||
>>>>0x12 ubyte x \b%d
|
||||
>>>>0x13 ubyte/16 x \b%d
|
||||
>>>>0x13 ubyte&0xF x \b%d
|
||||
>>>2 uleshort x \b, init=0x%04x
|
||||
>>>4 uleshort >0 \b, stat=0x%04x
|
||||
>>>6 uleshort >0 \b, dev=0x%04x
|
||||
>>>8 uleshort >0 \b, bas=0x%04x
|
||||
>2 uleshort 0
|
||||
>>4 uleshort 0
|
||||
>>>6 uleshort 0
|
||||
>>>>8 uleshort >0 MSX BASIC program in ROM, bas=0x%04x
|
||||
>2 uleshort >15
|
||||
>>2 uleshort <0xC000
|
||||
>>>8 string \0\0\0\0\0\0\0\0
|
||||
>>>>(2.s&0x3FFF) uleshort >0 MSX ROM
|
||||
>>>>>0x10 string YZ\0\0\0\0 Konami Game Master 2 MSX ROM
|
||||
>>>>>0x10 string CD \b, Konami RC-
|
||||
>>>>>>0x12 ubyte x \b%d
|
||||
>>>>>>0x13 ubyte/16 x \b%d
|
||||
>>>>>>0x13 ubyte&0xF x \b%d
|
||||
>>>>>0x10 string EF \b, Konami RC-
|
||||
>>>>>>0x12 ubyte x \b%d
|
||||
>>>>>>0x13 ubyte/16 x \b%d
|
||||
>>>>>>0x13 ubyte&0xF x \b%d
|
||||
>>>>>2 uleshort x \b, init=0x%04x
|
||||
>>>>>4 uleshort >0 \b, stahdl=0x%04x
|
||||
>>>>>6 uleshort >0 \b, devhdl=0x%04x
|
||||
>>>>>8 uleshort >0 \b, bas=0x%04x
|
||||
>>>2 uleshort 0
|
||||
>>>>4 uleshort 0
|
||||
>>>>>6 uleshort 0
|
||||
>>>>>>8 uleshort >0 MSX BASIC program in ROM, bas=0x%04x
|
||||
|
||||
0x4000 string AB
|
||||
>0x4002 uleshort >0x4010
|
||||
>>0x400A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order
|
||||
>>0x4002 uleshort x \b, init=0x%04x
|
||||
>>0x4004 uleshort >0 \b, stat=0x%04x
|
||||
>>0x4006 uleshort >0 \b, dev=0x%04x
|
||||
>>0x4008 uleshort >0 \b, bas=0x%04x
|
||||
0x4000 string/b AB
|
||||
>0x4002 uleshort >0x400F
|
||||
>>0x400A string \0\0\0\0\0\0 MSX ROM with nonstandard page order
|
||||
>>>0x4002 uleshort x \b, init=0x%04x
|
||||
>>>0x4004 uleshort >0 \b, stahdl=0x%04x
|
||||
>>>0x4006 uleshort >0 \b, devhdl=0x%04x
|
||||
>>>0x4008 uleshort >0 \b, bas=0x%04x
|
||||
|
||||
0x8000 string AB
|
||||
>0x8002 uleshort >0x4010
|
||||
>>0x800A string \0\0\0\0\0\0 MSX MegaROM with nonstandard page order
|
||||
>>0x8002 uleshort x \b, init=0x%04x
|
||||
>>0x8004 uleshort >0 \b, stat=0x%04x
|
||||
>>0x8006 uleshort >0 \b, dev=0x%04x
|
||||
>>0x8008 uleshort >0 \b, bas=0x%04x
|
||||
0x8000 string/b AB
|
||||
>0x8002 uleshort >0x400F
|
||||
>>0x800A string \0\0\0\0\0\0 MSX ROM with nonstandard page order
|
||||
>>>0x8002 uleshort x \b, init=0x%04x
|
||||
>>>0x8004 uleshort >0 \b, stahdl=0x%04x
|
||||
>>>0x8006 uleshort >0 \b, devhdl=0x%04x
|
||||
>>>0x8008 uleshort >0 \b, bas=0x%04x
|
||||
|
||||
|
||||
0x3C000 string AB
|
||||
0x3C000 string/b AB
|
||||
>0x3C008 string \0\0\0\0\0\0\0\0 MSX MegaROM with nonstandard page order
|
||||
>>0x3C002 uleshort x \b, init=0x%04x
|
||||
>>0x3C004 uleshort >0 \b, stat=0x%04x
|
||||
>>0x3C006 uleshort >0 \b, dev=0x%04x
|
||||
>>0x3C004 uleshort >0 \b, stahdl=0x%04x
|
||||
>>0x3C006 uleshort >0 \b, devhdl=0x%04x
|
||||
>>0x3C008 uleshort >0 \b, bas=0x%04x
|
||||
|
||||
# MSX BIN file
|
||||
@@ -224,7 +278,7 @@
|
||||
>>1 uleshort >0x8000 MSX-BASIC program
|
||||
|
||||
# MSX .CAS file
|
||||
0 string \x1F\xA6\xDE\xBA\xCC\x13\x7D\x74 MSX cassette archive
|
||||
0 string/b \x1F\xA6\xDE\xBA\xCC\x13\x7D\x74 MSX cassette archive
|
||||
|
||||
# Mega-Assembler file
|
||||
0 byte 0xFE
|
||||
@@ -242,7 +296,7 @@
|
||||
4 uleshort 0x0900
|
||||
>0xF byte 1
|
||||
>>0x14 byte 0
|
||||
>>>0x1E string \ \ \
|
||||
>>>0x1E string \040\040\040
|
||||
>>>>0x23 byte 1
|
||||
>>>>>0x25 byte 0
|
||||
>>>>>>0x15 string >\x30
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# $File: mup,v 1.4 2009/09/19 16:28:11 christos Exp $
|
||||
# $File: mup,v 1.5 2017/03/17 21:35:28 christos Exp $
|
||||
# mup: file(1) magic for Mup (Music Publisher) input file.
|
||||
#
|
||||
# From: Abel Cheung <abel (@) oaka.org>
|
||||
@@ -12,13 +12,13 @@
|
||||
#
|
||||
0 search/1 //!Mup Mup music publication program input text
|
||||
>6 string -Arkkra (Arkkra)
|
||||
>>13 string -
|
||||
>>>16 string .
|
||||
>>13 string -
|
||||
>>>16 string .
|
||||
>>>>14 string x \b, need V%.4s
|
||||
>>>15 string .
|
||||
>>>15 string .
|
||||
>>>>14 string x \b, need V%.3s
|
||||
>6 string -
|
||||
>>9 string .
|
||||
>6 string -
|
||||
>>9 string .
|
||||
>>>7 string x \b, need V%.4s
|
||||
>>8 string .
|
||||
>>8 string .
|
||||
>>>7 string x \b, need V%.3s
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# nasa: file(1) magic
|
||||
# nasa: file(1) magic
|
||||
|
||||
# From: Barry Carter <[email protected]>
|
||||
0 string DAF/SPK NASA SPICE file (binary format)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# $File: netbsd,v 1.22 2014/12/08 20:53:52 christos Exp $
|
||||
# $File: netbsd,v 1.24 2017/03/17 21:35:28 christos Exp $
|
||||
# netbsd: file(1) magic for NetBSD objects
|
||||
#
|
||||
# All new-style magic numbers are in network byte order.
|
||||
@@ -10,7 +10,7 @@
|
||||
#
|
||||
|
||||
0 belong&0377777777 041400413 a.out NetBSD/i386 demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 lelong <4096 shared library
|
||||
>>20 lelong =4096 dynamically linked executable
|
||||
>>20 lelong >4096 dynamically linked executable
|
||||
@@ -32,7 +32,7 @@
|
||||
>32 lelong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 041600413 a.out NetBSD/m68k demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 belong <8192 shared library
|
||||
>>20 belong =8192 dynamically linked executable
|
||||
>>20 belong >8192 dynamically linked executable
|
||||
@@ -54,7 +54,7 @@
|
||||
>32 belong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 042000413 a.out NetBSD/m68k4k demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 belong <4096 shared library
|
||||
>>20 belong =4096 dynamically linked executable
|
||||
>>20 belong >4096 dynamically linked executable
|
||||
@@ -76,7 +76,7 @@
|
||||
>32 belong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 042200413 a.out NetBSD/ns32532 demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 lelong <4096 shared library
|
||||
>>20 lelong =4096 dynamically linked executable
|
||||
>>20 lelong >4096 dynamically linked executable
|
||||
@@ -101,7 +101,7 @@
|
||||
>12 string >\0 from '%s'
|
||||
|
||||
0 belong&0377777777 042400413 a.out NetBSD/SPARC demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 belong <8192 shared library
|
||||
>>20 belong =8192 dynamically linked executable
|
||||
>>20 belong >8192 dynamically linked executable
|
||||
@@ -123,7 +123,7 @@
|
||||
>32 belong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 042600413 a.out NetBSD/pmax demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 lelong <4096 shared library
|
||||
>>20 lelong =4096 dynamically linked executable
|
||||
>>20 lelong >4096 dynamically linked executable
|
||||
@@ -145,7 +145,7 @@
|
||||
>32 lelong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 043000413 a.out NetBSD/vax 1k demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 lelong <4096 shared library
|
||||
>>20 lelong =4096 dynamically linked executable
|
||||
>>20 lelong >4096 dynamically linked executable
|
||||
@@ -167,7 +167,7 @@
|
||||
>32 lelong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 045400413 a.out NetBSD/vax 4k demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 lelong <4096 shared library
|
||||
>>20 lelong =4096 dynamically linked executable
|
||||
>>20 lelong >4096 dynamically linked executable
|
||||
@@ -189,7 +189,7 @@
|
||||
>32 lelong !0 (signal %d)
|
||||
|
||||
# NetBSD/alpha does not support (and has never supported) a.out objects,
|
||||
# so no rules are provided for them. NetBSD/alpha ELF objects are
|
||||
# so no rules are provided for them. NetBSD/alpha ELF objects are
|
||||
# dealt with in "elf".
|
||||
0 lelong 0x00070185 ECOFF NetBSD/alpha binary
|
||||
>10 leshort 0x0001 not stripped
|
||||
@@ -199,7 +199,7 @@
|
||||
>32 lelong !0 (signal %d)
|
||||
|
||||
0 belong&0377777777 043400413 a.out NetBSD/mips demand paged
|
||||
>0 byte &0x80
|
||||
>0 byte &0x80
|
||||
>>20 belong <8192 shared library
|
||||
>>20 belong =8192 dynamically linked executable
|
||||
>>20 belong >8192 dynamically linked executable
|
||||
@@ -286,3 +286,20 @@
|
||||
>4 leshort x \b, (headersize = %d
|
||||
>6 leshort x \b, segmentsize = %d
|
||||
>6 lelong x \b, segments = %d)
|
||||
|
||||
# little endian only for now.
|
||||
0 name ktrace
|
||||
>4 leshort 7
|
||||
>>6 leshort <3 NetBSD ktrace file version %d
|
||||
>>>12 string x from %s
|
||||
>>>56 string x \b, emulation %s
|
||||
>>>8 lelong <65536 \b, pid=%d
|
||||
|
||||
56 string netbsd
|
||||
>0 use ktrace
|
||||
56 string linux
|
||||
>0 use ktrace
|
||||
56 string sunos
|
||||
>0 use ktrace
|
||||
56 string hpux
|
||||
>0 use ktrace
|
||||
Loaded 100 of 914 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user