Для контроля траффика и запуска приложений реализовал сплайсинг, подгружая свою DLL через ключ AppInit_DLLs. Перехватываю некоторые winsock-функции и CreateProcessInternalW для фильтрации запуска. После перезагрузки получаю что-то вроде "Unable to enumerate network devices". Вопрос к тем, кто разбирается в структуре и порядке загрузки сетевых процессов. Какой именно процесс может выкидывать такую ошибку? Если это инициируется службой, то я так понимаю нужно просто не аттачиться к svchost.exe.. но, увы, это тоже не помогло. Система: чистая WINXPSP2 RU + KAV. thx за внимание.
"Unable to enumerate network devices" - это МессаджБокс такой? Посмотри какой процесс его показывает.
Сообщение вываливается от explorer.exe, например, при попытке отобразить сетевые подключения. Но я к тому что мб это вызвано чем-то на уровень ниже, где и приходит в действие часть моего корявого кода. А вся проблема в том, что нет времени искать эту ошибку, проще найти процесс, где она возникает и просто напросто не инжектить туда свою либу. Вот собственно о чем вопрос.
Даже если вы не заинжектитесь в него, есть шанс, что у юзера отвалится весь софт, который будет enumerat'ить network девайсы. Не фонтан имхо. Да и будет ли работать ваш софт если не заинжектить свхост?
Проблема решена на уровне моего кода, пришлось все-таки найти баги (а как не хотелось.)) ветку можно закрыть. Lazzy, spectrum, thx за участие to LazzY. Будет работать, куда ему деться. Т.к. фильтруются все процессы, которые "честно", без обходных путей работают с сеткой через WinSock. Во что заинжектил, то и фильтрую. Для большинства браузеров и месенгеров этого хватает.