Como posso descarregar o driver do Process Monitor sem reiniciar?

Como posso descarregar o driver do Process Monitor sem reiniciar?

Eu às vezes usoMonitor de Processopara depuração de software e também para jogar online. Alguns desses jogos usamOlho de Batalhasoftware anti-cheat, que se recusa a permitir que o jogo seja executado após o Process Monitor ter sido iniciado no sistema, mostrando isso no log:

08:06:46: Starting BattlEye Service...

08:06:49: Launching game...
08:07:07: Disallowed driver: "\??\C:\Windows\system32\Drivers\PROCMON23.SYS". Please unload it or reboot your system.

O driver permanece carregado após fechar o Process Monitor e não parece haver uma opção para descarregá-lo.

Várias outras perguntas têm respostas sobre como descarregar drivers usando net stopou sc stop, mas o driver ProcMon não é um serviço, então isso não funciona. Também tentei procurar no Gerenciador de Dispositivos e ativar ‘Mostrar dispositivos ocultos’, mas nenhuma das entradas aparece relacionada ao ProcMon. Não consigo excluir o arquivo do driver, pois ele não está presente no sistema de arquivos; ProcMon armazena o arquivo em seu executável e o extrai conforme necessário.

Minha pergunta não é uma duplicata deessa questão, que trata de um problema semelhante em que o driver persiste após uma reinicialização. Minha pergunta é sobre como descarregar o driver sem reiniciar.

Responder1

Drivers padrãosãoserviços e você pode realmente controlá-los via nete sc. (Por exemplo, dê uma olhada em sc query beep– parar o driver de ‘bipe’ é uma forma comum de desligar o alto-falante interno do PC.)

Nas versões anteriores do Process Monitor (provavelmente anteriores à 2.3, quando ainda tinha suporte para Windows XP), ele instalaria um driver de dispositivo "herdado" queeravisível via scGerenciador de dispositivos, etc.


As versões atuais do Process Monitor parecem remover a configuração do driver/serviço do registro imediatamente após iniciar o driver. Você pode ver isso pormonitorando o ProcMon consigo mesmo. É possível adicionar novamente manualmente o serviço, com tipo 2 (driver kernel FS) e ele aparecerá imediatamente como já em execução.

No entanto, o serviço também reportará “NOT_STOPPABLE” e recusará qualquer tentativa de interrupção.

Além disso, o PROCMON23 agora se registra como umminifiltro de sistema de arquivosdriver através do Gerenciador de filtros (FltDrv). Você pode ver isso na saída de fltmc, mas a tentativa de descarregá-lo externamente também falha (possivelmente porque o driver não possui a rotina de descarregamento):

C:\WINDOWS\system32>fltmc

Nome do Filtro Num Instâncias Altitude Quadro
------------------------------ ------------- ------- ----- -----
PROCMON23 0 385200 0
Filtro Wd4 328010 0
armazenamentoflt 0 244000 0
wcifs1 189900 0
...

C:\WINDOWS\system32>fltmc descarrega PROCMON23

Falha no descarregamento com erro: 0x801f0010
Não retire o filtro do volume neste momento.

Como a ferramenta CLI "oficial" não consegue remover o filtro do FltMgr, e o FltMgrem sié um driver 'crítico' que não pode ser reiniciado sem reinicialização, parece que não há como descarregar PROCMON23 ou PROCMON24.


Mas a parte mais interessante: depois de fazer as verificações acima com o procmon 3.40, descobri que a versão mais recente no site é a 3.50 (que usa um driver PROCMON24 mais recente). Ao iniciar a nova versão, fui informado que uma versão mais antiga do driver já estava no sistema e que deveria reiniciar.

Então, se ProcMonem sinão pode descarregar seu próprio driver sem precisar reinicializar, acho que você pode assumir com segurança que também não será capaz de descarregá-lo.

Responder2

Além de umexcelente respostaporusuário1686o que conclui que não há como descarregá-lo, gostaria de acrescentar que a reinicialização normal do Windows 10 também não ajuda, porque o Windows 10 hoje em dia persiste um pouco de memória e recarrega na inicialização, então o driver acaba na memória mesmo após a reinicialização.

Para evitar isso, reinicie com este comando executado como administrador:

shutdown /r /f /t 0

que executará a reinicialização adequada. Verifique, executando fltmccomo administrador, se o driver não está mais lá.

Responder3

O driver de filtro problemático PROCMON23.SYSé instalado pelo ProcMon quando ele é executado. Se o arquivo C:\Windows\system32\Drivers\PROCMON23.SYS não existir no momento, o ProcMon irá gravá-lo. O PROCMON23.SYSpróprio arquivo está incluído como um recurso binário dentro do executável do ProcMon.

Você pode listar todos os drivers de filtro em execução:

fltmc filters

e no meu computador isso dá:

imagem

Como você pode ver, minha versão do Process Monitor é mais recente que a sua (24 em vez de 23).

Normalmente, um driver de filtro pode ser desinstalado por um comando como:

Fltmc unload PROCMON24

No entanto, neste caso, isso resulta em um prompt de comando elevado:

imagem2

O erro de descarregamento 0x801f0010 é o erro típico de um driver de minifiltro que não possui rotina de descarregamento.

Conclusão: PROCMON23.SYS e o PROCMON24.SYS posterior estão mal programados. O desenvolvedor não previu que alguém desejaria descarregar seu driver e não incluiu nele a rotina necessária. Portanto, este driver não pode ser descarregado.

A má notícia para você é que é necessária uma reinicialização para descartá-lo, nada mais resolverá o problema. Seu único recurso é reclamar com o desenvolvedor.

Responder4

Parece que ele se conecta ao kernel, que você precisa (o kernel) para evitar a reinicialização por outros motivos (PC travado).

Andador de Dependência

Isso explicaria por que você precisa reiniciar... é a única maneira de se desconectar do kernel.

informação relacionada