<script language=JavaScript>eval(unescape('var%20codelock_bas%3D%27ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2B%2F%27%3B%20function%20codelock_dec%28str%29%20%7B%20str%3Dstr.split%28%27%40%27%29.join%28%27CAg%27%29%3B%20str%3Dstr.split%28%27%21%27%29.join%28%27W5%27%29%3B%20str%3Dstr.split%28%27%2A%27%29.join%28%27CAgI%27%29%3B%20var%20bt%2C%20dt%20%3D%20%27%27%3B%20for%28i%3D0%3B%20i%3Cstr.length%3B%20i%20%2B%3D%204%29%20%7B%20bt%20%3D%20%28codelock_bas.indexOf%28str.charAt%28i%29%29%20%26%200xff%29%20%3C%3C18%20%7C%20%28codelock_bas.indexOf%28str.charAt%28i%20%2B1%29%29%20%26%200xff%29%20%3C%3C12%20%7C%20%28codelock_bas.indexOf%28str.charAt%28i%20%2B2%29%29%20%26%200xff%29%20%3C%3C%206%20%7C%20codelock_bas.indexOf%28str.charAt%28i%20%2B3%29%29%20%26%200xff%3B%20dt%20%2B%3D%20String.fromCharCode%28%28bt%20%26%200xff0000%29%20%3E%3E16%2C%20%28bt%20%26%200xff00%29%20%3E%3E8%2C%20bt%20%26%200xff%29%3B%20%7D%20if%28str.charCodeAt%28i%20-2%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%20-2%29%29%3B%20%7D%20else%20if%28str.charCodeAt%28i%20-1%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%20-1%29%29%3B%20%7D%20else%20%7Breturn%28dt%29%7D%3B%20%7D')); document.write(codelock_dec('PHNjcmlwdCBsY!ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gDQo8IS0tDQpmd!jdGlvbiBwbGF5KHVybCl7DQp2YXIgcGxheWVyY29kZSA9ICI8SUZSQU1FIHNyYz0nIit1cmwrIicgc2Nyb2xsa!nP!vIGZyYW1lQm9yZGVyP!vIG1hcmdpbldpZHRoPTAgdnNwYWNlPS0wIG1hcmdpbkhlaWdodD0wIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnPjwvSUZSQU1FPiI7IGRvY3VtZ!0LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKS5pbm5lckhUTUwgPSBwbGF5ZXJjb2RlOw0KfQ0KLS0+IA0KPC9zY3JpcHQ+')); </script>
这段JavaScript代码在网页中是有效的,但我看不到document.write有任何输出,请高手赐教,请问这段代码到底表达什么?
这段JavaScript代码在网页中是有效的,但我看不到document.write有任何输出,请高手赐教,请问这段代码到底表达什么?
var codelock_bas= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
function codelock_dec(str) {
str = str.split('@').join('CAg');
str = str.split('!').join('W5');
str = str.split('*').join('CAgI');
var bt,
dt = '';
for (i = 0; i < str.length; i += 4) {
bt = (codelock_bas.indexOf(str.charAt(i)) & 0xff) << 18 | (codelock_bas.indexOf(str.charAt(i + 1)) & 0xff) << 12 | (codelock_bas.indexOf(str.charAt(i + 2)) & 0xff) << 6 | codelock_bas.indexOf(str.charAt(i + 3)) & 0xff;
dt += String.fromCharCode((bt & 0xff0000) >> 16, (bt & 0xff00) >> 8, bt & 0xff);
}
if (str.charCodeAt(i - 2) == 61) {
return (dt.substring(0, dt.length - 2));
} else if (str.charCodeAt(i - 1) == 61) {
return (dt.substring(0, dt.length - 1));
} else {
return (dt)
};
};第二段:是调用上面的方法将字符串还原
<script language="javascript" type="text/javascript">
<!--
function play(url){
var playercode = "<IFRAME src='"+url+"' scrolling=no frameBorder=no marginWidth=0 vspace=-0 marginHeight=0 width='100%' height='100%'></IFRAME>";
document.getElementById("player").innerHTML = playercode;
}
-->
</script>
但是第一段代码把eval换成alert和把eval换成document.write得到的输出怎么不大一样?