Vérification de la véritable élévation d'administrateur
Bien que les méthodes initiales détectent efficacement les privilèges d'administrateur, elles ne font pas de distinction de manière fiable entre les comptes d'administrateur standard et ceux dotés de privilèges élevés (par exemple, exécutés dans vshost.exe). Cette approche améliorée utilise une technique plus robuste.
Utilisation de la classe UacHelper
Nous utilisons la classe UacHelper pour une détermination précise de l'état d'élévation. Cette classe examine minutieusement le registre système pour vérifier l’état du contrôle de compte d’utilisateur (UAC). Il utilise ensuite des méthodes avancées, notamment OpenProcessToken
et GetTokenInformation
, pour analyser le niveau d'élévation du processus actuel.
Analyse détaillée de l'élévation
La propriété IsProcessElevated
au sein de la classe UacHelper exécute les étapes clés suivantes :
OpenProcessToken
récupère le jeton de sécurité du processus.GetTokenInformation
extrait le type d'élévation (complet/élevé, limité ou par défaut).Interprétation des résultats d'élévation
La propriété IsProcessElevated
renvoie :
True
: Le type d'élévation est « complète », ce qui signifie des privilèges élevés.False
: L'UAC est désactivé ou le type d'élévation est « limité » ou « par défaut ».Cette méthode améliorée fournit un moyen fiable de confirmer si votre application s'exécute avec des privilèges véritablement élevés, quel que soit le contexte de l'administrateur.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3