# Wikipedia License
# -----------------
#
# This Library uses material from the Wikipedia article
# https://en.wikipedia.org/wiki/List_of_file_signatures, which is released
# under the Creative Commons Attribution-Share-Alike License 3.0


from typing import List, Optional, TypedDict


class FileSignatureDict(TypedDict):
    display_string: Optional[str]
    description: Optional[str]
    file_extension: str
    hex: List[Optional[int]]
    offset: int


SIGNATURES: List[FileSignatureDict] = [
    {
        "display_string": "í«îÛ",
        "description": "RedHat Package Manager (RPM) package",
        "file_extension": "rpm",
        "hex": [237, 171, 238, 219],
        "offset": 0,
    },
    {
        "display_string": "SP01",
        "description": "Amazon Kindle Update Package",
        "file_extension": "bin",
        "hex": [83, 80, 48, 49],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "WindowsProgram Information File",
        "file_extension": "PIF",
        "hex": [0, None],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "MacStuffit Self-Extracting Archive",
        "file_extension": "SEA",
        "hex": [0, None],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "IRISOCR data file",
        "file_extension": "YTR",
        "hex": [0, None],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "IBM Storyboard bitmap file",
        "file_extension": "PIC",
        "hex": [0, None],
        "offset": 0,
    },
    {
        "display_string": "........................",
        "description": "PalmPilot Database/Document File",
        "file_extension": "PDB",
        "hex": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        "offset": 11,
    },
    {
        "display_string": "¾ºþÊ",
        "description": "Palm Desktop Calendar Archive",
        "file_extension": "DBA",
        "hex": [190, 186, 254, 202],
        "offset": 0,
    },
    {
        "display_string": "..BD",
        "description": "Palm Desktop To Do Archive",
        "file_extension": "DBA",
        "hex": [0, 1, 66, 68],
        "offset": 0,
    },
    {
        "display_string": "..DT",
        "description": "Palm Desktop Calendar Archive",
        "file_extension": "TDA",
        "hex": [0, 1, 68, 84],
        "offset": 0,
    },
    {
        "display_string": "....",
        "description": "Palm Desktop Data File (Access format)",
        "file_extension": "",
        "hex": [0, 1, 0, 0],
        "offset": 0,
    },
    {
        "display_string": "....",
        "description": "Computer icon encoded inICO file format",
        "file_extension": "ico",
        "hex": [0, 0, 1, 0],
        "offset": 0,
    },
    {
        "display_string": "ftyp3g",
        "description": "3rd Generation Partnership Project3GPP",
        "file_extension": "3gp",
        "hex": [102, 116, 121, 112, 51, 103],
        "offset": 4,
    },
    {
        "display_string": "ftyp3g",
        "description": "3GPP2 multimedia files",
        "file_extension": "3g2",
        "hex": [102, 116, 121, 112, 51, 103],
        "offset": 4,
    },
    {
        "display_string": "..",
        "description": "compressed file (often tar zip)",
        "file_extension": "z",
        "hex": [31, 157],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "usingLempel-Ziv-Welch algorithm",
        "file_extension": "tar.z",
        "hex": [31, 157],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "Compressed file (often tar zip)",
        "file_extension": "z",
        "hex": [31, 160],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "usingLZH algorithm",
        "file_extension": "tar.z",
        "hex": [31, 160],
        "offset": 0,
    },
    {
        "display_string": "BACKMIKEDISK",
        "description": "File or tape containing abackup done with AmiBack on an Amiga. It typically is paired with an "
        "index file (idx) with the table of contents.",
        "file_extension": "bac",
        "hex": [66, 65, 67, 75, 77, 73, 75, 69, 68, 73, 83, 75],
        "offset": 0,
    },
    {
        "display_string": "BZh",
        "description": "Compressed file usingBzip2 algorithm",
        "file_extension": "bz2",
        "hex": [66, 90, 104],
        "offset": 0,
    },
    {
        "display_string": "GIF87a",
        "description": "Image file encoded in theGraphics Interchange Format (GIF)",
        "file_extension": "gif",
        "hex": [71, 73, 70, 56, 55, 97],
        "offset": 0,
    },
    {
        "display_string": "GIF89a",
        "description": "Image file encoded in theGraphics Interchange Format (GIF)",
        "file_extension": "gif",
        "hex": [71, 73, 70, 56, 57, 97],
        "offset": 0,
    },
    {
        "display_string": "II*.",
        "description": "Tagged Image File Format (little endian format)",
        "file_extension": "tif",
        "hex": [73, 73, 42, 0],
        "offset": 0,
    },
    {
        "display_string": "II*.",
        "description": "Tagged Image File Format (little endian format)",
        "file_extension": "tiff",
        "hex": [73, 73, 42, 0],
        "offset": 0,
    },
    {
        "display_string": "MM.*",
        "description": "Tagged Image File Format (big endian format)",
        "file_extension": "tif",
        "hex": [77, 77, 0, 42],
        "offset": 0,
    },
    {
        "display_string": "MM.*",
        "description": "Tagged Image File Format (big endian format)",
        "file_extension": "tiff",
        "hex": [77, 77, 0, 42],
        "offset": 0,
    },
    {
        "display_string": "II*.....CR",
        "description": "Canon's RAW format is based on the TIFF file format",
        "file_extension": "cr2",
        "hex": [73, 73, 42, 0, 16, 0, 0, 0, 67, 82],
        "offset": 0,
    },
    {
        "display_string": "II*.....CR",
        "description": "Canon RAW Format Version 2",
        "file_extension": "cr2",
        "hex": [73, 73, 42, 0, 16, 0, 0, 0, 67, 82],
        "offset": 0,
    },
    {
        "display_string": ".*_×",
        "description": "Kodak Cineon image",
        "file_extension": "cin",
        "hex": [128, 42, 95, 215],
        "offset": 0,
    },
    {
        "display_string": "RNC.RNC.",
        "description": "Compressed file usingRob Northen Compression (version 1 and 2) algorithm",
        "file_extension": "",
        "hex": [82, 78, 67, 1, 82, 78, 67, 2],
        "offset": 0,
    },
    {
        "display_string": "SDPX",
        "description": "SMPTEDPX image (big endian format)",
        "file_extension": "dpx",
        "hex": [83, 68, 80, 88],
        "offset": 0,
    },
    {
        "display_string": "XPDS",
        "description": "SMPTEDPX image (little endian format)",
        "file_extension": "dpx",
        "hex": [88, 80, 68, 83],
        "offset": 0,
    },
    {
        "display_string": "v/1.",
        "description": "OpenEXR image",
        "file_extension": "exr",
        "hex": [118, 47, 49, 1],
        "offset": 0,
    },
    {
        "display_string": "BPGû",
        "description": "Better Portable Graphics format",
        "file_extension": "bpg",
        "hex": [66, 80, 71, 251],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿÛ",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpg",
        "hex": [255, 216, 255, 219],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿÛ",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpeg",
        "hex": [255, 216, 255, 219],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿà..JFIF..",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpg",
        "hex": [255, 216, 255, 224, None, None, 74, 70, 73, 70, 0, 1],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿà..JFIF..",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpeg",
        "hex": [255, 216, 255, 224, None, None, 74, 70, 73, 70, 0, 1],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿá..Exif..",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpg",
        "hex": [255, 216, 255, 225, None, None, 69, 120, 105, 102, 0, 0],
        "offset": 0,
    },
    {
        "display_string": "ÿØÿá..Exif..",
        "description": "JPEG raw or in theJFIF orExif file format",
        "file_extension": "jpeg",
        "hex": [255, 216, 255, 225, None, None, 69, 120, 105, 102, 0, 0],
        "offset": 0,
    },
    {
        "display_string": "INDX",
        "description": "Index file to a file or tape containing a backup done with AmiBack on an Amiga.",
        "file_extension": "idx",
        "hex": [73, 78, 68, 88],
        "offset": 0,
    },
    {
        "display_string": "LZIP",
        "description": "lzip compressed file",
        "file_extension": "lz",
        "hex": [76, 90, 73, 80],
        "offset": 0,
    },
    {
        "display_string": "MZ",
        "description": "DOS MZ executable file format and its descendants (includingNE andPE)",
        "file_extension": "exe",
        "hex": [77, 90],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "zip",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "jar",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "odt",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "ods",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "odp",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "docx",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "xlsx",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "pptx",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "vsdx",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such asJAR,ODF,OOXML",
        "file_extension": "apk",
        "hex": [80, 75, 3, 4],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "zip",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "jar",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "odt",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "ods",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "odp",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "docx",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "xlsx",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "pptx",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "vsdx",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "apk",
        "hex": [80, 75, 5, 6],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "zip",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "jar",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "odt",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "ods",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "odp",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "docx",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "xlsx",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "pptx",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "vsdx",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "PK..",
        "description": "zip file format and formats based on it, such as JAR,ODF,OOXML (spanned archive)",
        "file_extension": "apk",
        "hex": [80, 75, 7, 8],
        "offset": 0,
    },
    {
        "display_string": "Rar!...",
        "description": "RAR archive version 1.50 onwards",
        "file_extension": "rar",
        "hex": [82, 97, 114, 33, 26, 7, 0],
        "offset": 0,
    },
    {
        "display_string": "Rar!....",
        "description": "RAR archive version 5.0 onwards",
        "file_extension": "rar",
        "hex": [82, 97, 114, 33, 26, 7, 1, 0],
        "offset": 0,
    },
    {
        "display_string": ".ELF",
        "description": "Executable and Linkable Format",
        "file_extension": "",
        "hex": [127, 69, 76, 70],
        "offset": 0,
    },
    {
        "display_string": ".PNG....",
        "description": "Image encoded in thePortable Network Graphics format",
        "file_extension": "png",
        "hex": [137, 80, 78, 71, 13, 10, 26, 10],
        "offset": 0,
    },
    {
        "display_string": "Êþº¾",
        "description": "Java class file,Mach-O Fat Binary",
        "file_extension": "class",
        "hex": [202, 254, 186, 190],
        "offset": 0,
    },
    {
        "display_string": "ï»¿",
        "description": "UTF-8 encodedUnicodebyte order mark, commonly seen in text files.",
        "file_extension": "",
        "hex": [239, 187, 191],
        "offset": 0,
    },
    {
        "display_string": "þíúÎ",
        "description": "Mach-O binary (32-bit)",
        "file_extension": "",
        "hex": [254, 237, 250, 206],
        "offset": 0,
    },
    {
        "display_string": "þíúÏ",
        "description": "Mach-O binary (64-bit)",
        "file_extension": "",
        "hex": [254, 237, 250, 207],
        "offset": 0,
    },
    {
        "display_string": "Îúíþ",
        "description": "Mach-O binary (reverse byte ordering scheme, 32-bit)",
        "file_extension": "",
        "hex": [206, 250, 237, 254],
        "offset": 0,
    },
    {
        "display_string": "Ïúíþ",
        "description": "Mach-O binary (reverse byte ordering scheme, 64-bit)",
        "file_extension": "",
        "hex": [207, 250, 237, 254],
        "offset": 0,
    },
    {
        "display_string": "ÿþ",
        "description": "Byte-order mark for text file encoded inlittle-endian16-bit Unicode Transfer Format",
        "file_extension": "",
        "hex": [255, 254],
        "offset": 0,
    },
    {
        "display_string": "ÿþ..",
        "description": "Byte-order mark for text file encoded in little-endian32-bit Unicode Transfer Format",
        "file_extension": "",
        "hex": [255, 254, 0, 0],
        "offset": 0,
    },
    {
        "display_string": "%!PS",
        "description": "PostScript document",
        "file_extension": "ps",
        "hex": [37, 33, 80, 83],
        "offset": 0,
    },
    {
        "display_string": "%PDF",
        "description": "PDF document",
        "file_extension": "pdf",
        "hex": [37, 80, 68, 70],
        "offset": 0,
    },
    {
        "display_string": "0&²u.fÏ.¦Ù.ª.bÎl",
        "description": "Advanced Systems Format",
        "file_extension": "asf",
        "hex": [48, 38, 178, 117, 142, 102, 207, 17, 166, 217, 0, 170, 0, 98, 206, 108],
        "offset": 0,
    },
    {
        "display_string": "0&²u.fÏ.¦Ù.ª.bÎl",
        "description": "Advanced Systems Format",
        "file_extension": "wma",
        "hex": [48, 38, 178, 117, 142, 102, 207, 17, 166, 217, 0, 170, 0, 98, 206, 108],
        "offset": 0,
    },
    {
        "display_string": "0&²u.fÏ.¦Ù.ª.bÎl",
        "description": "Advanced Systems Format",
        "file_extension": "wmv",
        "hex": [48, 38, 178, 117, 142, 102, 207, 17, 166, 217, 0, 170, 0, 98, 206, 108],
        "offset": 0,
    },
    {
        "display_string": "$SDI0001",
        "description": "System Deployment Image, a disk image format used byMicrosoft",
        "file_extension": "",
        "hex": [36, 83, 68, 73, 48, 48, 48, 49],
        "offset": 0,
    },
    {
        "display_string": "OggS",
        "description": "Ogg, anopen source media container format",
        "file_extension": "ogg",
        "hex": [79, 103, 103, 83],
        "offset": 0,
    },
    {
        "display_string": "OggS",
        "description": "Ogg, anopen source media container format",
        "file_extension": "oga",
        "hex": [79, 103, 103, 83],
        "offset": 0,
    },
    {
        "display_string": "OggS",
        "description": "Ogg, anopen source media container format",
        "file_extension": "ogv",
        "hex": [79, 103, 103, 83],
        "offset": 0,
    },
    {
        "display_string": "8BPS",
        "description": "Photoshop Document file,Adobe Photoshop's native file format",
        "file_extension": "psd",
        "hex": [56, 66, 80, 83],
        "offset": 0,
    },
    {
        "display_string": "RIFF....WAVE",
        "description": "Waveform Audio File Format",
        "file_extension": "wav",
        "hex": [82, 73, 70, 70, None, None, None, None, 87, 65, 86, 69],
        "offset": 0,
    },
    {
        "display_string": "RIFF....AVI ",
        "description": "Audio Video Interleave video format",
        "file_extension": "avi",
        "hex": [82, 73, 70, 70, None, None, None, None, 65, 86, 73, 32],
        "offset": 0,
    },
    {
        "display_string": "ÿû",
        "description": "MPEG-1 Layer 3 file without anID3 tag or with anID3v1 tag (which's appended at the end of the "
        "file)",
        "file_extension": "mp3",
        "hex": [255, 251],
        "offset": 0,
    },
    {
        "display_string": "ID3",
        "description": "MP3 file with an ID3v2 container",
        "file_extension": "mp3",
        "hex": [73, 68, 51],
        "offset": 0,
    },
    {
        "display_string": "BM",
        "description": "BMP file, abitmap format used mostly in the Windows world",
        "file_extension": "dib",
        "hex": [66, 77],
        "offset": 0,
    },
    {
        "display_string": "BM",
        "description": "BMP file, abitmap format used mostly in theWindows world",
        "file_extension": "bmp",
        "hex": [66, 77],
        "offset": 0,
    },
    {
        "display_string": "BM",
        "description": "BMP file, abitmap format used mostly in theWindows world",
        "file_extension": "dib",
        "hex": [66, 77],
        "offset": 0,
    },
    {
        "display_string": "SIMPLE  =                    T",
        "description": "Flexible Image Transport System (FITS)",
        "file_extension": "fits",
        "hex": [
            83,
            73,
            77,
            80,
            76,
            69,
            32,
            32,
            61,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            32,
            84,
        ],
        "offset": 0,
    },
    {
        "display_string": "fLaC",
        "description": "Free Lossless Audio Codec",
        "file_extension": "flac",
        "hex": [102, 76, 97, 67],
        "offset": 0,
    },
    {
        "display_string": "MThd",
        "description": "MIDI sound file",
        "file_extension": "mid",
        "hex": [77, 84, 104, 100],
        "offset": 0,
    },
    {
        "display_string": "MThd",
        "description": "MIDI sound file",
        "file_extension": "midi",
        "hex": [77, 84, 104, 100],
        "offset": 0,
    },
    {
        "display_string": "ÐÏ.à¡±.á",
        "description": "Compound File Binary Format, a container format used for document by older versions of "
        "Microsoft Office. It is however an open format used by other programs as well.",
        "file_extension": "doc",
        "hex": [208, 207, 17, 224, 161, 177, 26, 225],
        "offset": 0,
    },
    {
        "display_string": "ÐÏ.à¡±.á",
        "description": "Compound File Binary Format, a container format used for document by older versions "
        "ofMicrosoft Office. It is however an open format used by other programs as well.",
        "file_extension": "xls",
        "hex": [208, 207, 17, 224, 161, 177, 26, 225],
        "offset": 0,
    },
    {
        "display_string": "ÐÏ.à¡±.á",
        "description": "Compound File Binary Format, a container format used for document by older versions "
        "ofMicrosoft Office. It is however an open format used by other programs as well.",
        "file_extension": "ppt",
        "hex": [208, 207, 17, 224, 161, 177, 26, 225],
        "offset": 0,
    },
    {
        "display_string": "ÐÏ.à¡±.á",
        "description": "Compound File Binary Format, a container format used for document by older versions "
        "ofMicrosoft Office. It is however an open format used by other programs as well.",
        "file_extension": "msg",
        "hex": [208, 207, 17, 224, 161, 177, 26, 225],
        "offset": 0,
    },
    {
        "display_string": "dex.035.",
        "description": "Dalvik Executable",
        "file_extension": "dex",
        "hex": [100, 101, 120, 10, 48, 51, 53, 0],
        "offset": 0,
    },
    {
        "display_string": "KDM",
        "description": "VMDK files",
        "file_extension": "vmdk",
        "hex": [75, 68, 77],
        "offset": 0,
    },
    {
        "display_string": "Cr24",
        "description": "Google Chrome extensionor packaged app",
        "file_extension": "crx",
        "hex": [67, 114, 50, 52],
        "offset": 0,
    },
    {
        "display_string": "AGD3",
        "description": "FreeHand 8 document",
        "file_extension": "fh8",
        "hex": [65, 71, 68, 51],
        "offset": 0,
    },
    {
        "display_string": "....BOBO..............",
        "description": "AppleWorks 5 document",
        "file_extension": "cwk",
        "hex": [5, 7, 0, 0, 66, 79, 66, 79, 5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
        "offset": 0,
    },
    {
        "display_string": "..á.BOBO..á...........",
        "description": "AppleWorks 6 document",
        "file_extension": "cwk",
        "hex": [
            6,
            7,
            225,
            0,
            66,
            79,
            66,
            79,
            6,
            7,
            225,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            1,
        ],
        "offset": 0,
    },
    {
        "display_string": "ER.....ER....",
        "description": "RoxioToast disc image file, also some .dmg-files begin with same bytes",
        "file_extension": "toast",
        "hex": [69, 82, 2, 0, 0, 0, 139, 69, 82, 2, 0, 0, 0],
        "offset": 0,
    },
    {
        "display_string": "x.s.bb`",
        "description": "Apple Disk Image file",
        "file_extension": "dmg",
        "hex": [120, 1, 115, 13, 98, 98, 96],
        "offset": 0,
    },
    {
        "display_string": "xar!",
        "description": "eXtensible Archive format",
        "file_extension": "xar",
        "hex": [120, 97, 114, 33],
        "offset": 0,
    },
    {
        "display_string": "PMOCCMOC",
        "description": "Windows Files And Settings Transfer Repository, See also USMT 3.0 (Win XP) and USMT 4.0 (Win "
        "7) User Guides",
        "file_extension": "dat",
        "hex": [80, 77, 79, 67, 67, 77, 79, 67],
        "offset": 0,
    },
    {
        "display_string": "NES.",
        "description": "Nintendo Entertainment System ROM file",
        "file_extension": "nes",
        "hex": [78, 69, 83, 26],
        "offset": 0,
    },
    {
        "display_string": "ustar.00ustar  .",
        "description": "tar archive",
        "file_extension": "tar",
        "hex": [117, 115, 116, 97, 114, 0, 48, 48, 117, 115, 116, 97, 114, 32, 32, 0],
        "offset": 257,
    },
    {
        "display_string": "tox3",
        "description": "Open source portable voxel file",
        "file_extension": "tox",
        "hex": [116, 111, 120, 51],
        "offset": 0,
    },
    {
        "display_string": "MLVI",
        "description": "Magic Lantern Video file",
        "file_extension": "MLV",
        "hex": [77, 76, 86, 73],
        "offset": 0,
    },
    {
        "display_string": "DCM.PA30",
        "description": "Windows UpdateBinary Delta Compression",
        "file_extension": "",
        "hex": [68, 67, 77, 1, 80, 65, 51, 48],
        "offset": 0,
    },
    {
        "display_string": "7z¼¯'.",
        "description": "7-Zip File Format",
        "file_extension": "7z",
        "hex": [55, 122, 188, 175, 39, 28],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "GZIP",
        "file_extension": "gz",
        "hex": [31, 139],
        "offset": 0,
    },
    {
        "display_string": "..",
        "description": "GZIP",
        "file_extension": "tar.gz",
        "hex": [31, 139],
        "offset": 0,
    },
    {
        "display_string": '."M.',
        "description": "LZ4 Frame Format, LZ4 block format does not offer any magic bytes.",
        "file_extension": "lz4",
        "hex": [4, 34, 77, 24],
        "offset": 0,
    },
    {
        "display_string": "MSCF",
        "description": "Microsoft Cabinet file",
        "file_extension": "cab",
        "hex": [77, 83, 67, 70],
        "offset": 0,
    },
    {
        "display_string": "FLIF",
        "description": "Free Lossless Image Format",
        "file_extension": "flif",
        "hex": [70, 76, 73, 70],
        "offset": 0,
    },
    {
        "display_string": ".Eß£",
        "description": "Matroska media container, includingWebM",
        "file_extension": "mkv",
        "hex": [26, 69, 223, 163],
        "offset": 0,
    },
    {
        "display_string": ".Eß£",
        "description": "Matroska media container, includingWebM",
        "file_extension": "mka",
        "hex": [26, 69, 223, 163],
        "offset": 0,
    },
    {
        "display_string": ".Eß£",
        "description": "Matroska media container, includingWebM",
        "file_extension": "mks",
        "hex": [26, 69, 223, 163],
        "offset": 0,
    },
    {
        "display_string": ".Eß£",
        "description": "Matroska media container, includingWebM",
        "file_extension": "mk3d",
        "hex": [26, 69, 223, 163],
        "offset": 0,
    },
    {
        "display_string": ".Eß£",
        "description": "Matroska media container, includingWebM",
        "file_extension": "webm",
        "hex": [26, 69, 223, 163],
        "offset": 0,
    },
    {
        "display_string": "MIL ",
        "description": '"SEAN\xa0: Session Analysis" Training file. Also used in compatible software "Rpw\xa0'
        ':Rowperfect for Windows" and "RP3W\xa0: ROWPERFECT3 for Windows".',
        "file_extension": "stg",
        "hex": [77, 73, 76, 32],
        "offset": 0,
    },
    {
        "display_string": "AT&TFORM....DJV",
        "description": "DjVu document. The following byte is either 55 (U) for single-page or 4D (M) for multi-page "
        "documents.",
        "file_extension": "djvu",
        "hex": [65, 84, 38, 84, 70, 79, 82, 77, None, None, None, None, 68, 74, 86],
        "offset": 0,
    },
    {
        "display_string": "AT&TFORM....DJV",
        "description": "DjVu document. The following byte is either55 (U) for single-page or4D (M) for multi-page "
        "documents.",
        "file_extension": "djv",
        "hex": [65, 84, 38, 84, 70, 79, 82, 77, None, None, None, None, 68, 74, 86],
        "offset": 0,
    },
    {
        "display_string": "0.",
        "description": "DER encoded X.509 certificate",
        "file_extension": "der",
        "hex": [48, 130],
        "offset": 0,
    },
    {
        "display_string": "DICM",
        "description": "DICOM Medical File Format",
        "file_extension": "dcm",
        "hex": [68, 73, 67, 77],
        "offset": 128,
    },
    {
        "display_string": "wOFF",
        "description": "WOFF File Format 1.0",
        "file_extension": "woff",
        "hex": [119, 79, 70, 70],
        "offset": 0,
    },
    {
        "display_string": "wOF2",
        "description": "WOFF File Format 2.0",
        "file_extension": "woff2",
        "hex": [119, 79, 70, 50],
        "offset": 0,
    },
    {
        "display_string": "<?xml ",
        "description": "eXtensible Markup Language when using theASCII character encoding",
        "file_extension": "XML",
        "hex": [60, 63, 120, 109, 108, 32],
        "offset": 0,
    },
    {
        "display_string": "msa.",
        "description": "WebAssembly binary format",
        "file_extension": "wasm",
        "hex": [109, 115, 97, 0],
        "offset": 0,
    },
    {
        "display_string": "Ï..",
        "description": "Lepton compressed JPEG image",
        "file_extension": "lep",
        "hex": [207, 132, 1],
        "offset": 0,
    },
    {
        "display_string": "CWS",
        "description": "flash .swf",
        "file_extension": "swf",
        "hex": [67, 87, 83],
        "offset": 0,
    },
    {
        "display_string": "FWS",
        "description": "flash .swf",
        "file_extension": "swf",
        "hex": [70, 87, 83],
        "offset": 0,
    },
    {
        "display_string": "!<arch>",
        "description": "linux deb file",
        "file_extension": "deb",
        "hex": [33, 60, 97, 114, 99, 104, 62],
        "offset": 0,
    },
    {
        "display_string": "RIFF....",
        "description": "Google WebP image file",
        "file_extension": "webp",
        "hex": [82, 73, 70, 70, None, None, None, None],
        "offset": 0,
    },
    {
        "display_string": "WEBP",
        "description": "",
        "file_extension": "",
        "hex": [87, 69, 66, 80],
        "offset": 0,
    },
    {
        "display_string": "'..V",
        "description": "U-Boot / uImage.Das_U-Boot Universal Boot Loader.",
        "file_extension": "",
        "hex": [39, 5, 25, 86],
        "offset": 0,
    },
    {
        "display_string": "ftypisom",
        "description": "ISO Base Media file (MPEG-4)",
        "file_extension": "mp4",
        "hex": [0x66, 0x74, 0x79, 0x70, 0x69, 0x73, 0x6f, 0x6d],
        "offset": 4,
    },
    {
        "display_string": "ftypMSNV",
        "description": "MPEG-4 video file",
        "file_extension": "mp4",
        "hex": [0x66, 0x74, 0x79, 0x70, 0x4d, 0x53, 0x4e, 0x56],
        "offset": 4,
    }
]

