论坛首页 Web前端技术论坛

使用Javascript修改客户端注册表(IE下有效)

浏览 10021 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-11   最后修改:2009-05-11

可以通过javascript生成ActivexObject来修改客户端的注册表,不过只在ie下有效

以下是一个通过javascript修改注册表禁用windows任务管理器的例子,供大家参考

 

一般情况下,要禁用windows的任务管理器,可通过一下方式实现:

 

方法:开始 ------> 运行 ------> regedit(输入) -----> HKEY_CURRENT_USER\software\Microsoft\windows\currentversion\policies\system (哈哈.比较麻烦,我检查过了,没有写错的,如果没有system项,就选中policies点右键选择新建项,命名为system) -----> 新建一个名为 DisableTaskMgr 的DWORD 值,其中,这个值为 1.然后关闭注册表,您就会发现任务管理器已经被禁用了。

 

现在我们要通过javascript来实现这件事情,我写了个html页面,在这个页面里来做测试:

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script type="text/javascript">
    function disableTaskMgr(flg){
        //判断浏览器环境
         if(!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)){
            alert('禁用注册表的操作只在IE下有效!');
            return false;
         }
         try{
            //新建一个WScript.Shell对象
            var shell = new ActiveXObject("WScript.Shell");    
            if(flg){
            //往注册表中写入值
            shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
                                     CurrentVersion\\Policies\\system\\DisableTaskMgr",1,"REG_DWORD");
            }else{
            //往注册表中写入值
              shell.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
                                     CurrentVersion\\Policies\\system\\DisableTaskMgr",0,"REG_DWORD");
            //或者删除DisableTaskMgr键也可
            //删除注册表项
            //shell.RegDelete("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\
                                     CurrentVersion\\Policies\\system\\DisableTaskMgr");
            }
         }catch(e){
            throw e;
         }       
    }
  </script>
 </HEAD>

 <BODY>
  <button onclick="disableTaskMgr(true)">禁用任务管理器</button>
  <button onclick="disableTaskMgr(false)">启用任务管理器</button>
 </BODY>
</HTML>
 

 

可以把以上的代码保存在本地运行试试效果,可以做到禁用和解禁任务管理器。

 

以下是js操作注册表的采用方式,修改注册表其他地方可以仿照上面的形式

 

var shell = new ActiveXObject("WScript.Shell");     


//读注册表 值
var  key1  = shell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows
\\CurrentVersion\\Run\\eip");
                
//删除注册表项
shell.RegDelete("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows
\\CurrentVersion\\Run\\eip");
                 
//往注册表中写入值
  shell.RegWrite
("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows
\\CurrentVersion\\Run\\eip", "C:\\eip\\eip.lnk","REG_SZ");    

      
 shell.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
\\CurrentVersion\\Run\\eip","c:\\eip\\eip.lnk","REG_SZ");
 

可通过用最后的反斜线终止 来指定项名。指定值名时最后不要包括反斜线。


类型 说明 形式
REG_SZ 字符串 字符串
REG_DWORD 数字 整数
REG_BINARY 二进制值 整数
REG_EXPAND_SZ 可扩展的字符串(例如,"%windir%\\calc.exe") 字符串

   发表时间:2009-05-12  
你不怕用户拿刀砍了你。
0 请登录后投票
   发表时间:2009-05-12  
逃不过任何杀软的注册表监控
0 请登录后投票
   发表时间:2009-05-12  
wt8414 写道
逃不过任何杀软的注册表监控

you are right

正确的做法是: js代码存成js文件

cmd下使用wscript或是cscript命令运行。


更好的做法是:使用vbs
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics