更改命令行管理程序注册表



在我的应用程序开始时,我将注册表的 shell 值更改为自定义 shell 并杀死资源管理器.exe(它是在应用程序外部完成的),我想允许后门返回到原始 shell 并带回资源管理器.exe。 恢复进程对我来说效果很好,但是当我运行代码来更改注册表值时,不会引发异常,但是当我签入注册表编辑器,这是我的代码(在这里看到一个不同的问题):

        RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon", true);
        regKey.SetValue("Shell", "explorer.exe", RegistryValueKind.String);
        regKey.Close();

请帮忙

在你的代码中,你实际上设置了

HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionWinlogonShell

由于某些注册表项由 WOW64 重定向,请检查 MSDN 以获取更多详细信息。

试试这个:

RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey regKey = localMachine .OpenSubKey(@"SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon", true);
regKey.SetValue("Shell", "explorer.exe", RegistryValueKind.String);
regKey.Close();

相关内容

  • 没有找到相关文章

最新更新