私は管理アクセス(すべてのユーザーに影響を及ぼし、HKLMに格納され、管理アクセスに限定された設定)が必要なプログラムの部分を持っています。私はその標高を示すために、私のソフトウェアを変更したUAC高度でIPCを安全に行うには?
が必要とされています。私は何だった
SHELLEXECUTEINFO shExecInfo;
shExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
shExecInfo.fMask = NULL;
shExecInfo.hwnd = NULL;
shExecInfo.lpVerb = L"runas";
shExecInfo.lpFile = L"myapp.exe";
shExecInfo.lpParameters = NULL;
shExecInfo.lpDirectory = NULL;
shExecInfo.nShow = SW_MAXIMIZE;
shExecInfo.hInstApp = NULL;
ShellExecuteEx(&shExecInfo);
:対応して
iは昇格のプロンプトながら私の実行可能ファイルを起動するつもりですに行くは、コマンドライン上の名前付きパイプの名前を渡して、何をしているのかを指示するためにどこに接続できるかを自分自身に伝えます:
myapp.exe /uac 6C844671-E262-46DD-939E-47517F105FB6
(はい、GUIDをパイプの名前として使用します)。このパイプを通して
私は何データベース、例えば私の高いクローンを言うだろう:それは
誰もがmyapp.exe
を立ち上げて、それにあらゆる種類のリクエストを送ることができたことを心配していました。
MaliciousProgram.exe:O私は例えば、それを起動しませんでした原因
ShellExecute("myapp.exe /uac HahaYouDoWhatISayNow")
私はUACの話、Channel9ビデオ、または記事があったLonghornのベータ中に覚えのとIPC(プロセス間通信)を行うことの間違いの危険性。
私は車輪を再発明したくないので、すでに解決されているセキュリティ上の間違いをしています。しかし、私は "正しい" "UACの仰角でIPCを行うには、既存のガイダンスを見つけることができません。
一時的な昇格処理のために生成された昇格プロセスと通信するためのIPCのパターン
編集:uac
とipc
タグの複合信者:53
質問してから約5年経ちました。あなたは満足のいく解決策に終わったことがありますか? –