Всем привет! Подскажите, как можно получить список потоков у процесса Avp.exe ? Я сейчас использовал следующий механизм: 1) определил структуру SYSTEM_PROCESS_INFORMATION, в которой последним элементом добавил SYSTEM_THREAD_INFORMATION ThreadInfos[1]; 2) вызываю NtQuerySystemInformation(SystemProcessInformation,.... ) 3) перебираю все процессы в каждом получаем процессе мне видны потоки и я могу получать данные по ним, а для avp.exe мне всегда возвращается количество потоков равным нулю! Как достучаться до списка потоков в Касперском?
Попробуй реализовать NtQuerySystemInformation в нулем кольце. К стати примером может послужить что мелгомягие открыли ядро, ссылки нету, но гугл не спит и не ест, ждет работы ))) П.С. Чето меня от кофя прет ))
Тут дело конкретно не в Касперском. Любая программа должна правильно обрабатывать случаи, когда для открытия процесса/получения по нему инфы недостаточно прав. Даже работая под админом такое может случиться, если запущен UAC. Посему рекомендую не заниматься ерундой и поисками каких-то там сплоетов, а писать нормальный софт. ЗЫ. Если же цель проги именно avp.exe, то автору прямая дорога в ядро.
КАЛ перехватывает многие функции в режиме ядра через свой драйвер, следовательно пиши свой драйвер который найдёт и вызовет оригинальную функцию NtQuerySystemInformation. Из ринг3 сейчас к дрову последнего кала подлезть нереально.
ralex75 Забудьте про юзермод. В ядре никаких проблем с манипуляцией обьектами нет. Темболее что протов драйвера примитивны и грубо следят за поведением пользовательских потоков.