Witam ! Jak można zliczyć działające w systemie procesy lub jak można wyszukać czy jakis proces działa, nawet taki którego nie widać w menadżerze?
W celu pobrania informacji o działających procesach w systemie menadżer zadań standardowo korzysta z usługi NtQuerySystemInformation. Skoro chcesz wylistować również niewidoczne (ukryte) procesy i masz prawa administratora (bo zakładam, że masz), to możesz skorzystac z usługi NtOpenProcess wywołując ją w pętli i przekazując do niej kolejne poprawne wartości PID (for(i=0; i<0x41DC; i+=4)). Jeśli usługa zwróci poprawny uchwyt to można założyć, że proces o danym PID'zie jest uruchomiony i ma się dobrze. W celu uzyskania dodatkowych informacji o procesie można użyć kombinacji usług NtQueryInformationProcess i NtReadVirtualMemory (odczytanie informacji z bloków PEB/TEB).
Więcej wskazówek pod tym adresem: hxxp://j00ru.vexillium.org/?p=194&lang=pl
lord_zero