質問

ユーザー名/パスワードを指定せずにユーザーになりすますことは可能ですか?基本的に、 ShGetFolderPath()関数を使用して、ユーザー(現在のユーザーではない)の CSIDL_LOCAL_APPDATA を取得したいと思います。現在持っているのは、そのユーザーのSIDだけです。

役に立ちましたか?

解決

いいえ、Win32 APIの LogonUser 関数を呼び出してWindowsアカウントトークンを取得し、偽装できるようにする必要があります。

他のヒント

ZwCreateTokenを呼び出すことにより、パスワードを指定せずにユーザーを偽装できます。 この記事のCreatePureUserToken関数を参照してください。 GUIベースのRunAsEx これを機能させるには、管理者(またはLocalSystem)として実行する必要があります。

もう1つの方法は、Windowsサブ認証パッケージを使用することです。 これにより、Windowsのビルトイン認証を上書きし、パスワードが指定されていなくてもLogonUserが成功できるようになります。この KB article を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top