如何通过Windows Vista安全性?

时间:2009-07-08 22:18:32

标签: windows-vista registry

有没有办法让我的.exe文件以管理员权限而不是我来执行 杀死注册表中的LUA或右键单击文件并以管理员身份运行?

当我更改注册表时,它会提示用户我不想要的内容。我只是添加文件来杀死LUA,以授予用户执行我的.exe文件的完整权限。

如果我可以让它以管理员身份执行,它将节省我编辑注册表。我找不到该应用程序的源代码。它在Delphi中编码,因此添加任何内容都是一个问题,而.reg文件需要在Windows Vista上运行.exe文件。

如何解决此问题?

6 个答案:

答案 0 :(得分:6)

你做不到。如果你能做到这一点,那么任何exe都可能会这样做,这会破坏UAC的目的(假设arguendo你认为UAC有一个目的)。您可以manifest your exe要求管理员权限,但这不会停止用户提示。

答案 1 :(得分:3)

有两种正确的方法可以做到这一点:

  1. 如前所述,将您的exe标记为需要提升权限 - 启动程序时会提示用户,需要管理员权限和用户确认。

  2. 创建一个以LocalSystem身份运行的服务,允许在不提示用户的情况下执行任何操作。在这种情况下,您必须实现服务的进程间通信机制,以便与用户UI程序进行通信,这可能并不简单。对于这种情况,您的程序必须由管理员安装,但之后可能被任何人使用 - 这在公司方案中很常见。

  3. 一般来说,Vista兼容性可能并不容易实现,取决于您的软件可能需要大量工作。

答案 2 :(得分:0)

我无法测试这个,因为我此刻只和我一起使用XP ...

尝试使用runas命令创建批处理文件。

请注意,仍然需要输入密码,但可能会节省几个步骤。

答案 3 :(得分:0)

如果您只是想避免右键单击并以管理员身份运行,则可以将exe重命名为xyzSetup.exe。

(希望)你无法绕过提示,否则任何人都可以做到。

答案 4 :(得分:0)

如果您只是想避免重复提示并且不介意被要求输入密码或权限,则可以使用带有/ savecred选项的runas。

答案 5 :(得分:0)

通常,通过安装以SYSTEM或管理员帐户身份运行的Windows服务可以解决此问题。然后,您的应用程序可以从此服务请求特权操作。

显然,不会造成安全威胁,请确保您的服务无法运行任意代码或可能使所有用户容易受到权限提升攻击的内容。

WinPcap并且大多数其他嗅探应用程序使用类似的设计来为非特权用户提供嗅探访问。

在首次运行期间(或在安装程序中安装您的服务,这将需要UAC提示)。

我将不得不阅读此内容,但我无法访问我的来源,因此这将是一个问题。