Imported Upstream version 1.2.1
[packages/binwalk.git] / magic / images
index 47dd0de..d517ee0 100644 (file)
@@ -25,8 +25,8 @@
 
 # GIF
 0       string          GIF8            GIF image data
->4      string          7a              \b, version 8"%s",
->4      string          9a              \b, version 8"%s",
+>4      string          7a              \b, version "8%s",
+>4      string          9a              \b, version "8%s",
 >6      leshort         >0              %hd x
 >8      leshort         >0              %hd
 #>10    byte            &0x80           color mapped,
 #
 # both of which turn into "JPEG image data" here.
 #
-0       beshort         0xffd8          JPEG image data
->6      string          JFIF            \b, JFIF standard
+0       belong         0xffd8ffe0      JPEG image data, JFIF standard 
+>6      string         !JFIF           invalid
 # The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
 # in a vain attempt to add image size reporting for JFIF.  Note that these
 # tests are not fool-proof since some perfectly valid JPEGs are currently
 # impossible to specify in magic(4) format.
 # First, a little JFIF version info:
->>11    byte            x               \b %d.
->>12    byte            x               \b%02d
+>11    byte            x               \b %d.
+>12    byte            x               \b%02d
 # Next, the resolution or aspect ratio of the image:
 #>>13   byte            0               \b, aspect ratio
 #>>13   byte            1               \b, resolution (DPI)
 #>>13   byte            2               \b, resolution (DPCM)
 #>>4    beshort         x               \b, segment length %d
 # Next, show thumbnail info, if it exists:
->>18    byte            !0              \b, thumbnail %dx
->>>19   byte            x               \b%d
+>18    byte            !0              \b, thumbnail %dx
+>>19   byte            x               \b%d
 
+
+0      belong          0xffd8ffe1      JPEG image data, EXIF standard
 # EXIF moved down here to avoid reporting a bogus version number,
 # and EXIF version number printing added.
 #   - Patrik R=E5dman <patrik+file-magic@iki.fi>
->6      string          Exif            \b, EXIF standard
+>6      string          !Exif            invalid
 # Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
 # All possible combinations of entries have to be enumerated, since no looping
 # is possible. And both endians are possible...
 # The combinations included below are from real-world JPEGs.
 # Little-endian
->>12    string          II
+>12    string          II
 # IFD 0 Entry #5:
->>>70   leshort         0x8769
+>>70   leshort         0x8769
 # EXIF IFD Entry #1:
->>>>(78.l+14)   leshort 0x9000
->>>>>(78.l+23)  byte    x               %c
->>>>>(78.l+24)  byte    x               \b.%c
->>>>>(78.l+25)  byte    !0x30           \b%c
+>>>(78.l+14)   leshort 0x9000
+>>>>(78.l+23)  byte    x               %c
+>>>>(78.l+24)  byte    x               \b.%c
+>>>>(78.l+25)  byte    !0x30           \b%c
 # IFD 0 Entry #9:
->>>118  leshort         0x8769
+>>118  leshort         0x8769
 # EXIF IFD Entry #3:
->>>>(126.l+38)  leshort 0x9000
->>>>>(126.l+47) byte    x               %c
->>>>>(126.l+48) byte    x               \b.%c
->>>>>(126.l+49) byte    !0x30           \b%c
+>>>(126.l+38)  leshort 0x9000
+>>>>(126.l+47) byte    x               %c
+>>>>(126.l+48) byte    x               \b.%c
+>>>>(126.l+49) byte    !0x30           \b%c
 # IFD 0 Entry #10
->>>130  leshort         0x8769
+>>130  leshort         0x8769
 # EXIF IFD Entry #3:
->>>>(138.l+38)  leshort 0x9000
->>>>>(138.l+47) byte    x               %c
->>>>>(138.l+48) byte    x               \b.%c
->>>>>(138.l+49) byte    !0x30           \b%c
+>>>(138.l+38)  leshort 0x9000
+>>>>(138.l+47) byte    x               %c
+>>>>(138.l+48) byte    x               \b.%c
+>>>>(138.l+49) byte    !0x30           \b%c
 # EXIF IFD Entry #4:
->>>>(138.l+50)  leshort 0x9000
->>>>>(138.l+59) byte    x               %c
->>>>>(138.l+60) byte    x               \b.%c
->>>>>(138.l+61) byte    !0x30           \b%c
+>>>(138.l+50)  leshort 0x9000
+>>>>(138.l+59) byte    x               %c
+>>>>(138.l+60) byte    x               \b.%c
+>>>>(138.l+61) byte    !0x30           \b%c
 # EXIF IFD Entry #5:
->>>>(138.l+62)  leshort 0x9000
->>>>>(138.l+71) byte    x               %c
->>>>>(138.l+72) byte    x               \b.%c
->>>>>(138.l+73) byte    !0x30           \b%c
+>>>(138.l+62)  leshort 0x9000
+>>>>(138.l+71) byte    x               %c
+>>>>(138.l+72) byte    x               \b.%c
+>>>>(138.l+73) byte    !0x30           \b%c
 # IFD 0 Entry #11
