// DIE's signature file
// Author: hypn0 <hypn0@mail.ru>

init("overlay","");

function detect(bShowType,bShowVersion,bShowOptions)
{
    if(PE.compareOverlay("'aWAW'"))
    {
        sName="CreateInstall data";
        bDetected=1;
    }
    else if(PE.compareOverlay("';!@Install@!UTF-8!'"))
    {
        sName="7-zip Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("00'TMSAMVOH'"))
    {
        sName="ActiveMark protector data";
        bDetected=1;
    }
    else if(PE.compareOverlay("....................'MSCF'00"))
    {
        sName="Actual Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'10JP'"))
    {
        sName="Adveractive Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'EWETAR DATA FILE!! VER 1.00 <<<>>>'"))
    {
        sName="Aeco Systems installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("c0ab........60ea"))
    {
        sName="ARJSFX32 data";
        bDetected=1;
    }
    else if(PE.compareOverlay("60ea"))
    {
        sName="ARJ archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("67570402"))
    {
        sName="ARQ archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("0b0bafaf0b0ba4"))
    {
        sName="AutoPlay Media Studio installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'wwgT)'")||PE.compareOverlay("..120100....0000"))
    {
        sName="ClickTeam installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'CK16'"))
    {
        sName="CrypKey Installer archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("........'DIMDMSCF'"))
    {
        sName="Dimd SFX data";
        sOptions="CAB";
        bDetected=1;
    }
    else if(PE.compareOverlay("'[metadata]'"))
    {
        sName="distutils installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("b297e169"))
    {
        sName="Envoy Packager data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'EPSF'"))
    {
        sName="Eschalon Installer archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("........'SPIS'1a'LH5'"))
    {
        sName="GPInstall data";
        sOptions="SPIS LH5";
        bDetected=1;
    }
    else if(PE.compareOverlay("1f8b08"))
    {
        sName="GZip archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'zlb'1A")||PE.compareOverlay("'idska32'1A"))
    {
        sName="Inno Setup Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'Inno Setup Messages'"))
    {
        sName="Inno Setup uninstall data";
        bDetected=1;
    }
    else if(PE.compareOverlay("78da"))
    {
        sName="zlib archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'1CNT'"))
    {
        sName="LucasArts Update Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'MPU'0d"))
    {
        sName="MP-ZipTool SFX32 data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'MPQ'1a20"))
    {
        sName="MPQ archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'PK??NOS_PO'")||PE.compareOverlay("'NOS_PO'"))
    {
        sName="NOS Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("970300000201"))
    {
        sName="Pantaray QSetup data";
        sVersion="10.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("370700000201"))
    {
        sName="Pantaray QSetup data";
        sVersion="11.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("04'PBG'"))
    {
        sName="Paquet archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'qres'"))
    {
        sName="QT installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("4B2A9A")||PE.compareOverlay("4B2A84"))
    {
        sName="RTPatch archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("e0e0e1e1e2e2e3e3e4e4e5e5e6e6e7e7"))
    {
        sName="Setup Factory installer data";
        sVersion="8.x, 9.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("e0e1e2e3e4e5e6"))
    {
        sName="Setup Factory installer data";
        sVersion="4.x, 5.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("67155234ff4d3642"))
    {
        sName="STATICSUP installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'ESIV'")||PE.compare("'SIVM'",0xf000))
    {
        sName="Vise Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'RsDl'"))
    {
        sName="WinImage SFX data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'IMP'0a"))
    {
        sName="IMP archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'@Daisy@Lucy@xyzzy@'................1f8b08"))
    {
        sName="WinPatch Apply Program data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'***messages***'"))
    {
        sName="WinRAR Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'Rar!'"))
    {
        sName="RAR archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'MPV*'"))
    {
        sName="ZipCentral SFX-32 data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'[20/20]'"))
    {
        sName="PCInstall data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'ISSetupStream'"))
    {
        sName="InstallShield data";
        sVersion="18.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("'FWS'")||PE.compareOverlay("'CWS'"))
    {
        sName="Adobe Flash";
        bDetected=1;
    }
    else if(PE.compareOverlay("'Smart Install Maker v'"))
    {
        sName="Smart Install Maker data";
        sVersion=PE.getString(PE.getOverlayOffset()+0x17);
        bDetected=1;
    }
    else if(PE.compareOverlay("....0000dcedbd"))
    {
        sName="PackageForTheWeb data";
        sOptions="InstallShield";
        bDetected=1;
    }
    else if(PE.compareOverlay("d0cf11e0a1b11ae1"))
    {
        sName="Microsoft Compound";
        bDetected=1;
    }
    else if(PE.compareOverlay("'00000000000000BD00000000000000010000000000000001'",0x19a0))
    {
        sName="Autodesk Self-Extract data";
        bDetected=1;
    }
    else if(PE.compareOverlay("c0dececb8d8d8d8d"))
    {
        sName="Ghost Installer archive";
        sOptions="xored MSCF, mask: 8D";
        bDetected=1;
    }
    else if(PE.compareOverlay("02060a0405fd59"))
    {
        sName="CreateInstall data";
        sVersion="2003.3.5";
        bDetected=1;
    }
    else if(PE.compareOverlay("'RWMV'"))
    {
        sName="VMWare Installation Launcher data";
        bDetected=1;
    }
    else if(PE.compareOverlay("........'GRCSETUPINFORMATION'"))
    {
        sName="Codegear Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'xvm'0003"))
    {
        sName="Spoon Studio data";
        bDetected=1;
    }
    else if(PE.compareOverlay("2f30ee1f5e4ee51e"))
    {
        sName="Advanced Installer data";
        sOptions="MS Compound-like format";
        bDetected=1;
    }
    else if(PE.compareOverlay("'^OPT'"))
    {
        var ArcOffset=PE.findString(PE.getOverlayOffset(),0x50, "^ARC");
        if(ArcOffset!=-1)
        {
            if(PE.compare("1f8b08",ArcOffset+4))
            {
                sName="Adobe SVG Installer";
                sOptions="gzip";
                bDetected=1;
            }
        }
    }
    else if(PE.compareOverlay("07d26cbf2159abaa0100000000"))
    {
        sName="Chilkat ZIP Self-Extractor data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'IST'00"))
    {
        sName="Dolphin Virtual Machine data";
        sVersion="5.0";
        bDetected=1;
    }
    else if(PE.compareOverlay("'@._P-DATA_.@'"))
    {
        sName="CodeFusion Wizard data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'ASWsetupFPkgFil3'"))
    {
        sName="avast! Antivirus installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("789c"))
    {
        sOptions="zlib data";
        bDetected=1;
    }
    else if(PE.compareOverlay("5b3e"))
    {
        var ArcOffset=PE.findSignature(PE.getOverlayOffset(),0x500, "'PK'0304");
        if(ArcOffset!=-1)
        {
            sName="InstallAnywhere data";
            sOptions="zip";
            bDetected=1;
        }
    }
    else if(PE.compareOverlay("........efbeadde'NullsoftInst'"))
    {
        sName="NSIS data";
        bDetected=1;
    }
    else if(PE.compareOverlay("................fec1cd666ebccf01fec1cd666ebccf0100..............78da"))
    {
        sName="Internet Download Manager installer data";
        sOptions="zlib";
        bDetected=1;
    }
    else if(PE.compareOverlay("d513e4e801000000"))
    {
        sName="Install4j installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("efbbbf';!@Install@!UTF-8!'"))
    {
        sName="7-zip Installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'UM'030a00"))
    {
        sName="Sony Windows installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("7b00320030003700320036003300370037002d00"))
    {
        sName="ADS Self Extractor data";
        bDetected=1;
    }
    else if(PE.findSignature(PE.getOverlayOffset(),Math.min(0x100,PE.getOverlaySize()),"7b00320030003700320036003300370037002d00")!=-1)
    {
        sName="ADS Self Extractor data";
        bDetected=1;
    }
    else if(PE.compareOverlay("276327631226097513180178"))
    {
        sName="Chaos Software installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'OWS9G1'", 0xb))
    {
        sName="Gentee installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'SQ5SFX'"))
    {
        sName="Squeez SFX data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'Inno Setup Setup Data'"))
    {
        sName="Inno Setup data";
        bDetected=1;
    }
    else if(PE.findSignature(PE.getOverlayOffset(),Math.min(0x100,PE.getOverlaySize()),"'MSCF'")!=-1)
    {
        sName="CAB archive";
        sOptions="InstallShield possibly";
        bDetected=1;
    }
    else if(PE.findSignature(PE.getOverlayOffset(),Math.min(0x100,PE.getOverlaySize()),"'ISc('")!=-1)
    {
        sName="InstallShield archive";
        bDetected=1;
    }
    else if(PE.compareOverlay("'ExcelsiorII1'"))
    {
        sName="Excelsior installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'InstallShield'00"))
    {
        sName="InstallShield data";
        sOptions="2.x-3.x";
        bDetected=1;
    }
    else if(PE.compareOverlay("'wwwwI'874712"))
    {
        sName="Multimedia Fusion installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'BZh'"))
    {
        sName="BZIP2";
        bDetected=1;
    }
    else if(PE.compareOverlay("'PIMPFILE'00"))
    {
        sName="PIMP installer data";
        bDetected=1;
    }
    else if(PE.compareOverlay("'tiz1'........78da"))
    {
        sName="Tarma installer data";
        sOptions="zlib";
        bDetected=1;
    }

    return result(bShowType,bShowVersion,bShowOptions);
}
