Как можно получить список сервисов работая в кернеле ?(нужна аналогия юзермодного EnumServicesStatusEx). Спасибо.
На руткит.ком была статья об етом. Можешь парсить файл реестра вручную , читать с ServiceDatabase, или визвать юзермодный код для EnumServicesStatus.
Если парсить реестр, то получишь только имя, текущий статус, номер процесса, запустившего сервис и проч. инфа недоступны. А как вызывать юзермодный код для EnumServicesStatusEx? Кроме ZwW32Call, ничего не нашёл (она есть только в NT4)
Нужно поймать хороший поток, с большым количеством переключений и назначить ему APC. А далее ждать пока поток сменит состояние, тоесть можна никогда не дождаться Копай в сторону KeInitializeApc , KeInsertQueueApc.
Надеяться на "хороший" поток - долго ждать, Ссылка оказалась полезной, спасибо. Там и нашёл, как избавиться от хука EnumServicesStatusEx, не переходя в кернел