2009-02-28 67 views
0

我正在編寫一個需要提升權限的命令行工具。這可以使用清單成功實施。用提升的權限啓動抓取控制檯輸出

但是,如果此工具是從cmd.exe或遠程管理器(far.exe)啓動的,則會創建一個新的控制檯窗口。所以所有的工具控制檯輸出都寫入它並在關閉時丟失。

所以我的想法是實現一個叉,其中的代碼第一部分調用相同的可執行文件的一些參數和Process.ProcessStartInfo額外收益UseShellExecute = trueVerb = "runas";而另一部分被稱爲參數,正在做什麼特權提升。

是否有可能通過從第二個實例中獲取輸出並將其重定向到第一個實例來重新虛擬化我的工具?

回答

0

如果可能,這是一個潛在的安全問題。如果任何進程可以啓動另一個進程(甚至自己)提升並攔截其輸出,則可能導致信息泄露。