->>>142  leshort         0x8769
+>>142  leshort         0x8769
 # EXIF IFD Entry #3:
->>>>(150.l+38)  leshort 0x9000
->>>>>(150.l+47) byte    x               %c
->>>>>(150.l+48) byte    x               \b.%c
->>>>>(150.l+49) byte    !0x30           \b%c
+>>>(150.l+38)  leshort 0x9000
+>>>>(150.l+47) byte    x               %c
+>>>>(150.l+48) byte    x               \b.%c
+>>>>(150.l+49) byte    !0x30           \b%c
 # EXIF IFD Entry #4:
->>>>(150.l+50)  leshort 0x9000
->>>>>(150.l+59) byte    x               %c
->>>>>(150.l+60) byte    x               \b.%c
->>>>>(150.l+61) byte    !0x30           \b%c
+>>>(150.l+50)  leshort 0x9000
+>>>>(150.l+59) byte    x               %c
+>>>>(150.l+60) byte    x               \b.%c
+>>>>(150.l+61) byte    !0x30           \b%c
 # EXIF IFD Entry #5:
->>>>(150.l+62)  leshort 0x9000
->>>>>(150.l+71) byte    x               %c
->>>>>(150.l+72) byte    x               \b.%c
->>>>>(150.l+73) byte    !0x30           \b%c
+>>>(150.l+62)  leshort 0x9000
+>>>>(150.l+71) byte    x               %c
+>>>>(150.l+72) byte    x               \b.%c
+>>>>(150.l+73) byte    !0x30           \b%c
 # Big-endian
->>12    string          MM
+>12    string          MM
 # IFD 0 Entry #9:
->>>118  beshort         0x8769
+>>118  beshort         0x8769
 # EXIF IFD Entry #1:
->>>>(126.L+14)  beshort 0x9000
->>>>>(126.L+23) byte    x               %c
->>>>>(126.L+24) byte    x               \b.%c
->>>>>(126.L+25) byte    !0x30           \b%c
+>>>(126.L+14)  beshort 0x9000
+>>>>(126.L+23) byte    x               %c
+>>>>(126.L+24) byte    x               \b.%c
+>>>>(126.L+25) byte    !0x30           \b%c
 # EXIF IFD Entry #3:
->>>>(126.L+38)  beshort 0x9000
->>>>>(126.L+47) byte    x               %c
->>>>>(126.L+48) byte    x               \b.%c
->>>>>(126.L+49) byte    !0x30           \b%c
+>>>(126.L+38)  beshort 0x9000
+>>>>(126.L+47) byte    x               %c
+>>>>(126.L+48) byte    x               \b.%c
+>>>>(126.L+49) byte    !0x30           \b%c
 # IFD 0 Entry #10
->>>130  beshort         0x8769
+>>130  beshort         0x8769
 # EXIF IFD Entry #3:
->>>>(138.L+38)  beshort 0x9000
->>>>>(138.L+47) byte    x               %c
->>>>>(138.L+48) byte    x               \b.%c
->>>>>(138.L+49) byte    !0x30           \b%c
+>>>(138.L+38)  beshort 0x9000
+>>>>(138.L+47) byte    x               %c
+>>>>(138.L+48) byte    x               \b.%c
+>>>>(138.L+49) byte    !0x30           \b%c
 # EXIF IFD Entry #5:
->>>>(138.L+62)  beshort 0x9000
->>>>>(138.L+71) byte    x               %c
->>>>>(138.L+72) byte    x               \b.%c
->>>>>(138.L+73) byte    !0x30           \b%c
+>>>(138.L+62)  beshort 0x9000
+>>>>(138.L+71) byte    x               %c
+>>>>(138.L+72) byte    x               \b.%c
+>>>>(138.L+73) byte    !0x30           \b%c
 # IFD 0 Entry #11
->>>142  beshort         0x8769
+>>142  beshort         0x8769
 # EXIF IFD Entry #4:
->>>>(150.L+50)  beshort 0x9000
->>>>>(150.L+59) byte    x               %c
->>>>>(150.L+60) byte    x               \b.%c
->>>>>(150.L+61) byte    !0x30           \b%c
+>>>(150.L+50)  beshort 0x9000
+>>>>(150.L+59) byte    x               %c
+>>>>(150.L+60) byte    x               \b.%c
+>>>>(150.L+61) byte    !0x30           \b%c
 # Here things get sticky.  We can do ONE MORE marker segment with
 # indirect addressing, and that's all.  It would be great if we could
 # do pointer arithemetic like in an assembler language.  Christos?
 #>14    beshort         x               \b, %d x
 #>16    beshort         x               \b %d
 
+0      string  M88888888888888888888888888     Binwalk logo, ASCII art (Toph){offset-adjust:-50}
+>27    string  !8888888888\n                   invalid
+