-1
我正在用C++开发一个应用程序,用户可以从应用程序中禁用任务管理器(以及更多的功能)。 以下是我做到了在Visual C++:从有限/来宾帐户禁用任务管理器
HKEY regHandle;
DWORD dwValue = 1;
BYTE* data = (BYTE*)&dwValue;
RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0, NULL, NULL, KEY_WRITE | KEY_WOW64_32KEY,NULL , ®Handle ,NULL);
RegSetValueEx(regHandle,"DisableTaskmgr",0, REG_DWORD,data ,sizeof(DWORD));
它在管理员帐户运作良好。但是在有限的用户帐户和来宾帐户中,它不起作用。它试图将UAC级别更改为管理权限/最高可用级别。两者都不起作用。我也检查了我是否可以通过将REG值写入HKEY_LOCAL_MACHINE
来完成。可悲的是,这也失败了。
我已经使用Google搜索并搜索了stackoverflow,但没有找到解决方案。手动编辑组策略/注册表完全不是解决方案,我必须在需要时从应用程序内部执行。在此先感谢您的帮助。
如果你没有权利这么做,那么编辑注册表会是一个相当严重的安全漏洞,你不觉得吗?换句话说,您在问“如何绕过Windows中的安全性”,并希望人们告诉您(以防有人知道......)。 –
我想为TaskMan可执行文件的DACL添加一个“拒绝执行”(或“拒绝全部”)记录。 –
@MatsPetersson,我不认为这是一个安全漏洞。很少有应用程序需要禁用taskmanager。如果应用程序使用有限帐户的管理员权限运行,为什么不这样做?那是为什么windows有UAC? – Jasir