javascript之ESC(第二类混淆)

2019-06-02 21:15:54王旭

    else if(oShell && WScript.FullName.toLowerCase().indexOf('cscript') < 0){
      if(oShell.Popup(getResource('wscript'), 64, WScript.ScriptName, 52) == 6)
        oShell.Run('%comspec% /Q /K cscript //NoLogo ' + WScript.ScriptName + ' -a', 9);
      WScript.Quit(3);
      }

    // get the cmdline arguments formatted in a nice manner.
    var oArgs = Soya.WSH.getArguments();

    // should we run in verbose-mode ?;
    var bVerbose = Boolean(!oArgs.s && !oArgs.silent && (oArgs.v || oArgs.verbose));

    // create an instance of the ESC object.
    var esc = new Soya.Saltstorm.ESC(oArgs.l || oArgs.level, bVerbose);
    esc.label = 'ESC (ECMAScript Cruncher) ' + esc.version +
             'rnCopyright (C) 2001-2005 Thomas Loo <tloo@saltstorm.net>';

    esc.resourcePath = esc.fso.GetParentFolderName(WScript.ScriptFullName || '.');
    var sOutput = String(oArgs.oa || oArgs.ow || '');

    if(oArgs.a || oArgs.about){
      WScript.Echo(getResource('about'));
      WScript.Quit(1);
      }
    else if(oArgs.c || oArgs.copyright){
      WScript.Echo('n' + esc.label + getResource('copyright'));
      WScript.Quit(1);
      }
    else if(oArgs.e || oArgs.example){
      WScript.Echo('n' + esc.label + getResource('example'));
      WScript.Quit(1);
      }

    // if there are options missing, print out the help table and quit.
    else if((oArgs.h || oArgs.help) || !sOutput.length || !oArgs[0]){
      WScript.Echo('n' + esc.label + getResource('usage'));
      WScript.Quit((oArgs.h || oArgs.help) ? 1 : 2);