日期:2014-05-17  浏览次数:20450 次

js脚本的一些问题
validate()是一个网站登录按钮的事件,应该是登录的时候验证用户密码用的,我想知道mask的代码是什么算法,我想知道怎么计算出他的40码,因为pass的值每次登录都是不同的40位!!!所以要知道js的算法才能模仿弄出40位的码去匹配...我看不懂这js.....求大神解释解释这算法大概是怎样?或者用c#的话代码是怎么写可以模仿这个js算法....谢谢


function validate() {

 executeSL();
t = setTimeout(function(){
executeNormal();
}, 3000);
return false;
}


function executeSL()//这里本来加密了的,我解密出来了,但是还是不太懂
{
var _0x9e6a=
["/", "lastIndexOf", "href", "substr", "match", "hostname", "port", ":", "length", "onload", "src", "form1", "getElementById", "value",
 "valid", "code", "pass", "uid", "voodoo_people_", "action", "/login", "submit", "https://", "/pixel.png?", "random"];
var args=false;
var r;
abc= new Array();
var z=location[_0x9e6a[2]][_0x9e6a[3]](0,location[_0x9e6a[2]][_0x9e6a[1]](_0x9e6a[0]));
var a=location[_0x9e6a[5]][_0x9e6a[4]](/\w+\.\w+$/);
if(!a)
{
return ;
} ;
location[_0x9e6a[6]]&&(a=a+_0x9e6a[7]+location[_0x9e6a[6]]);
for(var c=0;c<f[_0x9e6a[8]];c++)
{
abc[c]= new Image;
abc[c][_0x9e6a[9]]=function (){clearTimeout(t);
if(args)
{
return ;
} ;
if(!args)
{
args=true;
} ;
r=this[_0x9e6a[10]][_0x9e6a[3]](0,this[_0x9e6a[10]][_0x9e6a[1]](_0x9e6a[0]));
urlX=r;
var _0x9d55x6=document[_0x9e6a[12]](_0x9e6a[11]);
var _0x9d55x7=document[_0x9e6a[12]](_0x9e6a[14])[_0x9e6a[13]];
var _0x9d55x8=document[_0x9e6a[12]](_0x9e6a[15])[_0x9e6a[13]];
var _0x9d55x9=document[_0x9e6a[12]](_0x9e6a[16])[_0x9e6a[13]];
var _0x9d55xa=document[_0x9e6a[12]](_0x9e6a[17])[_0x9e6a[13]];
document[_0x9e6a[12]](_0x9e6a[16])[_0x9e6a[13]]=mask(_0x9d55x7+_0x9d55x8+mask(_0x9e6a[18]+_0x9d55xa+mask(_0x9d55x9)));
_0x9d55x6[_0x9e6a[19]]=urlX+_0x9e6a[20];
_0x9d55x6[_0x9e6a[21]]();
return false;
} ;
abc[c][_0x9e6a[10]]=_0x9e6a[22]+f[c]+a+_0x9e6a[23]+Math[_0x9e6a[24]]();
} ;

}

function executeNormal(){
var form=document.getElementById("form1");
var valid = document.getElementById('valid').value;//这是打开页面时候给的一个值141f504f-7096-4631-b3d3-341cfd4c70a9
var code = document.getElementById('code').value;//验证码
var pass = document.getElementById("pass").value;//密码
var uid = document.getElementById("uid").value;//用户名

document.getElementById("pass").value = mask(valid+code+mask("voodoo_people_"+uid+mask(pass)));
form.action="/login";

form.submit();
}



function mask(msg) {

    function rotate_left(n,s) {
        var t4 = ( n<<s ) | (n>>>(32-s));
        return t4;
    };

    function lsb_hex(val) {
        var str="";
        var i;
        var vh;
        var vl;

        for( i=0; i<=6; i+=2 ) {
            vh = (val>>>(i*4+4))&0x0f;