真の管理者の昇格を確認しています
初期の方法は管理者権限を効果的に検出しますが、標準の管理者アカウントと昇格された権限を持つアカウント (vshost.exe 内で実行されているものなど) を確実に区別することはできません。 この改良されたアプローチでは、より堅牢な技術が使用されています。
UacHelper クラスの利用
昇格ステータスを正確に判断するために UacHelper クラスを使用します。 このクラスは、システム レジストリを徹底的に調べて、ユーザー アカウント制御 (UAC) のステータスを確認します。 次に、OpenProcessToken
や GetTokenInformation
などの高度なメソッドを使用して、現在のプロセスの昇格レベルを分析します。
詳細な標高解析
UacHelper クラス内の IsProcessElevated
プロパティは、次の重要な手順を実行します。
OpenProcessToken
はプロセスのセキュリティ トークンを取得します。GetTokenInformation
は、標高タイプ (完全/高さ、限定、またはデフォルト) を抽出します。標高結果の解釈
IsProcessElevated
プロパティは次を返します:
True
: 昇格の種類は「フル」で、昇格された特権を示します。False
: UAC が無効になっているか、標高タイプが「制限付き」または「デフォルト」です。この拡張された方法は、管理者のコンテキストに関係なく、アプリケーションが本当に高い特権で実行されているかどうかを確認する信頼性の高い方法を提供します。
以上が私の管理者アカウントは本当に昇格されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。