Processus windows qui tourne toutes les minutes
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Processus windows qui tourne toutes les minutes



  1. #1
    invite06ba05c1

    Processus windows qui tourne toutes les minutes


    ------

    Bonjour,

    Un ami a écrit un programme qui, au lancement, attache une dll à un processus windows.

    Le principe : toutes les minutes, la dll vérifie la présence d'un fichier.
    Ceci est réalisé uniquement par la dll.

    Je ne comprend pas quel processus windows permet de faire ceci ni comment.

    Le processus se lance automatiquement toutes les minutes? au lancement il réattache la dll? A chaque fois, la dll vérifie la présence?

    Quel est ce processus?

    Help!!

    Merci d'avance,

    -----

  2. #2
    clempar55

    Re : Processus windows qui tourne toutes les minutes

    Ça fait longtemps que je n'ai pas fait de prog "système" mais il y a une multitude de façons de faire ce que tu décris. Au hasard:
    -un processus déclaré en temps que "service" windows, qui tourne en tache de fond (même lorsque tu n'es pas connecté)
    -un processus qui se lance au démarrage du système et qui vérifie le fichier à intervalle réguliers
    -plus vicieux: un programme qui se lance au démarage, qui injecte une DLL perso dans un ou plusieurs processus en cours et qui s'arrête ensuite. La DLL exécute alors son code et ne peut se décharger que lorsqu'on tue le(s) processus. (Marche très bien sous XP, sous vista je n'ai jamais essayé)
    -encore pire: une entrée dans la base de registre qui oblige (presque) chaque programme à lancer une DLL perso en même temps qu'il démarre, même principe qu'avant mais sans programme au démarrage.

    Je ne vois pas précisément quel est ton problème, si tu pouvais détailler un peu ??? Si tu cherche à détecter une DLL injectée dans un processus, le programme "Process explorer" (à télécharger chez microsoft) peut t'aider (à condition que le programme de ton ami ne soit pas un rootkit). C'est une sorte de gestionnaire des taches surpuissant qui donne des tas d'infos sur chaque processus, mais il est plutôt complexe.

    @+

  3. #3
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Voilà quelques informations supplémentaires :

    Je sais que l'inscription de la dll est faite par un de ses programmes lors de l'exécution, cependant il n'a pas besoin de lancer le programme à chaque démarrage pour enregistrer sa dll à chaque démarrage.
    -un processus déclaré en temps que "service" windows, qui tourne en tache de fond (même lorsque tu n'es pas connecté) --> j'ai vérifié, il n'y as pas de nouveau service windows.
    -un processus qui se lance au démarrage du système et qui vérifie le fichier à intervalle réguliers --> pas d'autres processus, juste une dll
    -plus vicieux: un programme qui se lance au démarage, qui injecte une DLL perso dans un ou plusieurs processus en cours et qui s'arrête ensuite. La DLL exécute alors son code et ne peut se décharger que lorsqu'on tue le(s) processus. (Marche très bien sous XP, sous vista je n'ai jamais essayé)
    --> Je suis sous xp effectivement. la dll s'accorche bien à un processus windows mais je parviens pas à l'identifier. je n'ai pas non plus le nom de la dll. Il m'a dit que ce n'était pas sa dll qui gérait le délai d'une seconde mais le processus auquel il s'attache.
    -encore pire: une entrée dans la base de registre qui oblige (presque) chaque programme à lancer une DLL perso en même temps qu'il démarre, même principe qu'avant mais sans programme au démarrage. --> Ce n'est pas sur chaque programme. La vérification du fichier n'a lieu que si la machine est déverrouillée. et elle est active dès le lancement du pc même si on ne lance pas d'autre programme.

    Je ne vois pas précisément quel est ton problème, si tu pouvais détailler un peu ??? Si tu cherche à détecter une DLL injectée dans un processus, le programme "Process explorer" (à télécharger chez microsoft) peut t'aider (à condition que le programme de ton ami ne soit pas un rootkit). C'est une sorte de gestionnaire des taches surpuissant qui donne des tas d'infos sur chaque processus, mais il est plutôt complexe.
    Dernière modification par yoda1234 ; 17/03/2010 à 04h24.

  4. #4
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    J'oubliais,

    J'ai également Process Explorer, mais je ne vois pas comment trouver la dll ou le processus auquel elle s'attache

  5. A voir en vidéo sur Futura
  6. #5
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Bon après un peu plus de recherche, je me suis rendu compte que le processus explorer.exe avait un thread qui toutes les une minute vérifiait ce fichier (merci process monitor). Cependant je ne parviens pas à identifier d'où vient ce thread. (quelle dll)

    Autre information : il semblerait que ce soit le thread qui fixe le délai de 60s.

  7. #6
    clempar55

    Re : Processus windows qui tourne toutes les minutes

    Citation Envoyé par astradream Voir le message
    Bon après un peu plus de recherche, je me suis rendu compte que le processus explorer.exe avait un thread qui toutes les une minute vérifiait ce fichier (merci process monitor). Cependant je ne parviens pas à identifier d'où vient ce thread. (quelle dll)

    Autre information : il semblerait que ce soit le thread qui fixe le délai de 60s.
    Je ne connaissais pas process monitor mais il semble qu'il soit fait par le même auteur que process explorer (avant que sa boite ne se fasse racheter par microsoft si je ne raconte pas trop de bêtises).

    Pour voir les différents threads d'un processus, dans process explorer je fais un clic droit-> propriétés sur le processus cherché et je vais dans l'onglet "Threads". La liste des threads s'affiche chez moi sous la forme "ThreadID / %CPU/ delta/Start adress". La "start adress" est de la forme NomDeLaDLL!NomDeLaFonction, donc je pense que tu devrais trouver ta DLL si tu as une idée de son nom. Tu peux éventuellement essayer (attention enregistre tes travaux en cours avant) de "tuer" (kill) ou de suspendre un thread particulier avec les boutons idoines.

    Sinon pour voir toutes les DLL chargés dans un processus, tu peux sélectionner ton processus puis cliquer sur l'icône qui ressemble à une dll dans la barre d'outils. Tu peux les trier par "Company name", si c'est une dll perso que tu cherche ce champ devrait être vide. Si tu as trouvé ta DLL et que tu veux savoir où elle se situe tu peux voir ses propriétés par un clic droit.

    Edit: en fait tu veux faire quoi concrètement? tu veux localiser la DLL ? comprendre comment elle marche ? l'empêcher de vérifier ce "fichier" ? ( d'ailleurs ca fait quoi si le fichier n'est pas là/n'est pas le bon ?)

  8. #7
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Effectivement il est du même auteur.

    J'ai effectivement récupéré le TID dans process monitor puis vérifier dans process explorer a qui il appartenait (j'ai donc trouvé qu'il appartenait au processus explorer.exe) Pour la start adress, il me semble de souvenir que c'était kernell32.dll!createThread (j'aurais la confirmation demain) cependant c'est là que je ne comprend pas. Il m'a dit qu'il avait pas utilisé le nom d'une dll existante. Je suis pourtant sur du TID. J'ai pu susprendre et killer le thread sans problème et cela confirme bien que c'était bien ce thread qui vérifiait le processus.
    Je comprend cependant pas dans quelle dll est écrit son thread.

    J'ai également regarder les dll utilisées par explorer.exe mais sans trouver de nom frappant. il m'a dit qu'il avait injecté sa dll en ring 3 (C'est quoi?) (c'est soit disant pour cela que je ne parviens pas à la trouver)

    Autre chose il a signé sa dll et indiqué des versions et company name :/

    Mon but est de comprendre comment il a pu réaliser ça et localiser la dll. Je sais comment empêcher la recherche du fichier, il me suffit de killer le thread qui vérifie la présence du fichier.

    Le but de son programme est de vérifier la présence du fichier pour mettre à jour un des autres programmes qu'il a développé. Le principe est relativement compliqué, j'aurais codé ça différemment (exemple au démarrage du programme, on vérifie la présence du fichier pour la mise à jour) mais ça méthode m'intrigue. Je suis curieux de savoir comment il a pu mettre en place sa dll, de pourquoi je ne peux la trouver.

  9. #8
    clempar55

    Re : Processus windows qui tourne toutes les minutes

    Si tu connais le registre regarde dans la clé
    HKLM\Software\Microsoft\Window s NT\CurrentVersion\Windows AppInit_DLLs si il n'y a pas une DLL inhabituelle. Cette clé dit à chaque programme de charger ces DLL en mémoire avant de démarer. Ca peut être le moyen utilisé par ton ami pour charger sa DLL.

    Je ne connais pas le ring 3 . Quand je retournerai sur windows (là c'est ubuntu ) j'essayerai un truc avec process explorer mais je ne garrantis rien. Sinon en appuyant une 2eme fois sur le bouton "show DLLs" (qui a du se transformer en "show handles" ) tu peux voir la liste des objets utilisés par le processus, ce qui peut t'aider si tu retrouve par exemple le chemin du fichier testé, ou un truc comme ca.

  10. #9
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Je regarderais le registre demain matin

    Pour l'emplacement du fichier. Je le connais déjà. C'est vraiment juste pour connaitre son fonctionnement.

  11. #10
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Alors après vérification, il n'y a rien dans appInit_Dlls

    Cependant j'ai obtenu quelques informations complémentaires,

    Il charge sa Dll en mémoire en allouant de la mémoire puis il lance un createRemoteThread.

    Je ne sais pas si cela peut aider, mais je vois de moins en moins comment la trouver.

  12. #11
    clempar55

    Re : Processus windows qui tourne toutes les minutes

    Citation Envoyé par astradream Voir le message
    Alors après vérification, il n'y a rien dans appInit_Dlls

    Cependant j'ai obtenu quelques informations complémentaires,

    Il charge sa Dll en mémoire en allouant de la mémoire puis il lance un createRemoteThread.

    Je ne sais pas si cela peut aider, mais je vois de moins en moins comment la trouver.
    Si elle se lance ainsi c'est qu'il y a surement un programme qui doit se lancer à chaque démarrage pour lancer le CreateRemoteThread.
    Il faudrait donc trouver ce programme. Pour savoir si c'est bien le cas, essaye de tuer explorer.exe (le bureau va disparaitre) puis de le relancer (par le gestionnaire des taches ou process explorer). Si le thread suspect n'est plus là c'est que c'est un programme externe qui le lance. Sinon c'est lancé par un mécanisme "automatique" plus sophistiqué, auquel cas ça dépasse mes connaissances.

    Pour la liste des programmes au démarrage il doit exister des programmes qui l'affiche, sinon il faut aller fouiller dans le registre.

  13. #12
    invite06ba05c1

    Re : Processus windows qui tourne toutes les minutes

    Bonjour,

    J'avais effectivement tentée cette méthode. le kill de l'explorer ne relance pas le thread, il doit donc être lancé à partir d'ailleurs.

    Existe-t-il un programme pour historiser le lancement des processus et des threads, cela permettrait de trouver suite à quel lancement de processus, le thread est lancé.

  14. #13
    clempar55

    Re : Processus windows qui tourne toutes les minutes

    Je ne connais pas de logiciel qui fasse ca, mais tu peux tenter ( si tu as plusieurs comptes sur ton ordi) de lancer Process Monitor sur une session (avec les droits admin si possible) et d'ouvrir une autre session, ainsi le processus lancé devrait apparaitre dans Process Monitor dans l'autre session. Par contre la quantité de données à analyser va etre énorme, surtout après une ouverture de session.

    EDIT: Je viens de trouver ca, toujours pas le même auteur que process explorer. Ca a l'air de correspondre à tes besoins
    Dernière modification par clempar55 ; 18/03/2010 à 19h51.

Discussions similaires

  1. Toutes les ondes qui nous entourent...
    Par invite9e800325 dans le forum Discussions scientifiques
    Réponses: 5
    Dernier message: 15/11/2008, 13h47
  2. [Blanc] lave linge whirlpool awa 903 qui tourne... tourne... tourne
    Par invite67c328de dans le forum Dépannage
    Réponses: 5
    Dernier message: 12/02/2007, 20h44
  3. Cherche un ventilateur qui tourne dans les 2 sens
    Par invite38db3aed dans le forum Électronique
    Réponses: 23
    Dernier message: 16/05/2003, 18h30
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...