Я бы предложил хук SDT - ZwQuerySystemInformation(ProcessAndThreadsInformat ion...)
хм.. не знаю - подойдёт ли... вобщем ищем в процессах taskmgk.exe и вносим необходимые изменения там.. можно также перехватывать окошко диспетчера задач.
В первом случае необходимо залезть в память ядра - т.е. написать дров. Во втором нужен инжект в другой процесс.
В принципе есть еще способ - это через hook DLL просто встречал исходник дельфяный одно дллки которая прятала запущенный процесс, но её уже давным давно палят авиры. Хотя переписать можно запросто. Но тоскать с собой dll'ку - ни есть гуд.
Я помню когдатьо в своем трояна тоскал вообще драйвер для ring0
баян. самая тема - разорвать записи в списках описателей процессов. такое например реализовано в FU Rootkit (исходники на rootkit.com), единственный минус тут - нужно писать драйвер. хотя можно вообщето и без него, но тогда задача усложняется на порядок.