// DIE's signature file init("installer","Nullsoft Scriptable Install System"); function detect(bShowType,bShowVersion,bShowOptions) { var nOffset=PE.getOverlayOffset(); if(!PE.compareOverlay("EFBEADDE'Null'..'oftInst'",4)) { if(!PE.section[".ndata"]) { return ""; } if(PE.isOverlayPresent()) { nOffset+=PE.readDword(nOffset); if(nOffset+4>=PE.getSize() ||!PE.compare("EFBEADDE'Null'..'oftInst'",nOffset+4)) { nOffset=0; } } } if(nOffset) { // Method detection adapted from 7-Zip. nOffset+=0x1C; if(PE.compare("5D0000..00",nOffset)) { sOptions=sOptions.append("lzma","solid"); } else if(PE.compare("5D0000....00",nOffset+4)) { sOptions=sOptions.append("lzma"); } else { function BorZ(nOffset) { if(PE.readByte(nOffset)==0x31&&PE.readByte(nOffset+1)<14) { return "bzip2"; } else { return "zlib"; } } if(PE.compare("8",nOffset+3)) { sOptions=sOptions.append(BorZ(nOffset+4)); } else { sOptions=sOptions.append(BorZ(nOffset),"solid"); } } bDetected=1; } var aVersion=PE.getManifest().match(/Null[sS]oft Install System v?(.*?)