Imported Upstream version 1.2.1
[packages/binwalk.git] / magic / executables
index 7662f28..d186ac1 100644 (file)
 #
 # many of the compressed formats were extraced from IDARC 1.23 source code
 #
-0       string  MZ     Microsoft
->0x18  leshort <0x40 MS-DOS executable
->0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 \b, PE for MS Windows
+
+# Not a very useful signature...
+#0       string  MZ    Microsoft
+#>0x18  leshort <0x40 MS-DOS executable
+
+0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0  Microsoft PE for MS Windows
 >>&18   leshort&0x2000  >0      (DLL)
 >>&88   leshort         0       (unknown subsystem)
 >>&88   leshort         1       (native)
 >>36    belong&0x8      0x8             gzdata
 
 
-#-----------------------------------------------------------------
-# MIPS COFF file formats
-#
-0       beshort 0x0160          MIPSEB ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->22     byte    x               - version %ld
->23     byte    x               \b.%ld
-#
-0       beshort 0x0162          MIPSEL-BE ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %d
->22     byte    x               \b.%ld
-#
-0       beshort 0x6001          MIPSEB-LE ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %d
->22     byte    x               \b.%ld
-#
-0       beshort 0x6201          MIPSEL ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %ld
->22     byte    x               \b.%ld
-# MIPS 2 additions
-#
-0       beshort 0x0163          MIPSEB MIPS-II ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->22     byte    x               - version %ld
->23     byte    x               \b.%ld
-#
-0       beshort 0x0166          MIPSEL-BE MIPS-II ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->22     byte    x               - version %ld
->23     byte    x               \b.%ld
-#
-0       beshort 0x6301          MIPSEB-LE MIPS-II ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %ld
->22     byte    x               \b.%ld
-#
-0       beshort 0x6601          MIPSEL MIPS-II ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %ld
->22     byte    x               \b.%ld
-# MIPS 3 additions
-#
-0       beshort 0x0140          MIPSEB MIPS-III ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->22     byte    x               - version %ld
->23     byte    x               \b.%ld
-#
-0       beshort 0x0142          MIPSEL-BE MIPS-III ECOFF executable
->20     beshort 0407            (impure)
->20     beshort 0410            (swapped)
->20     beshort 0413            (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->22     byte    x               - version %ld
->23     byte    x               \b.%ld
-#
-0       beshort 0x4001          MIPSEB-LE MIPS-III ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %ld
->22     byte    x               \b.%ld
-#
-0       beshort 0x4201          MIPSEL MIPS-III ECOFF executable
->20     beshort 03401           (impure)
->20     beshort 04001           (swapped)
->20     beshort 05401           (paged)
->8      belong  >0              not stripped
->8      belong  0               stripped
->23     byte    x               - version %ld
->22     byte    x               \b.%ld
-#
-0       beshort 0x180           MIPSEB Ucode
-0       beshort 0x182           MIPSEL-BE Ucode
-
-
 # Windows CE package files
 0       string          MSCE\0\0\0\0    Microsoft WinCE installer
 >20     lelong          0               \b, architecture-independent
 #
 # 68K
 #
-0       beshort         0x0208          mc68k COFF
->18     beshort         ^00000020       object
->18     beshort         &00000020       executable
->12     belong          >0              not stripped
->168    string          .lowmem         Apple toolbox
->20     beshort         0407            (impure)
->20     beshort         0410            (pure)
->20     beshort         0413            (demand paged)
->20     beshort         0421            (standalone)
-0       beshort         0x0209          mc68k executable (shared)
->12     belong          >0              not stripped
-0       beshort         0x020A          mc68k executable (shared demand paged)
->12     belong          >0              not stripped
-
+# These signatures are useless without further sanity checking. Disable them until 
+# that can be implemented.
+#0       beshort         0x0208          mc68k COFF
+#>18     beshort         ^00000020       object
+#>18     beshort         &00000020       executable
+#>12     belong          >0              not stripped
+#>168    string          .lowmem         Apple toolbox
+#>20     beshort         0407            (impure)
+#>20     beshort         0410            (pure)
+#>20     beshort         0413            (demand paged)
+#>20     beshort         0421            (standalone)
+#0       beshort         0x0209          mc68k executable (shared)
+#>12     belong          >0              not stripped
+#0       beshort         0x020A          mc68k executable (shared demand paged)
+#>12     belong          >0              not stripped
 
-#
-# Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
-#
-0       beshort         0x022A            68K BCS executable
-#
-# 88K
-#
-# Motorola/88Open BCS
-#
-0       beshort         0x022B            88K BCS executable
 
 #------------------------------------------------------------------------------
 # Sony Playstation executables (Adam Sjoegren <asjo@diku.dk>) :
 # cisco:  file(1) magic for cisco Systems routers
 #
 # Most cisco file-formats are covered by the generic elf code
-#
-# Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
-0      beshort                 0x8501      cisco IOS
->0      belong&0xffffff00       0x85011400  microcode
->0      belong&0xffffff00       0x8501cb00  experimental microcode
->7      string                 >\0         for "%s"
+0      string                  \x85\x01\x14    Cisco IOS microcode
+>7      string                 >\0             
+>>7    string                  x               for "%s"
+0      string                  \x85\x01\xcb    Cisco IOS experimental microcode
+>7      string                 >\0             
+>>7    string                  x               for "%s"
 
 # EST flat binary format (which isn't, but anyway)
 # From: Mark Brown <broonie@sirena.org.uk>