Processus Windows et .NET
Résolu/Fermé
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
-
11 févr. 2010 à 11:23
Handball95 Messages postés 25 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 24 février 2010 - 17 févr. 2010 à 10:11
Handball95 Messages postés 25 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 24 février 2010 - 17 févr. 2010 à 10:11
A voir également:
- Processus Windows et .NET
- Paint net - Télécharger - Dessin & Illustration
- Clé windows 10 gratuit - Guide
- Montage video windows - Guide
- Net framework 4.0 - Télécharger - Divers Utilitaires
- Windows ne démarre pas - Guide
10 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
11 févr. 2010 à 12:24
11 févr. 2010 à 12:24
Bonjour,
Quand tu dis « Le problème est que mon service doit démarrer en Local\System », il s'agit d'une contrainte de ton cahier des charges, ou c'est parce que tu n'as pas réussi à mettre autre chose ?
Le comportement que tu décris me paraît normal et sain ; que tu puisses surveiller / tuer n'importe quel processus avec des attributions moindres serait une grosse grosse faille de sécurité (et hop le virus qui tue le processus de l'anti-virus avant de s'installer tranquillou...)
Tu pourrais réhausser les attributions de Local\System, mais tu ouvres une faille béante dans ton système, donc ce n'est pas terrible.
Le mieux serait d'exécuter ton programme en tant qu'administrateur, d'où ma question au début de ma réponse ;)
Xavier
Quand tu dis « Le problème est que mon service doit démarrer en Local\System », il s'agit d'une contrainte de ton cahier des charges, ou c'est parce que tu n'as pas réussi à mettre autre chose ?
Le comportement que tu décris me paraît normal et sain ; que tu puisses surveiller / tuer n'importe quel processus avec des attributions moindres serait une grosse grosse faille de sécurité (et hop le virus qui tue le processus de l'anti-virus avant de s'installer tranquillou...)
Tu pourrais réhausser les attributions de Local\System, mais tu ouvres une faille béante dans ton système, donc ce n'est pas terrible.
Le mieux serait d'exécuter ton programme en tant qu'administrateur, d'où ma question au début de ma réponse ;)
Xavier
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
11 févr. 2010 à 14:01
11 févr. 2010 à 14:01
Hello. Merci de ta réponse.
Pour la faille de sécurité, je suis tout à fait d'accord ;)
A vrai dire, le problème est que je veux pouvoir lancer l'analyse le plus tôt possible avant le démarrage de windows, et j'avais trouvé que le seul moyen était de le démarrer le service en Local\Sytem... (Je précise que je me suis mis à bosser sur ce projet il y a un mois et que j'ai du découvrir en autodidacte le fonctionnement des services Windows, ayant une formation plutôt orientée Linux, donc j'ai peut être mal compris certains points ^^)
Cela étant, si je devais changer le compte d'utilisateur, j'ai vu que l'installateur Windows permettait de démarrer le service sous un compte User, mais comment peut on le paramétrer? L'utilisateur devra rentrer lui même ses paramètres à l'installation?
Un gros merci pour ton aide, car je tournais en rond là...
Pour la faille de sécurité, je suis tout à fait d'accord ;)
A vrai dire, le problème est que je veux pouvoir lancer l'analyse le plus tôt possible avant le démarrage de windows, et j'avais trouvé que le seul moyen était de le démarrer le service en Local\Sytem... (Je précise que je me suis mis à bosser sur ce projet il y a un mois et que j'ai du découvrir en autodidacte le fonctionnement des services Windows, ayant une formation plutôt orientée Linux, donc j'ai peut être mal compris certains points ^^)
Cela étant, si je devais changer le compte d'utilisateur, j'ai vu que l'installateur Windows permettait de démarrer le service sous un compte User, mais comment peut on le paramétrer? L'utilisateur devra rentrer lui même ses paramètres à l'installation?
Un gros merci pour ton aide, car je tournais en rond là...
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
11 févr. 2010 à 14:13
11 févr. 2010 à 14:13
Tu as fait comme ça pour l'instant?
Tu as fait attention à ne pas mettre le .exe du processus? En gros si tu veux tuer notepad.exe faut juste mettre notepad dans name.
Enfin bon voilà je ne sais pas plus t'aider ^^
using System.Diagnostics; public bool FindAndKillProcess(string name) { foreach (Process clsProcess in Process.GetProcesses()) { if (clsProcess.ProcessName.StartsWith(name)) { clsProcess.Kill(); return true; } } return false; }
Tu as fait attention à ne pas mettre le .exe du processus? En gros si tu veux tuer notepad.exe faut juste mettre notepad dans name.
Enfin bon voilà je ne sais pas plus t'aider ^^
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
11 févr. 2010 à 14:19
11 févr. 2010 à 14:19
Oui, pas de problèmes :) Mais l'erreur vient du fait que je suis en compte Local\System et que donc je ne peux ni accéder à la propriété responding, ni killer le processus d'un compte courrant... En gros le "notepad" ne m'apparait même pas...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
11 févr. 2010 à 14:25
11 févr. 2010 à 14:25
Ah c'est pas sympa ça ^^
En même temps c'est pas prévu pour rien, si tu pouvais tuer les processus de tous les autres utilisateurs ce serait un peu facile ;)
Bonne chance :)
En même temps c'est pas prévu pour rien, si tu pouvais tuer les processus de tous les autres utilisateurs ce serait un peu facile ;)
Bonne chance :)
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
11 févr. 2010 à 14:28
11 févr. 2010 à 14:28
Effectivement :P Mais je suis sur qu'il y a moyen de passer outre, car Windows propose bien des logiciels aux admins réseaux permettant de tuer des processus à distance du moment que le firewall n'est pas actif (taskkill)...
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
11 févr. 2010 à 14:30
11 févr. 2010 à 14:30
Ces applis sont surement réalisées en C ou en C++ (voir même avec des snippets en ASM parfois) qui sont beaucoup plus proches du système.
En C# tu as toute cette énorme couche qu'est le .NET Framework qui t'empêche d'aller n'importe où je pense ;)
En C# tu as toute cette énorme couche qu'est le .NET Framework qui t'empêche d'aller n'importe où je pense ;)
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
11 févr. 2010 à 14:49
11 févr. 2010 à 14:49
Effectivement, ca doit être ca qui me bloque...
Malgré tout, si il existe un moyen en passant par un compte admin, je suis preneur :D
Malgré tout, si il existe un moyen en passant par un compte admin, je suis preneur :D
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 févr. 2010 à 16:27
16 févr. 2010 à 16:27
Bonjour,
Recherche du côté de l'impersonnation.
Tu crées deux programmes : un qui est exécuté au démarrage de la machine en tant que Local\System, et qui va appeler le deuxième programme en tant qu'administrateur, en mettant bien login et mot de passe..
Qu'en penses-tu ?
Xavier
Recherche du côté de l'impersonnation.
Tu crées deux programmes : un qui est exécuté au démarrage de la machine en tant que Local\System, et qui va appeler le deuxième programme en tant qu'administrateur, en mettant bien login et mot de passe..
Qu'en penses-tu ?
Xavier
Handball95
Messages postés
25
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
24 février 2010
17 févr. 2010 à 10:11
17 févr. 2010 à 10:11
L'idée était bonne, mais la solution était autre ^^
En fait, je me suis demandé ce qui différenciait une application d'un service (vu que mon code marchait dans une application) et j'ai alors pensé à "l'affichage". En fait, la propriété responding dépend de l'affichage du processus sur l'écran de l'utilisateur. Le programme sera, selon windows, en cours d'éxécution, si son affichage marche.
La solution est donc de valider l'option : autoriser ce service à interragir avec le bureau, et tous les problèmes s'envolent :P C'était tout con, et j'ai passé une semaine dessus :D
En fait, je me suis demandé ce qui différenciait une application d'un service (vu que mon code marchait dans une application) et j'ai alors pensé à "l'affichage". En fait, la propriété responding dépend de l'affichage du processus sur l'écran de l'utilisateur. Le programme sera, selon windows, en cours d'éxécution, si son affichage marche.
La solution est donc de valider l'option : autoriser ce service à interragir avec le bureau, et tous les problèmes s'envolent :P C'était tout con, et j'ai passé une semaine dessus :D