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

Langage Delphi Discussion :

Protéger l'application contre un TerminateProcess ou TaskMgr ?!


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut Protéger l'application contre un TerminateProcess ou TaskMgr ?!
    Bonjour,
    J'ai cherché sur le net un code ou une idée (j'ai pensé aux messages Windows) pour empêcher que mon application ne soir arrêté par le gestionnaire des tâches (qui je pense envoie un message).

    Donc auriez vous une idée sur cette opération, sur comment pourrais l'en empêcher.
    Exemple concrèt : Les suites Anti-Virus Kaspersky ne peuvent jamais être terminés par le gestionnaire des tâches.
    (est-ce des services windows, ça aurait peut-être un rapport).

    Une idée peut-être ??

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Salut

    L'idée si je ne me trompe s'est d'intercepté l'appel à TerminateProcess.
    Regardes du coter des hooks d'apis.
    Tu peux déjà regarder comment fonctionne l'IAT(Import Address Table) etc ...
    Il faut normalement remplacer l'adresse de TerminateProcess dans cette fameuse table pour qu'elle pointe sur ta propre fonction.

    C'est très délicat à coder et je ne pourrai pas te dire comment faire.

    Voici un lien qui t'aidera à mieux comprendre.

    http://www.codeproject.com/KB/system/hooksys.aspx

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut .
    Salut,
    merci pr la réponse, mais en fait je n'ai aucune sur comment m'y prendre, je vais me documenter sur les messages windows pour savoir si peut itércepter un appel, mais le problème est que "comment" le gestionnaire des tâches de windows (ou les autres tel que ProcessExplorer) font pour tuer un processus, si c'est avec un message windows (un appel à une api) alors je pourrais normalement l'intercepter.

    Ou dis-je une connerie ?!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Points : 57
    Points
    57
    Par défaut
    Je t'ai déjà tout dit.
    Il faut faire un hook sur la fonction TerminateProcess. Le document que je te donne explique tout sur le fonctionnement d'un hook.

    Mais à proprement parler il n'y a pas de fonction toute prête du genre
    StopApi(TerminateProcess).

    Ca serait du pain béni pour les virus

    Va falloir que tu te plonges dans le document. Il explique plusieurs méthodes pour faire un hook.
    Sinon il existe des composants delphi pour faire des hooks dans ce genre. La plupart son payant. Je t'en ai trouvé un gratuit.

    http://www.kbasm.com/codehook.html

    Sinon quel est l'utilité de passer par ce genre de chose ? Si tu nous expliquais ce que tu veux il y aurait peut être d'autre solution que celle ci. Je suis pas sur que les antivirus vont être content de voir une application qui interdit son arrêt. Tu risques d'avoir des alertes dans tous les sens.

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Un hook sert à intercepter un message Windows. TerminateProcess ne passe pas par message.

    Dans le cas du gestionnaire de tâches, le hook pourrait intercepter le WM_CLOSE si l'application est arrêtée depuis l'onglet Applications mais absolument pas si depuis l'onglet Processus. Sinon il serait tout simplement impossible de killer une application en dead-lock .

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Ukraine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 162
    Points : 163
    Points
    163
    Par défaut
    salut à tous,
    j'ai trouvé un code très intéréssant ici : http://blog.delphi-jedi.net/2008/11/...ss-to-process/
    ça me satisfait amplement !! (si j'arrive à l'implémenter)

  7. #7
    En attente de confirmation mail
    Inscrit en
    Décembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 13
    Points : 17
    Points
    17
    Par défaut
    Pour empêcher l'utilisation de gestionnaire des tache ...la solution la plus simple est de changer le nom de ton exe par un nom des processus de system smss.exe, lsass.exe...ou simplement en désactivant le gestionnaire lui meme tu peux voir du coté Policies...avant on utilise registerserviceprocess....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Protéger mes applications contre la copie
    Par alexabcinformatique dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 13/12/2011, 21h45
  2. Réponses: 8
    Dernier message: 21/05/2007, 21h40
  3. Réponses: 17
    Dernier message: 31/10/2005, 15h59
  4. Protéger une disquette contre la copie
    Par benzaza dans le forum Assembleur
    Réponses: 20
    Dernier message: 16/01/2005, 10h42

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