begin process at 2012 05 28 10:05:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Cacher un process au TaskManager


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Cacher un process au TaskManager

vendredi 30 avril 2004 à 15:45:19 | Cacher un process au TaskManager

garslouche

Salut,
je suis en train de faire une source pour masquer un processus au TaskManager (NT, 2000 ou XP) càd la fenêtre du Ctrl+Alt+Suppr

Le problème c'est que pour une raison que j'ignore ça fait planter le taskmanager dès que j'essaie de lire un item de la listview (en revanche je peux utiliser itemcount, etc...)

Voilà le code actuel:

#include "stdafx.h"
#include "commctrl.h" // Pour les fonctions ListView_...

static char hiddenProcess[32]; // Nom du process à masquer
static const char* progName = "HideProcess.exe"; // Nom du programme (à masquer aussi)

/**
* Recherche le nom du processus dans la ListView et supprime l'item associé
*/
void RetireProcessItem(const HWND hList)
{
int nItem;
static LV_FINDINFO findinfo;
findinfo.flags = LVFI_STRING;

// Supprime l'item de "HideProcess.exe"
findinfo.psz = progName;
nItem = ListView_FindItem(hList, -1, &findinfo);
ListView_DeleteItem(hList, nItem);

// Supprime l'item de du processus à masquer
findinfo.psz = hiddenProcess;
nItem = ListView_FindItem(hList, -1, &findinfo);
ListView_DeleteItem(hList, nItem);
}


/**
* Recherche de la ListView de la fenêtre Ctrl+Alt+Suppr
*/
BOOL CALLBACK OnEnumWindows(
HWND hwnd,
LPARAM lParam
)
{
char caption [16];
char className[16];

// On cherche une fenêtre du même type que la celle de Ctrl+Alt+Suppr
::GetClassName(hwnd, className, sizeof(className));
if (strcmp(className, "#32770") == 0)
{
// On récupère le petit-fils
hwnd = ::GetWindow(hwnd, GW_CHILD);
hwnd = ::GetWindow(hwnd, GW_CHILD);

// On regarde si c'est bien l'objet (ListView) qu'on cherche
::GetWindowText(hwnd, caption, sizeof(className));
::GetClassName (hwnd, className, sizeof(className));

if ( strcmp(className, "SysListView32") == 0 && strcmp(caption, "Processus") == 0 )
{
// On a trouvé la listview
RetireProcessItem(hwnd);

// La recherche est terminée
return FALSE;
}
}

// On poursuit la recherche
return TRUE;
}


/**
* Fonction appelée à intervalle régulier qui lance la recherche de la ListView
*/
VOID CALLBACK OnTimer(
HWND hwnd, // handle to window for timer messages
UINT message, // WM_TIMER message
UINT idTimer, // timer identifier
DWORD dwTime) // current system time
{
// On lance la recherche
::EnumWindows(OnEnumWindows, 0);
};


/**
* Point d'entrée
*/
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;

// L'argument est copié dans la variable statique hiddenProcess
strcpy(hiddenProcess, lpCmdLine);

// On cherche la liste des processus toutes les 100 ms
::SetTimer(0, 1, 100, OnTimer);

while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

// Arrête le timer
::KillTimer(0, 1);

return msg.wParam;
}



Le pb se situe dans RetireProcessItem au niveau de ListView_FindItem. Mais je le répète toutes les fonctions accédant au texte des items font planter le taskmanager.

Quelqu'un sait-il pourquoi ? Ou comment empecher ce plantage ?

Merci

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
lundi 16 mai 2005 à 22:28:23 | Re : Cacher un process au TaskManager

daetips

C normal que t'es pas acces a la mémoire de l'autre processus.
avec ce cde, fait une dll et injecte la dans le taskmanager.
la tu aura acces a la mémoire de taskmanager, tu pourra alord supprimer l'item

Daetips


Cette discussion est classée dans : recherche, listview, hwnd, classname, findinfo


Répondre à ce message

Sujets en rapport avec ce message

prob listview [ par flatou ] salutj'ai un nouveau projet en tete, et je dois utiliser une ListView. Des le début ca commence, voici mon code :#include #include <comm ListView [ par deck_bsd ] Bonjour a tous, Voila je tente de créer une listview mais celle-ci ne s'affiche pas la fonction createwindow me renvoie tjrs un HWND NULL. Voici mon a listview finditem [ par cgmorpheus ] Bonjours tout le monde,Pour commencer je tien a dire que je suis débutant en API,alors excuser moi si je n'emploie pas les terme exact dans mon explic Recherche de books [ par MasterShadows ] Salut à tous,j'ai profité de ces vacances pour faire un tour d'horizons de mes connaissances acquises en c++ (hors MFC), et j'ai réalisé la constatati Inserer les images dans l'executable [ par juju0169 ] Bonjour à tous!!!Je voudrais savoir si quelqu'un pourrait l'aider à adapter cette fonction (qui marche) pour ne plus specifie l'adresse de mes images Recherche une traduction [ par speeddo ] Bonjour,je cherche, une fois n'est pas coutume, l'équivalent C++ Builder de cette ligne de code VB:For   j = LBound(Array1)  To  HBound(Array1)Me recherche mastermind en C++ [ par quarrato ] bonjour, je recherche un programme d'urgence pour un projet de prog. il s'agit du mastermind en C++.merci. créer une listview dynamiquement avec plusieurs colonnes [ par romydamour ] salut à tous,voilà, si je vous montre ce petit bou Application [ par Arnauti ] Bonjour, je suis nul et j'ai presque jamais fait de C/C++. Enfin, si quelque truc sous dos. Mais j'aimerais créé une aplication mais pas sous dos. Al Changer le WNDPROC [ par CyberP ] En fait je voudrais obtenir le pointeur WNDPROC (vous savez le callback) d'un HWND et le redéfinir J'ai essayé de chercher sur le msdn mais impossible


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales