Задача бональна но решения у меня нет. Надо скрыть прогу на С++ из диспечера задач винды, Как это можно сделать?
Я бы предложил хук SDT - ZwQuerySystemInformation(ProcessAndThreadsInformation...) хм.. не знаю - подойдёт ли... вобщем ищем в процессах taskmgk.exe и вносим необходимые изменения там.. можно также перехватывать окошко диспетчера задач. В первом случае необходимо залезть в память ядра - т.е. написать дров. Во втором нужен инжект в другой процесс.
А если юзаешь ProcessExplorerNT - то тяжко скрыть. тут тока или через ring0 замодить таблицу процессов или перехватом ядрёных функций.
известная проблема. для windows 9х подошёл бы вот такой код: Code: typedef DWORD (CALLBACK* TRegProc)(DWORD, DWORD); HINSTANCE Kern; TRegProc RegProc; Kern = LoadLibrary("KERNEL32.DLL"); if(Kern) { RegProc = (TRegProc)GetProcAddress(Kern, "RegisterServiceProcess"); if(RegProc) RegProc(GetCurrentProcessId(),1); FreeLibrary(Kern); } А вот под NT уже нет. сам пробовал Тоже искал решение такой проблемы. Нашёл кое-что (надеюсь, что поможет): ссылка на решение проблемы
В принципе есть еще способ - это через hook DLL просто встречал исходник дельфяный одно дллки которая прятала запущенный процесс, но её уже давным давно палят авиры. Хотя переписать можно запросто. Но тоскать с собой dll'ку - ни есть гуд. Я помню когдатьо в своем трояна тоскал вообще драйвер для ring0
Есть серия отличных статей MS-Rem'a на тему "Перехват API функций в Windows NT". Точно не помню, но помойму на wasm'е есть.
баян. самая тема - разорвать записи в списках описателей процессов. такое например реализовано в FU Rootkit (исходники на rootkit.com), единственный минус тут - нужно писать драйвер. хотя можно вообщето и без него, но тогда задача усложняется на порядок.