CACHER LE NOM D'UNE APPLICATION DE LA LISTE DES PROCESSUS DANS LE GESTIONNAIRES
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 2010
-
29 mars 2006 à 10:43
pierre_54
Messages postés3Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention20 juin 2010
-
9 juin 2010 à 11:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
pierre_54
Messages postés3Date d'inscriptionmercredi 8 mars 2006StatutMembreDernière intervention20 juin 2010 9 juin 2010 à 11:38
d'accord avec devnull, du "vrai bourrinage mais bien fait". on peut remplacer :
if Pos('monprog', LowerCase(szTemp)) > 0
par
if Pos(lowercase(ChangeFileExt(ExtractFileName (Application.ExeName),'')), LowerCase(szTemp)) > 0
mais c'est un detail et un peu hors sujet.
PS : ca me fait toujours rigoler les commentaires du style de FORMAN du 14/1/9, 19:29:37 : MORALE QUAND TU NOUS TIENS :)
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 14 janv. 2009 à 20:26
Pour une fois ça parait une raison valable :-)
Mais c'est vrai qu'il existe d'autres programmes que le TaskManager pour voir et agir sur les processus (par exemple j'en ai mis un en mode texte dans mes sources sur Delphifr). Dans ce cas l'injection de DLL dans explorer.exe parait un bon compromis (peu de personnes pensent à aller regarder la liste des modules résidents dans un processus!).
Bonne soirée à toi aussi.
fiba
Messages postés11Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention14 janvier 2009 14 janv. 2009 à 20:06
Bonjour tout le monde,
Loin de moi l'idée d'inciter quelqu'un à utiliser cette source pour écrire un virus ou quelque chose du genre. Je l'ai utilisé sur un programme de contrôle de navigation sur des postes client sans avoir la permission d'un administrateur (qui lui est sur le serveur). Le client (mon client) avait demandé à ce que le programme local sur le client ne soit pas visible sur le poste du client. J'ai lu pas mal de question du genre "comment cacher une application de la liste des processus" alors je l'ai posté.
Bonne soirée à tous.
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 14 janv. 2009 à 19:29
Enfin dans tous les cas je voudrais bien que quelqu'un me donne une raison valable (autre que celle d'écrire un virus ou toute autre forme de pourriture) pour vouloir cacher son programme du TaskManager...
/dev/null
Messages postés12Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention14 janvier 2008 14 janv. 2009 à 18:52
Autant pour moi ^^
Par contre, si c'est une application complète qui est a cacher, la programmation dans un DLL n'est pas forcement le mieux.
Et puis cela n'empêche pas que "l'application" devienne un parasite dans le system.
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 13 janv. 2009 à 15:17
Salut /dev/null ;-)
L'intérêt de CreateRemoteThread c'est surtout que la DLL injectée peut lancer un thread et faire tout ce que fait un exe, tout en n'étant pas répertoriée comme un exe. Seul le launcher est visible quelques millisecondes, le temps qu'il injecte la bestiole quelque part. Inutile alors de changer la table d'import de taskmanager!
fiba
Messages postés11Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention14 janvier 2009 13 janv. 2009 à 09:58
Bonjour,
Desolé pour la réponse tardive, et merci à DevNull.
/dev/null
Messages postés12Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention14 janvier 2008 13 janv. 2009 à 09:56
La méthode via CreateRemoteThread demande:
1. De trouver l'adresse des fonction API employées par le gestionnaire des taches pour la lecture des processus
2. Faire une fonction de substitution pour les API en (1)
3. Faire un Hooker system (crochetage par excrasement des premiere instruction de la fonction) ou un Hooker TableImport redirection (changemant de l'adresse de la fonction API dans la table des DllImport)
C'est ce qu'il y'a de "mieux" mais c'est un poils technique et pas si évident que ça. De plus, les systèmes un peut sécurisés risquent de détecter la manipulation et de virer le prog... car c'est des techniques de RootKit ;)
/dev/null
Messages postés12Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention14 janvier 2008 13 janv. 2009 à 09:48
@BIMAS:
dans le fichier Unit1.pas
58 # if Pos('monprog', LowerCase(szTemp)) > 0 then
59 # ListView_DeleteItem(wnd, i);
change 'monprog' en 'EXCEL', ou plus exactement le nom du processus a cacher.
bimas
Messages postés5Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 9 avril 2009 12 janv. 2009 à 11:06
bonjour,
j'ai une application qui tourne sous excel et je voudrai que le processus n'apparaisse pas dans la liste du gestionnaire des taches. Je veux donc l'effacer de la liste du gestionnaire des taches.
avec le programme ci-dessus zipper dans la procedure 'cacher' je ne vois pas où mentionner l'application EXCEL.EXE.
merci
DevNul
Messages postés9Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention21 mars 2008 27 nov. 2007 à 03:52
Simpa... c'est du vrai bourinage, mais c'est quand même bien fait ^^
donII
Messages postés1Date d'inscriptionlundi 5 novembre 2007StatutMembreDernière intervention 5 novembre 2007 5 nov. 2007 à 18:53
comment utilusé les fichies ds zip
fiba
Messages postés11Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention14 janvier 2009 30 mars 2006 à 09:23
Salut à toi Forman,
Je ne connaissais pas l'existence de cette fonction CreateRemoteThread, ca me parrait cool, je vais essayer de bosser là- dessus.Merci à toi. En tout cas, toute idée sera la bienvenu, je eu du mal a chercher comment cacher un programme dans la liste des processus de windows, et comme je l'avait dit, c'est ce que j'ai trouvé de mieux. Merci encore
cs_Forman
Messages postés600Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 6 avril 20101 29 mars 2006 à 10:43
Pourquoi ne pas simplement faire une dll, et en injecter le code via CreateRemoteThread? L'exe ne serait visible qu'une milliseconde pendant qu'il injecte la dll, puis disparait du gestionnaire de programmes, alors que la dll injectée dans Explorer.exe par exemple continue de tourner sans être visible...
9 juin 2010 à 11:38
if Pos('monprog', LowerCase(szTemp)) > 0
par
if Pos(lowercase(ChangeFileExt(ExtractFileName (Application.ExeName),'')), LowerCase(szTemp)) > 0
mais c'est un detail et un peu hors sujet.
PS : ca me fait toujours rigoler les commentaires du style de FORMAN du 14/1/9, 19:29:37 : MORALE QUAND TU NOUS TIENS :)
14 janv. 2009 à 20:26
Mais c'est vrai qu'il existe d'autres programmes que le TaskManager pour voir et agir sur les processus (par exemple j'en ai mis un en mode texte dans mes sources sur Delphifr). Dans ce cas l'injection de DLL dans explorer.exe parait un bon compromis (peu de personnes pensent à aller regarder la liste des modules résidents dans un processus!).
Bonne soirée à toi aussi.
14 janv. 2009 à 20:06
Loin de moi l'idée d'inciter quelqu'un à utiliser cette source pour écrire un virus ou quelque chose du genre. Je l'ai utilisé sur un programme de contrôle de navigation sur des postes client sans avoir la permission d'un administrateur (qui lui est sur le serveur). Le client (mon client) avait demandé à ce que le programme local sur le client ne soit pas visible sur le poste du client. J'ai lu pas mal de question du genre "comment cacher une application de la liste des processus" alors je l'ai posté.
Bonne soirée à tous.
14 janv. 2009 à 19:29
14 janv. 2009 à 18:52
Par contre, si c'est une application complète qui est a cacher, la programmation dans un DLL n'est pas forcement le mieux.
Et puis cela n'empêche pas que "l'application" devienne un parasite dans le system.
13 janv. 2009 à 15:17
L'intérêt de CreateRemoteThread c'est surtout que la DLL injectée peut lancer un thread et faire tout ce que fait un exe, tout en n'étant pas répertoriée comme un exe. Seul le launcher est visible quelques millisecondes, le temps qu'il injecte la bestiole quelque part. Inutile alors de changer la table d'import de taskmanager!
13 janv. 2009 à 09:58
Desolé pour la réponse tardive, et merci à DevNull.
13 janv. 2009 à 09:56
1. De trouver l'adresse des fonction API employées par le gestionnaire des taches pour la lecture des processus
2. Faire une fonction de substitution pour les API en (1)
3. Faire un Hooker system (crochetage par excrasement des premiere instruction de la fonction) ou un Hooker TableImport redirection (changemant de l'adresse de la fonction API dans la table des DllImport)
C'est ce qu'il y'a de "mieux" mais c'est un poils technique et pas si évident que ça. De plus, les systèmes un peut sécurisés risquent de détecter la manipulation et de virer le prog... car c'est des techniques de RootKit ;)
13 janv. 2009 à 09:48
dans le fichier Unit1.pas
58 # if Pos('monprog', LowerCase(szTemp)) > 0 then
59 # ListView_DeleteItem(wnd, i);
change 'monprog' en 'EXCEL', ou plus exactement le nom du processus a cacher.
12 janv. 2009 à 11:06
j'ai une application qui tourne sous excel et je voudrai que le processus n'apparaisse pas dans la liste du gestionnaire des taches. Je veux donc l'effacer de la liste du gestionnaire des taches.
avec le programme ci-dessus zipper dans la procedure 'cacher' je ne vois pas où mentionner l'application EXCEL.EXE.
merci
27 nov. 2007 à 03:52
5 nov. 2007 à 18:53
30 mars 2006 à 09:23
Je ne connaissais pas l'existence de cette fonction CreateRemoteThread, ca me parrait cool, je vais essayer de bosser là- dessus.Merci à toi. En tout cas, toute idée sera la bienvenu, je eu du mal a chercher comment cacher un programme dans la liste des processus de windows, et comme je l'avait dit, c'est ce que j'ai trouvé de mieux. Merci encore
29 mars 2006 à 10:43
^^