2009-07-08 3 views
-1

Y at-il un moyen d'obtenir mon fichier .exe à exécuter avec des droits d'administrateur au lieu de moi tuer le LUA au registre ou un fichier de clic droit et en cours d'exécution en tant qu'administrateur?Comment puis-je passer la sécurité de Windows Vista?

Lorsque je modifie le registre, il invite l'utilisateur que je ne veux pas. J'ajoute seulement le dossier pour tuer le LUA pour donner à l'utilisateur de pleins droits pour exécuter mon dossier .exe.

Si je peux simplement l'exécuter en tant qu'administrateur, cela me sauverait de modifier le registre. Je ne trouve pas le code source de l'application. Il est codé en Delphi. Il est donc difficile d'ajouter quoi que ce soit et le fichier .reg doit être exécuté avec les fichiers .exe sous Windows Vista.

Comment ce problème peut-il être résolu?

+1

Windows est une douleur, n'est ce pas? –

+13

Si vous pouviez contourner cela, ce ne serait pas * sécurité * le ferait-il? –

Répondre

6

Vous ne pouvez pas. Si vous pouviez le faire, n'importe quel exe pourrait y arriver et cela irait à l'encontre du but de l'UAC (en supposant que vous pensez que l'UAC a un but). Vous pouvez manifest your exe pour exiger des privilèges d'administrateur, mais cela n'arrêtera pas l'invite de l'utilisateur.

0

Je ne suis pas en mesure de tester cela depuis que je n'ai que XP avec moi pour le moment ...

Essayez de créer un fichier batch avec la commande runas en elle.

Notez que le mot de passe devra encore être entré mais il peut enregistrer quelques étapes.

0

Si vous souhaitez simplement éviter le clic droit et l'exécuter en tant qu'administrateur, vous pouvez renommer l'exe en quelque chose comme xyzSetup.exe.

Il n'y a (espérons-le) pas moyen de contourner l'invite, sinon n'importe qui peut le faire.

+0

il y a toujours un moyen c'est juste un cas de le trouver, rien n'est impossible. –

+0

Comment le nom du fichier affecte-t-il besoin d'un clic-droit? Windows exécute-t-il des fichiers * Setup * d'une manière ou d'une autre? –

+0

Pour la compatibilité avec de nombreux programmes d'installation et d'installation existants, Windows devine qu'un programme dont le nom contient des mots tels que setup, install ou update fera probablement des choses qui nécessitent des droits d'administrateur et exécutera automatiquement le programme en admin. – sgmoore

3

Il y a deux bonnes façons de le faire:

  1. Comme marque l'a déjà noté votre exe comme exigeant les températures élevées privilleges - l'utilisateur sera invité lors du démarrage de votre programme, privilleges administrateur et confirmation de l'utilisateur sont nécessaires.

  2. Créez un service s'exécutant en tant que LocalSystem autorisé à faire n'importe quoi sans que l'utilisateur soit invité. Dans ce cas, vous devez implémenter un mécanisme de communication interprocessus pour que le service puisse communiquer avec le programme d'interface utilisateur de l'utilisateur, ce qui peut ne pas être trivial. Pour ce scénario, votre programme doit être installé par l'administrateur, mais après cela peut être utilisé par n'importe qui - ceci est courant pour les scénarios d'entreprise.

D'une manière générale, la compatibilité avec Vista peut ne pas être facile à réaliser et, selon votre logiciel, cela peut demander beaucoup de travail.

0

Si vous essayez simplement d'éviter les invites répétées et si cela ne vous dérange pas d'être une fois demandé le mot de passe ou la permission, vous pouvez utiliser des runas avec l'option/savecred.

0

Généralement ce problème est résolu en installant un service Windows qui s'exécute en tant que système ou un compte d'administrateur. Ensuite, votre application peut demander l'action privilégiée de ce service. De toute évidence, pour ne pas constituer une menace pour la sécurité, assurez-vous que votre service ne peut pas exécuter du code arbitraire ou quelque chose qui pourrait rendre tous les utilisateurs vulnérables aux attaques d'escalade de privilèges.

WinPcap et la plupart des autres applications de reniflage utilisent une conception similaire pour donner un accès de reniflage aux utilisateurs non privilégiés.

Installez votre service lors de la première exécution (ou dans l'installateur, ce qui nécessitera une invite UAC).

Je vais devoir lire à ce sujet mais je n'ai pas accès à ma source donc ce serait un problème.

Questions connexes