IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[Process] Mot de passe si kill dans gestionnaire des tâches


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 94
    Points
    94
    Par défaut [Process] Mot de passe si kill dans gestionnaire des tâches
    Bonjour,

    Je pense que tout est dans le titre. Je voudrais connaître le moyen de ne pas permettre à l'utilisateur de killer une application en passant par le gestionnaire des tâches de Windows (CTRL + ALT + DEL), sans qu'il n'ait entré de mot de passe.

    Je sais que c'est possible, car Sygate Personnal Firewall le fait.

    J'ai fouillé un peu partout, mais je n'ai rien trouvé...

    Merci pour votre aide!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Points : 286
    Points
    286
    Par défaut
    Avec les APIs du framework c'est impossible.
    Tu vas devoir utiliser les APIs natives.

    Je ne suis pas certain des APIs à utiliser pour réaliser cela, mais je pense que tu peux jeter un oeil du coté des APIs de hooking...


    D'un autre coté, même si tu arrives à remplacer le taskmanager par ta propre application, rien n'empêchera l'utilisateur de trouver un autre moyen de killer un processus. Je pense tout simplement à ProcessXP de SysInternal, une application perso, ou un débugger.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu pourrais toujours passer par des API natives (ou .net si quelqu'un les connait)
    pour cacher de la liste des processus ton application...

    J'ai déja vu cela etre fait en C++.. Via des API Win32, on peut faire en sorte
    que son processus n'apparaissent pas des la liste des processus ou des taches
    (ce qui peut etre pratique et dangereux)...

    Maintenant, pour l'aspect Mot de passe.. je pense qu'une solution pourrait etre
    de passer par la fonction RegisterHotKey de l'Api Win32 (regarde sur
    www.pinvoke.net pour l'import DLL de cette fonction et son usage)...
    et faire que quand ton application trappe le Ctrl-Alt-sup ou bien le Ctrl-Shift-Escape (n'oublie pas ce dernier)... tu affiches une demande
    de mot de passe.. Et si le mot de passe est valide, tu "remets" ton processus
    dans la liste des processes pouvant etre tuer, sinon, tu continues à le cacher.

    En gros, mon idée est que tu caches , des le lancement de ton process
    son existence dans le gestionnaire de tache, et que tu te gères toi meme
    sa ré-apparition en fonction de la saisie d'un mot de passe DANS ton application

    Ca pourrait te convenir ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Points : 286
    Points
    286
    Par défaut
    Pour ce qui est de cacher les processus, je ne pense pas que l'opération soit simple sous noyau NT.
    Je ne me rappelle pas avoir vu de sources qui le faisaient en tout cas...

    EDIT :
    Je viens de chercher et j'ai trouvé un source qui permet de cacher un process même sous noyau NT. Et ProcessXP se laisse avoir aussi (ça fait peur qd mm ).ICI

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    je viens de tomber sur la meme source que toi Nicolas apres une recherche
    en parallele de toi

    C'est effectivement excellent cette DLL meme si on peut facilement imaginer
    l'utilisation "malicieuse" qui pourrait en etre fait ;( !!!

    J'ai integré cela dans un prog C#, en faisant un truc genre :

    private ProcessSecurityClass hide = new ProcessSecurityClass();

    puis

    hide.Process.HideProcess(ref EProc, p[0].Id);

    et ca ma caché mon firefox (dont je passais le pId) de suite dans la liste
    des taches... vraiment enorme c truc.. Mais trop trop trop dangereux
    selon moi...

    Maintenant, on peut se demander pourquoi windows autorise une telle action...(meme de façon complexe, car le code pour y arriver, n'est pas
    si trivial que cela.. (i.e: reference à du code C)

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 94
    Points
    94
    Par défaut
    Merci pour vos propositions, mais je pense qu'il y doit y avoir un autre moyen, de la même façon que Sygate Firewall.

    Lorsqu'on essaie de tuer le process depuis le gestionnaire des tâches, process qui est donc visible, c'est à ce moment là qu'une fenêtre de mot de passe apparait. Si le mot de passe est faux, le process ne se ferme pas. Autrement oui.

    Je ne cherche pas à remplacer le gestionnaire des tâches de Windows, ce qui ne serait pas pratique pour tuer les autres process.

    Je ne sais pas si il faut que je gère ça dans mon EXE ou si il faut que je gère ça d'une autre manière....

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Points : 286
    Points
    286
    Par défaut
    Regarde du coté du hooking alors. Je pense qu'il y a moyen de faire cela.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2005
    Messages : 144
    Points : 94
    Points
    94
    Par défaut
    OK.

    Je ne sais pas trop par ou commencer... De plus je sais que en .NET, à part le hook de clavier-souris, le reste n'est pas possible.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Points : 286
    Points
    286
    Par défaut
    Je ne savais pas qu'il y avait moyen de faire un hook clavier ou souris en .NET
    Enfin sinon quand je parlais de hook c'était avec les APIs natives.

  10. #10
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu ne peux pas faire du "VRAI" hook en .Net... C'est une certitude

    je m'explique...

    Tu peux appeler les methodes de Hook... et faire du hook clavier ou souris
    mais seulement sur ton application et seulement quand elle est active

    (en gros, c pas mieux que les events classiques souris/Clavier du framework)

    Pourquoi ?

    Simple, pour faire du hook, il faut passer une DLL de "hook" au système...
    hors, actuellement, cette DLL ne peut pas etre managé (cela dit, rien
    ne t'empeche de faire une DLL non managé embarquant du code managé ..

    Donc, impossible avec une DLL managé, bref avec une assembly de faire
    du hook pour que toute action clavier, independemment de l'application active, te soit envoyé

    So sorry

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Points : 61
    Points
    61
    Par défaut
    De toute façon, à mon humble avis, les petits malins qui utilisent Process Explorer de sysInternals vont quand même voir ton process :

    http://www.microsoft.com/technet/sys...sExplorer.mspx

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par Nycos62
    De toute façon, à mon humble avis, les petits malins qui utilisent Process Explorer de sysInternals vont quand même voir ton process :

    http://www.microsoft.com/technet/sys...sExplorer.mspx
    Ca dépend la méthode utilisée.
    Si tu regardes ICI, tu verras que l'on peut berner aussi Process Explorer.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Points : 61
    Points
    61
    Par défaut
    je n'arrive pas à comprendre qu'une telle chose est faisable chez crosoft. C'est la porte ouverte aux programmes invisibles mangeurs de ressources machine.

Discussions similaires

  1. UserForm mot de passe avec cryptage dans la base de registre
    Par fred65200 dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/01/2010, 22h56
  2. Mots de passe en clair dans les journaux
    Par Florent-g dans le forum Langage
    Réponses: 1
    Dernier message: 05/10/2009, 14h36
  3. mot de passe de root dans mysql
    Par aba121 dans le forum Débuter
    Réponses: 1
    Dernier message: 19/03/2008, 19h18
  4. Mot de passe en dur dans une page php, risqué?
    Par silver.spike dans le forum Langage
    Réponses: 1
    Dernier message: 19/12/2007, 10h47
  5. [MySQL] Comment modifier l'ancien mot de passe du membres dans la base de donnée ?
    Par oceanne dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/03/2007, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo