Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // this is an excerpt of the script tags in the original JS file
- // mainly to focus on the 'body' of the JS
- mTop = top;
- mSelf = self;
- submited = false;
- function submit() {
- if (submited) {
- return false;
- }
- submited = true;
- ///////////////////////////////////////// the first eval() function call, when decoded returns the following block /////////////////////////////////////////
- var a;
- var b;
- var ix;
- if(typeof window.innerWidth!='undefined') {
- a=window.innerWidth;
- b=window.innerHeight
- } else if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0) {
- a=document.documentElement.clientWidth;
- b=document.documentElement.clientHeight;
- } else {
- a=document.getElementsByTagName('body')[0].clientWidth;
- b=document.getElementsByTagName('body')[0].clientHeight;
- }
- try {
- ix=window.self!==window.top?1:0
- } catch(e){
- ix=2;
- }
- document.getElementById('a').value=a;
- document.getElementById('b').value=b;
- document.getElementById('ix').value=ix;
- /////////////////////////////////////////////////// end of the eval() decoding ///////////////////////////////////////////////////
- var flash = 0;
- try {
- var FlashDetect=new function(){
- var self=this;
- self.installed=false;
- self.raw="";
- self.major=-1;
- self.minor=-1;
- self.revision=-1;
- self.revisionStr="";
- var activeXDetectRules=[
- // activeXDetection rules
- // looks like an structure of arrays that hold dictionary key-value pairs for "name" and "version"
- {"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},
- {"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){}
- return version;}},
- {"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}
- ];
- // this method will take input of the activeXObj and the return value would be the version of activeX in use
- var getActiveXVersion=function(activeXObj){
- var version=-1;
- try{
- version=activeXObj.GetVariable("$version");
- }catch(err){}
- return version;
- }; // end getActiveXVersion function
- // this method would be used to obtain the activeXObj given the input name
- var getActiveXObject=function(name){
- var obj=-1;
- try{
- obj=new ActiveXObject(name);
- }catch(err){
- obj={activeXError:true};
- }
- return obj;
- }; // end getActiveXObject function
- // this is a method to parse out the ActiveXVersion that is in use, given a string input
- // return an array of dictionary key-value pairs major version, minor version, revision number, and revision string
- var parseActiveXVersion=function(str){
- var versionArray=str.split(",");
- return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]}; // end return
- }; // end parseActiveXVersion function
- // this method is used to parse the standard version, given a string input
- // the return value is an array of dictionary key-value pairs major, minor, revision string, and revision number
- var parseStandardVersion=function(str){
- var descParts=str.split(/ +/);
- var majorMinor=descParts[2].split(/\./);
- var revisionStr=descParts[3];
- return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)}; // end return
- }; // end parseStandardVersion function
- // this method is to parse the revision string, given a string input
- // the return value is either parsed out or the current class revision value
- var parseRevisionStrToInt=function(str){
- return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;
- }; // end parseRevisionsStrToInt function
- // accepts the version as input
- // returns true if the class' major version is greater than or equal to the input version, otherwise false
- self.majorAtLeast=function(version){
- return self.major>=version;
- }; // end majorAtLeast function
- // accepts the version as input
- // returns true if the class' minor version is greater than or equal to the input version, otherwise false
- self.minorAtLeast=function(version){
- return self.minor>=version;
- }; // end minorAtLeast function
- // accepts the version as input
- // returns true if the class' revision number is greater than or equal to the input version, otherwise false
- self.revisionAtLeast=function(version){
- return self.revision>=version;
- }; // end revisionAtLeast function
- // accepts the major version as input
- self.versionAtLeast=function(major){
- // creates a list of the major version, minor version, and version number
- var properties=[self.major,self.minor,self.revision];
- // compares the length of the lists 'properties' and 'arguments' for which is shorter
- var len=Math.min(properties.length,arguments.length);
- // iterate through the the lists (stopping condition is the shorter list's length)
- for(i=0;i<len;i++){
- // tests if the value at each index of the list 'properties' si greater than or equal to the value at each index of 'arguments'
- if(properties[i]>=arguments[i]){
- // if the versions match and we haven't run off the array, current for-loop iteration ends and proceed with the next
- if(i+1<len&&properties[i]==arguments[i]){
- continue;
- // this indicates the indexed value at 'properties' is greater than 'arguments' breakout and return true
- } else {
- return true;
- } // end inner if-else statement
- // otherwise the indexed value at 'properties' is greater than 'arguments' breakout and return false
- } else {
- return false;
- } // end outer if-else statement
- } // end for-loop
- }; // end versionAtLeast function
- self.FlashDetect=function(){
- if(navigator.plugins&&navigator.plugins.length>0){
- var type='application/x-shockwave-flash';
- var mimeTypes=navigator.mimeTypes;
- if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){
- var version=mimeTypes[type].enabledPlugin.description;
- var versionObj=parseStandardVersion(version);
- self.raw=versionObj.raw;
- self.major=versionObj.major;
- self.minor=versionObj.minor;
- self.revisionStr=versionObj.revisionStr;
- self.revision=versionObj.revision;
- self.installed=true;
- }
- } else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){
- var version=-1;
- for(var i=0;i<activeXDetectRules.length&&version==-1;i++){
- var obj=getActiveXObject(activeXDetectRules[i].name);
- if(!obj.activeXError){
- self.installed=true;
- version=activeXDetectRules[i].version(obj);
- if(version!=-1){
- var versionObj=parseActiveXVersion(version);
- self.raw=versionObj.raw;
- self.major=versionObj.major;
- self.minor=versionObj.minor;
- self.revision=versionObj.revision;
- self.revisionStr=versionObj.revisionStr;
- } // of if statement for 'version != -1'
- } // end of if statement for 'not activeXError'
- } // end of for-loop
- } // end of outermost if-elseif statement
- }(); // end FlashDetect constructor, no input parameters are passed
- }; // end the FlashDetect class
- if (FlashDetect.major > 0) {
- flash = 1;
- }
- } catch (e) {
- flash = 2;
- } // end major try-catch block
- window.document.getElementById("fs").value=flash;
- ///////////////////////////////////////// the second eval() function call, when decoded returns the following block /////////////////////////////////////////
- // the try catch blocks will set the values in the QC array that are used to determine the user's browser width, user-agent, referrer, plugins, etc.
- var QC={};
- try{
- QC.SW=window.screen.width;
- QC.SH=window.screen.width;
- } catch(e) {
- QC.SW=-1;
- QC.SH=-1;
- }
- try{
- QC.WX=window.screenX;
- QC.WY=window.screenY;
- } catch(e) {
- QC.WX=-1;
- QC.WY=-1;
- }
- try{
- QC.WW=window.outerWidth;
- QC.WH=window.outerHeight
- } catch(e) {
- QC.WW=-1;
- QC.WH=-1;
- }
- try{
- QC.WIW=window.innerWidth;
- QC.WIH=window.innerHeight;
- } catch(e) {
- QC.WIW=-1;
- QC.WIH=-1;
- }
- // for the number of iframes that are currently existent and only send the existing iframes
- try{
- QC.WFC=window.top.frames.length;
- } catch(e) {
- QC.WFC=-1;
- }
- try{
- QC.PL=document.location.href;
- } catch(e) {
- QC.PL='-';
- }
- try{
- QC.RF=document.referrer;
- } catch(e) {
- QC.RF='-';
- }
- try{
- QC.NP=(!(navigator.plugins instanceof PluginArray)||navigator.plugins.length==0)?0:1;
- } catch(e) {
- QC.NP=-1;
- }
- // can be used to make a callback from the web page with an object passed in
- try{
- QC.PT=window.callPhantom||window._phantom
- } catch(e) {
- QC.PT='-';
- }
- // sends small amount of data back
- try{
- QC.NB=typeof(navigator.sendBeacon)==="function"?1:0;
- } catch(e) {
- QC.NB=-1;
- }
- // sends back the geolocation
- try{
- QC.NG=typeof(navigator.geolocation)!=="undefined"?1:0;
- } catch(e) {
- QC.NG=-1;
- }
- QC.CF=0;
- // same try block with the FlashDetect class from above
- try{
- var FlashDetect=new function(){
- var self=this;
- self.installed=false;
- self.raw="";
- self.major=-1;
- self.minor=-1;
- self.revision=-1;
- self.revisionStr="";
- var activeXDetectRules=[
- {"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj)}},
- {"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj)}catch(err){}return version}},
- {"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj)}}
- ];
- var getActiveXVersion=function(activeXObj){
- var version=-1;
- try{
- version=activeXObj.GetVariable("$version");
- } catch(err) {}
- return version
- };
- var getActiveXObject=function(name){
- var obj=-1;
- try{
- obj=new ActiveXObject(name)
- } catch(err) {
- obj={activeXError:true}
- }
- return obj;
- };
- var parseActiveXVersion=function(str){
- var versionArray=str.split(",");
- return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]}
- };
- var parseStandardVersion=function(str){
- var descParts=str.split(/ +/);
- var majorMinor=descParts[2].split(/\./);
- var revisionStr=descParts[3];
- return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)}
- };
- var parseRevisionStrToInt=function(str){
- return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;
- };
- self.majorAtLeast=function(version){
- return self.major>=version;
- };
- self.minorAtLeast=function(version){
- return self.minor>=version;
- };
- self.revisionAtLeast=function(version){
- return self.revision>=version;
- };
- self.versionAtLeast=function(major){
- var properties=[self.major,self.minor,self.revision];
- var len=Math.min(properties.length,arguments.length);
- for(i=0;i<len;i++){
- if(properties[i]>=arguments[i]){
- if(i+1<len&&properties[i]==arguments[i]){
- continue;
- } else {
- return true;
- }
- } else {
- return false
- }
- }
- };
- self.FlashDetect=function(){
- if(navigator.plugins&&navigator.plugins.length>0){
- var type='application/x-shockwave-flash';
- var mimeTypes=navigator.mimeTypes;
- if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){
- var version=mimeTypes[type].enabledPlugin.description;
- var versionObj=parseStandardVersion(version);
- self.raw=versionObj.raw;
- self.major=versionObj.major;
- self.minor=versionObj.minor;
- self.revisionStr=versionObj.revisionStr;
- self.revision=versionObj.revision;
- self.installed=true
- }
- } else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript) {
- var version=-1;
- for(var i=0;i<activeXDetectRules.length&&version==-1;i++){
- var obj=getActiveXObject(activeXDetectRules[i].name);
- if(!obj.activeXError){
- self.installed=true;
- version=activeXDetectRules[i].version(obj);
- if(version!=-1){
- var versionObj=parseActiveXVersion(version);
- self.raw=versionObj.raw;
- self.major=versionObj.major;
- self.minor=versionObj.minor;
- self.revision=versionObj.revision;
- self.revisionStr=versionObj.revisionStr;
- } // end if version != -1
- } // end if not activeXError
- } // end for loop
- } // end else-if check
- }() // end FlashDetect constructor
- }; // end FlashDetect class
- if(FlashDetect.major>0){
- QC.CF=1;
- }
- } catch(e) {
- QC.CF=2;
- } // end try-catch block for FlashDetect
- try{
- QCDone(QC);
- } catch(e) {};
- // the function QCDone takes a single input parameter
- // the try-catch blocks will update the submit-form variables in the full html page (this is just an excerpt) that are posted back to the server.
- function QCDone(d){
- try{
- document.getElementById('ci_SW').value=d.SW;
- } catch(e) {}
- try{
- document.getElementById('ci_SH').value=d.SH;
- } catch(e) {}
- try{
- document.getElementById('ci_WX').value=d.WX;
- } catch(e) {}
- try{
- document.getElementById('ci_WY').value=d.WY;
- } catch(e) {}
- try{
- document.getElementById('ci_WW').value=d.WW;
- } catch(e) {}
- try{
- document.getElementById('ci_WH').value=d.WH;
- } catch(e) {}
- try{
- document.getElementById('ci_WIW').value=d.WIW
- } catch(e) {}
- try{
- document.getElementById('ci_WIH').value=d.WIH;
- } catch(e) {}
- try{
- document.getElementById('ci_WFC').value=d.WFC
- } catch(e) {}
- try{
- document.getElementById('ci_PL').value=d.PL
- } catch(e) {}
- try{
- document.getElementById('ci_NP').value=d.NP;
- } catch(e) {}
- try{
- document.getElementById('ci_PT').value=d.PT;
- } catch(e) {}
- try{
- document.getElementById('ci_NB').value=d.NB;
- } catch(e) {}
- try{
- document.getElementById('ci_NG').value=d.NG;
- } catch(e) {}
- try{
- document.getElementById('ci_DM').value=d.DM;
- } catch(e) {}
- try{
- document.getElementById('ci_CF').value=d.CF;
- } catch(e){}
- }; // end QCDone function
- /////////////////////////////////////////////////// end of the eval() decoding ///////////////////////////////////////////////////
- // submit the form element data
- window.document.getElementById("submit-form").submit();
- } // end function submit()
- // function that sets the timeout value to true and sends the form data
- function submitByTimeout(){
- window.document.getElementById("timeout").value=1;
- submit();
- }
- // call the submit() function
- submit();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement