オペレーティングシステムは、UACが有効になっているWindows7以降です。呼び出しプロセスには管理者権限があり、UACボックスですでに確認されています。
ユーザーSYSTEMの下に新しいコンソールウィンドウ(cmd.exe)を生成したい(理由は聞かないでください)。SysinternalsなどのPsExecツールを使用してインタラクティブにこれを行うことができますが、ソースコードがないため、これがどのように機能するかを理解する必要があります。
CreateProcessAsUser()を呼び出す必要があり、最初のパラメーター(hToken)をNULLに設定すると正常に機能することを理解していますが、hTokenを取得する方法を知る必要があります。LogonUser()を呼び出すことでそのようなトークンを取得できることは理解していますが、SYSTEMでは取得できません。SYSTEMのトークンを取得するにはどうすればよいですか?
DuplicateTokenEx()を使用することを考えましたが、これには元のトークンが必要であり、持っていません。
プロセスリストをクエリし、SYSTEMプロセスを見つけて、そのトークンを複製するか何かを試みる必要がありますか?PsExecツールまたはこれを正確に実行している他のツールの1つをリバースエンジニアリングしたくありません。