OVH Cloud OVH Cloud

masquer un processus

13 réponses
Avatar
the viper
Bonjour

J'utilise Visual studio net 2003.

Je souhaite masquer un processus afin qu'il n'apparaisse plus dans le
gestionnaire des tâches, ou alors mettre ce processus en tant que processus
Systeme pour éviter de l'arrêter.

Merci

3 réponses

1 2
Avatar
the viper
C'est dans le cadre d'un projet pour mon bts, j'ai créé une appli
paramétrable permettant de bloquer des processus et pour éviter que l'on
supprime le processus de l'appli, j'aurais voulu masquer le processus.
Mais je vais m'y prendre autrement, en créant un service qui surveille si
mon appli est toujours lancé, dans le cas contraire, le service relancera
l'appli.

"Tsunoo Rhilty" a écrit :


> Par curiosité..
> c'est pour quoi faire ?
> les seules applications qui me viennent a l'idée pour ce genre de
> requettes concernent les backdoors spyware et autres virus...

Et les fameux rootkits

http://www.asmfr.com/codes/HIDEVCD-OU-ANTI-BLAXX-LIKE_35005.aspx





Avatar
Mehdi
On Mon, 20 Mar 2006 07:07:00 -0800, the viper wrote:

C'est dans le cadre d'un projet pour mon bts, j'ai créé une appli
paramétrable permettant de bloquer des processus et pour éviter que l'on
supprime le processus de l'appli, j'aurais voulu masquer le processus.
Mais je vais m'y prendre autrement, en créant un service qui surveille si
mon appli est toujours lancé, dans le cas contraire, le service relancera
l'appli.



Mmm, oui mais fait gaffe, faire un service Windows qui lance une appli
utilisateur (comprendre, une appli ayant une interface utilisateur et
sensée etre lancée et utilisée par un utilisateur humain), est sans doute
possible mais compliqué et implique de jouer avec les desktops, Window
Stations et autres joyeusetés formant le coeur de la gestion
multi-utilisateur de Windows et pour les lesquelles le .NET Framework
n'offre a ma connaissance aucun support (c'est donc interop et compagnie
pour acceder a tout ca).

Comme je l'ai dit dans mon précedent poste, un service Windows tourne sous
un compte utilisateur spécifique et completement indépendant du compte
utilisateur de l'utilisateur humain. Un service Windows peut continuer a
tourner meme si personne n'est loggé sur la machine. Plusieurs uilisateurs
humains (en fait, techniquement appelés "Interactive Users" dans la doc de
Windows) peuvent etre loggés et utiliser une meme machine simultanément
mais il n'existera a tout moment qu'une seule instance de ton service
Windows (indépendante donc des "Interactive Users" loggés). Si tu tentes de
lancer une appli utilisateur directement depuis un service Windows, au
"mieux", l'appli va apparaitre a l'écran mais tournera sous le compte du
service Windows et non sous le compte de l'utilisateur ce qui ouvrira un
bon gros trou de sécurité (et permettra potentiellement a l'utilisateur de
tuer ton service et donc rendra le tout completement inutile), au pire,
l'appli n'apparaitra nulle part (car elle se trouvera en fait dans la
Window Station de ton service et donc invisible a l'utilisateur).

Enfin bon, tout ca pour dire que cette solution du service qui monitore et
relance une appli utilisateur si necessaire n'est sans doute pas la
solution idéale et il serait peut etre judicieux de voir si il est vraiment
nécessaire de faire ca et si ce que tu veux faire est effectivement
possible dans la période de temps qui t'est donnée avant de perdre du temps
la dessus. Peut etre qu'une autre appli utilisateur au lieu d'un service
pour monitorer ta premiere appli serait plus simple a implémenter. Et peut
etre une 3eme appli utilisateur pour monitorer l'appli qui monitore ton
appli... :-)
Avatar
Patrick Philippot
Mehdi wrote:
Mmm, oui mais fait gaffe, faire un service Windows qui lance une appli
utilisateur (comprendre, une appli ayant une interface utilisateur et
sensée etre lancée et utilisée par un utilisateur humain), est sans
doute possible mais compliqué et implique de jouer avec les desktops,



Exact. Il suffit que le FUS (Fast User Switching) soit actif pour que le
lancement d'un processus dans la session de l'utilisateur courant ne se
fasse pas de manière très simple. C'est possible mais cela demande un
peu de doigté.

S'il s'agit de protéger une application et si on ne tourne pas sous
Win9x, je suivrais plutôt une autre piste: il n'y a qu'à lancer le
processus avec un SECURITY DESCRIPTOR adéquat ce qui empêchera les
personnes non autorisées de l'arrêter. Cela vaut aussi pour un service.
A mon avis, ça sera moins compliqué à faire que de lancer un moiniteur.
Cela demande juste de se familiariser avec les APIs sécurité mais de
toute façon, il faudra le faire un jour ou l'autre :-) .

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
1 2