quinta-feira, 9 de março de 2023
Module load completed but symbols could not be loaded for WdFilter.sys FLTMGR.SYS
O problema
O dispositivo apresentava tela azul e reinicialização logo em seguida.
Resumo
O dispositivo apresentava tela azul e reinicialização logo em seguida. Durante a análise do problema, verificou-se que o recurso de despejo de memória no arquivo de DUMP estava desabilitado na máquina, impedindo a coleta de evidências. Após habilitar a opção de despejo de memória, identificou-se um problema relacionado aos drivers FLTMGR.SYS e WdFilter.sys, mas as informações sobre o erro não foram carregadas corretamente no arquivo de DUMP, impossibilitando uma análise mais precisa. Suspeitando de um possível comportamento causado pelo antivírus, atualizamos o antivírus e em seguida executamos comandos para procurar e corrigir arquivos corrompidos no sistema, resolvendo o problema de tela azul.
Análise do problema
Durante a análise do problema, verificou-se que o recurso de despejo de memória no arquivo de DUMP estava desabilitado na máquina, impedindo a coleta de evidências. Após habilitar a opção de despejo de memória, identificou-se um problema relacionado aos drivers FLTMGR.SYS e WdFilter.sys, mas as informações sobre o erro não foram carregadas corretamente no arquivo de DUMP, impossibilitando uma análise mais precisa. Suspeitamos de um possível comportamento causado pelo antivírus, então, atualizamos o antivírus e executamos alguns comandos para procurar e corrigir arquivos corrompidos no sistema, resolvendo o problema de tela azul.
Além disso, tivemos também dificuldade para instalar as atualizações do Windows devido à aplicação de uma GPO antiga que configurava o serviço de Wpdade do Windows e apontava para o servidor WSUS com chaves de registro para pausar as atualizações do Windows. A solução encontrada foi apagar todas as chaves de registro aplicadas via GPO no equipamento.
Causa Raiz
A causa raiz do problema foram os drivers FLTMGR.SYS e WdFilter.sys por uma possível interferência do antivírus, que foi solucionada com a atualização do antivírus e a correção de arquivos corrompidos no sistema. Por fim, a dificuldade na instalação de atualizações do Windows se deu pela aplicação de uma GPO antiga que configurava o serviço de Update do Windows e apontava para os servidores WSUS com chaves de registro para pausar as atualizações do Windows, sendo solucionada com a remoção das chaves de registro aplicadas via GPO no equipamento.
Solução
A solução para o problema de tela azul foi a habilitação do recurso de despejo de memória no arquivo de DUMP, a atualização do antivírus e a correção de arquivos corrompidos no sistema. Já para a dificuldade em instalar as atualizações do Windows, a solução foi apagar todas as chaves de registro aplicadas via GPO no equipamento.
Script em PowerShell para automatizar a solução:
# Script: WindowsUpdateDefender.ps1# Descrição: Esse script vai aplicar atualização do antivírus, executar correção de arquivos corrompidos no sistema,# Atualizar o Windows e apagar todas as chaves de registro aplicadas via GPO para o serviço do Windows Update.# Autor: DicasQueFunfa# Data: 09/03/2023# Dependências: Install-Module -Name PSWindowsUpdate e Import-Module PSWindowsUpdate# Adiciona log de execução$logFile = "C:\temp\Logs\WindowsUpdateDefender.log"Start-Transcript -Path $logFile -Append# Alterar a política de execução de scripts do PowerShell para "RemoteSigned"function Set-ExecutionPolicyRemoteSigned {# Obtém a política de execução atual$policy = Get-ExecutionPolicy# Verifica se a política atual é diferente de "RemoteSigned"if ($policy -ne "RemoteSigned") {# Define a política de execução como "RemoteSigned"Set-ExecutionPolicy RemoteSigned -Force# Verifica se a política de execução foi definida com sucessoif ((Get-ExecutionPolicy) -eq "RemoteSigned") {Write-Host "A política de execução de scripts foi alterada para 'RemoteSigned'."} else {Write-Warning "Não foi possível alterar a política de execução de scripts."}} else {Write-Host "A política de execução de scripts já está definida como 'RemoteSigned'."}}# Função para verificar e instalar o módulo PowerShellGetfunction Install-PowerShellGetModule {# Verifica se o módulo PowerShellGet está instalado$module = Get-Module -Name "PowerShellGet" -ListAvailable -ErrorAction SilentlyContinueif ($module -eq $null) {# Instala o módulo PowerShellGetWrite-Host "O módulo PowerShellGet não está instalado. Instalando o módulo agora..."Install-Module -Name "PowerShellGet" -Force} else {Write-Host "O módulo PowerShellGet já está instalado."}}# Chama a função para verificar e instalar o módulo PowerShellGetInstall-PowerShellGetModulefunction Install-ModuloWindowsUpdate {# Verifica se o módulo PSWindowsUpdate está instalado$module = Get-Module -Name "PSWindowsUpdate" -ListAvailable -ErrorAction SilentlyContinueif ($module -eq $null) {# Instala o módulo PSWindowsUpdateWrite-Host "O módulo PSWindowsUpdate não está instalado. Instalando o módulo agora..."Install-Module -Name "PSWindowsUpdate" -Force} else {Write-Host "O módulo PSWindowsUpdate já está instalado."}}# Chama a função para verificar e instalar o módulo PSWindowsUpdateInstall-ModuloWindowsUpdatetry {# Atualizar antivírusWrite-Host "Atualizando antivírus..."Update-MpSignature -UpdateSource "MicrosoftUpdateServer" -ErrorAction StopWrite-Host "Antivírus atualizado com sucesso!"# Procurar e corrigir arquivos corrompidos do sistemaWrite-Host "Verificando e corrigindo arquivos corrompidos no sistema..."sfc /scannow# Remover chaves do registro associadas à política de grupo do serviço de atualização do Windows aplicada via GPOWrite-Host "Removendo chaves do registro associadas à política de grupo do serviço de atualização do Windows..."Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Recurse -ErrorAction SilentlyContinueRemove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Recurse -ErrorAction SilentlyContinueWrite-Host "Chaves do registro removidas com sucesso!"# Verifica se o serviço do Windows Update está em execução$service = Get-Service -Name wuauservif ($service.Status -ne "Running") {# Inicializa o serviço do Windows UpdateWrite-Host "Iniciando o serviço do Windows Update..."Start-Service -Name wuauservWrite-Host "Serviço do Windows Update iniciado com sucesso!"}# Verifica se há atualizações disponíveisWrite-Host "Verificando atualizações disponíveis..."$updates = Get-WindowsUpdate -ErrorAction Stopif ($updates -eq $null) {Write-Host "Não há atualizações disponíveis no momento."} else {Write-Host "Atualizações disponíveis:"$updates | Format-Table -AutoSize$opcao = Read-Host "Deseja instalar agora (SIM) ou (Não)?"switch ($opcao) {"Sim" {Write-Host "Instalação Aceita. O dispositivo será atualizado."# Verifica se o serviço do Windows Update foi interrompido$wuService = Get-Service -Name wuauservif ($wuService.Status -eq "Stopped") {Write-Host "O serviço do Windows Update estava parado e foi iniciado."Start-Service -Name wuauserv}# Instala as atualizaçõesWrite-Host "Instalando atualizações..."Install-WindowsUpdate -AcceptAll -AutoReboot -ErrorAction StopWrite-Host "As atualizações foram instaladas com sucesso!"}"Não" {Write-Host "Instalação recusada"break}Default {Write-Host "Resposta incorreta:" $_}}}}catch {# Captura e trata errosWrite-Host "Erro: $_" -ForegroundColor Red}# Finaliza o log de execuçãoStop-Transcript
Arquivo de DUMP
The current thread is making a bad pool request. Typically this is at a bad IRQL level or double freeing the same allocation, etc.
Arguments:
Arg1: 000000000000000d, type of pool violation the caller is guilty of.
Arg2: ffffd3086d6e5b30
Arg3: 000000007266504d
Arg4: 77d327bd6f192610
Debugging Details:
------------------
*** ERROR: Module load completed but symbols could not be loaded for WdFilter.sys
Page 20040eb33 too large to be in the dump file.
BUGCHECK_STR: 0xc2_d
DEFAULT_BUCKET_ID: WIN8_DRIVER_FAULT
PROCESS_NAME: MsMpEng.exe
CURRENT_IRQL: 0
ANALYSIS_VERSION: 6.3.9600.16384 (debuggers(dbg).130821-1623) amd64fre
LAST_CONTROL_TRANSFER: from fffff8014486896e to fffff801447f6210
STACK_TEXT:
fffff60c`45cbee98 fffff801`4486896e : 00000000`000000c2 00000000`0000000d ffffd308`6d6e5b30 00000000`7266504d : nt!KeBugCheckEx
fffff60c`45cbeea0 fffff801`44db2019 : ffffd308`63dd5050 ffffd308`6d6e5b48 00000000`00000081 01000000`00100000 : nt!ExFreeHeapPool+0x1a0a6e
fffff60c`45cbef80 fffff801`44dd3226 : ffffd308`6d6e5b30 00000000`00000000 00000000`00000001 00000000`00000000 : nt!ExFreePool+0x9
fffff60c`45cbefb0 fffff801`46335243 : 0000008b`c487ddc0 ffffd308`63dd5050 00000000`00000000 00000000`00000000 : nt!VerifierExFreePoolWithTag+0x56
fffff60c`45cbefe0 fffff801`442cb7fb : 00000000`00000000 00000193`4e0b0f70 d3086b9b`000002b0 0000008b`c487ddc0 : WdFilter+0x25243
fffff60c`45cbf090 fffff801`44303499 : ffffbc01`f4906500 ffffbc01`f4906430 0000008b`c487ddc0 ffffa552`a94fff20 : FLTMGR!FltpFilterMessage+0xdb
fffff60c`45cbf0f0 fffff801`442c4910 : ffffbc01`f203bd60 00000000`00000002 00000000`00000000 ffffbc01`f4906430 : FLTMGR!FltpMsgDispatch+0x179
fffff60c`45cbf160 fffff801`446ce6c5 : ffffbc01`f4906430 00000000`00000000 fffff60c`45cbf540 00000000`00000001 : FLTMGR!FltpDispatch+0xe0
fffff60c`45cbf1c0 fffff801`44ac3528 : ffffbc01`f4906430 00000000`00000000 00000000`00000000 00000000`00000000 : nt!IofCallDriver+0x55
fffff60c`45cbf200 fffff801`44ac2df5 : 00000000`00000000 fffff60c`45cbf540 00000000`00000000 fffff60c`45cbf540 : nt!IopSynchronousServiceTail+0x1a8
fffff60c`45cbf2a0 fffff801`44ac27f6 : 00007ff9`07f1f4ac 00000000`00000000 00000000`00000000 00000000`00000000 : nt!IopXxxControlFile+0x5e5
fffff60c`45cbf3e0 fffff801`44807bb5 : 00000000`00000000 00000000`00000000 00000000`00000000 0000008b`c487e4b0 : nt!NtDeviceIoControlFile+0x56
fffff60c`45cbf450 00007ff9`24fabe84 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25
0000008b`c487dc78 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ff9`24fabe84
STACK_COMMAND: kb
FOLLOWUP_IP:
WdFilter+25243
fffff801`46335243 0f1f440000 nop dword ptr [rax+rax]
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: WdFilter+25243
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: WdFilter
IMAGE_NAME: WdFilter.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 0
FAILURE_BUCKET_ID: 0xc2_d_VRF_WdFilter+25243
BUCKET_ID: 0xc2_d_VRF_WdFilter+25243
ANALYSIS_SOURCE: KM
FAILURE_ID_HASH_STRING: km:0xc2_d_vrf_wdfilter+25243
FAILURE_ID_HASH: {90c175c5-7cf9-66d5-0c76-92c98cb21ab0}
Followup: MachineOwner

quinta-feira, 26 de janeiro de 2023
Tela Azul-BSOD Como procurar pelo erro no arquivo de DUMP
Um arquivo DUMP é um arquivo que contém uma cópia da memória de um computador no momento de um travamento ou erro de tela azul (BSOD). Você pode usar o arquivo DUMP para diagnosticar e solucionar a causa raíz do BSOD.Para analisar um arquivo DUMP, você pode usar a Ferramenta de Depuração do Windows (WinDbg). Aqui estão os passos gerais para usar o WinDbg para analisar um arquivo DUMP:
- Faça o download e instale a Ferramenta de Depuração do Windows (WinDbg) no site da Microsoft.
- Abra o WinDbg e selecione "Arquivo" > "Abrir Travamento" e navegue até o local do arquivo DUMP.
- Uma vez que o arquivo DUMP é carregado, você pode usar o comando "!analyze -v" para analisar o arquivo e exibir informações detalhadas sobre a causa do BSOD.
- A saída do comando "!analyze -v" incluirá um resumo do erro BSOD, bem como informações sobre o arquivo de dump e o estado do sistema no momento do travamento.
- A saída também inclui a trajetória da pilha, que mostra a sequência de chamadas de função que levaram ao travamento, e a pilha de chamadas, que mostra o estado atual do sistema no momento do travamento.
- Você também pode usar outros comandos no WinDbg para exibir informações mais detalhadas sobre o travamento, como o estado da memória e o conteúdo de registradores específicos.
- Uma vez que você tenha identificado a causa do BSOD, você pode tomar medidas para resolver o problema.

terça-feira, 13 de junho de 2017
atikmdag.sys-HP ELITEBOOK 745 G2-Tela azul
Depois de uma breve análise, descobrimos que o problema estava sendo causado por uma falha no arquivo atikmdag.sys. Esse arquivo é utilizado pelo drive da placa de vídeo ATI Radeon Kernel Mode Driver, renomeamos o arquivo atikmdag.sys para atikmdag.old e realizamos alguns testes, funcionou normalmente. Porém, as opções de resolução e propriedades do vídeo foram afetadas; já que o arquivo atikmdag.sys tinha sido renomeado.
O problema foi resolvido atualizando o drive da placa de vídeo.
Causa
A causa raiz do problema foi o arquivo atikmdag.sys, provavelmente corrompido por uma queda de energia ou um desligamento abrupto da máquina.
Local do arquivo: %SystemRoot%\system32\DRIVERS\atikmdag.sys
Descrição do Arquivo: ATI Radeon Kernel Mode Driver
Solução
1. Abrir o "Gerenciador de Dispositivos" pressionando as teclas "Bandeira do windows + R" escrever: devmgmt.msc;
2. No gerenciador de dispositivos, vá para "Adaptadores de Vídeo";
3. Selecionar o dispositivo e clicar com o lado direito do mouse e "Desinstalar";
4. Reinicializar o computador;
5. Baixar o drive no site do fabricante, aqui, realizar a instalação do drive de vídeo;
6. Aguardar o final da instalação e em seguida reinicializar a máquina;
7. Realizar os testar e ok.
Resumo do arquivo de DUMP, convertido em texto:
Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [P:\DicasQueFunfa\Homologacao\dump\MEMORY.DMP]
Kernel Summary Dump File: Only kernel address space is available
Loading unloaded module list
................
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 7E, {ffffffffc0000005, fffff8801f4fa13b, fffff8800691b228, fffff8800691aa80}
*** ERROR: Module load completed but symbols could not be loaded for atikmdag.sys
*** ERROR: Module load completed but symbols could not be loaded for atikmpag.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for dxgkrnl.sys -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for dxgmms1.sys -
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
Probably caused by : atikmdag.sys ( atikmdag+c513b )
Followup: MachineOwner
---------
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: ffffffffc0000005, The exception code that was not handled
Arg2: fffff8801f4fa13b, The address that the exception occurred at
Arg3: fffff8800691b228, Exception Record Address
Arg4: fffff8800691aa80, Context Record Address
Debugging Details:
------------------
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
ADDITIONAL_DEBUG_TEXT:
Use '!findthebuild' command to search for the target build information.
If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.
FAULTING_MODULE: fffff80002e5b000 nt
DEBUG_FLR_IMAGE_TIMESTAMP: 5354965e
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - A instru o no 0x%p referenciou a mem ria no 0x%p. A mem ria n o p de ser %s.
FAULTING_IP:
atikmdag+c513b
fffff880`1f4fa13b 488b83a8060000 mov rax,qword ptr [rbx+6A8h]
EXCEPTION_RECORD: fffff8800691b228 -- (.exr 0xfffff8800691b228)
ExceptionAddress: fffff8801f4fa13b (atikmdag+0x00000000000c513b)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 00000000000006a8
Attempt to read from address 00000000000006a8
CONTEXT: fffff8800691aa80 -- (.cxr 0xfffff8800691aa80)
rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000000 rsi=0000000000001800 rdi=0000000000000002
rip=fffff8801f4fa13b rsp=fffff8800691b460 rbp=fffffa800ac4a060
r8=0000000000000002 r9=000000f4100d4000 r10=0000000000000000
r11=fffff8800691b690 r12=fffffa800ac13480 r13=fffffa8008f16cc0
r14=fffffa800f0f7010 r15=fffff8801f435000
iopl=0 nv up ei pl zr na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010246
atikmdag+0xc513b:
fffff880`1f4fa13b 488b83a8060000 mov rax,qword ptr [rbx+6A8h] ds:002b:00000000`000006a8=????????????????
Resetting default scope
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0x7E
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from fffff8801f55946f to fffff8801f4fa13b
STACK_TEXT:
fffff880`0691b460 fffff880`1f55946f : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : atikmdag+0xc513b
fffff880`0691b490 fffff880`1f447e13 : 00000000`00000001 fffffa80`0ac4a060 fffff880`1f435000 000000f4`100d4000 : atikmdag+0x12446f
fffff880`0691b4e0 fffff880`04c0b6d5 : 00000000`00000000 00000000`00000000 fffff880`0691b730 00000000`00000000 : atikmdag+0x12e13
fffff880`0691b640 fffff880`0525f9ac : fffffa80`00000000 00000000`00000000 fffff880`c0000001 fffffa80`00000001 : atikmpag+0xb6d5
fffff880`0691b6d0 fffff880`05373f62 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff8a0`249c4e10 : dxgkrnl+0x39ac
fffff880`0691b700 fffff880`05380e84 : 00000000`00000000 fffffa80`0ac3f000 fffff8a0`249c4e10 fffff800`02e19b7f : dxgmms1!VidMmInterface+0x116a2
fffff880`0691b880 fffff880`053713d1 : fffffa80`0ab4bc60 fffff8a0`249c4e10 fffffa80`0ac3f000 fffffa80`0c2d3400 : dxgmms1!VidMmInterface+0x1e5c4
fffff880`0691b9f0 fffff880`0536c4d4 : fffffa80`0e7b7480 fffffa80`0ac0d010 00000000`00000000 fffff880`ffffdf10 : dxgmms1!VidMmInterface+0xeb11
fffff880`0691bb10 fffff880`0538a33d : fffffa80`00000000 fffffa80`0ac0d010 00000000`0000000f fffff880`0538c0d9 : dxgmms1!VidMmInterface+0x9c14
fffff880`0691bb60 fffff880`053895c8 : fffff800`00b94080 fffffa80`11f7c140 00000000`00000000 fffffa80`0ac0d010 : dxgmms1!VidMmInterface+0x27a7d
fffff880`0691bb90 fffff880`05389066 : 00000000`0001804c fffffa80`1196b010 00000000`00000080 fffffa80`0ac0d010 : dxgmms1!VidMmInterface+0x26d08
fffff880`0691bbc0 fffff800`03165e66 : 00000000`0443bb7f fffffa80`0ac3d060 fffffa80`06cde6d0 fffffa80`0ac3d060 : dxgmms1!VidMmInterface+0x267a6
fffff880`0691bc00 fffff800`02ebc6e6 : fffff800`03049e80 fffffa80`0ac3d060 fffffa80`0a5dab50 fffff8a0`00165101 : nt!PsCreateSystemThread+0x1da
fffff880`0691bc40 00000000`00000000 : fffff880`0691c000 fffff880`06916000 fffff880`0691b590 00000000`00000000 : nt!KeInitializeSemaphore+0x242
FOLLOWUP_IP:
atikmdag+c513b
fffff880`1f4fa13b 488b83a8060000 mov rax,qword ptr [rbx+6A8h]
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: atikmdag+c513b
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: atikmdag
IMAGE_NAME: atikmdag.sys
STACK_COMMAND: .cxr 0xfffff8800691aa80 ; kb
BUCKET_ID: WRONG_SYMBOLS
Followup: MachineOwner
---------
1: kd> lmvm atikmdag
start end module name
fffff880`1f435000 fffff880`201d8000 atikmdag (no symbols)
Loaded symbol image file: atikmdag.sys
Image path: \SystemRoot\system32\DRIVERS\atikmdag.sys
Image name: atikmdag.sys
Timestamp: Mon Apr 21 00:54:06 2014 (5354965E)
CheckSum: 00D4D300
ImageSize: 00DA3000
File version: 8.1.1.1379
Product version: 8.1.1.1379
File flags: 8 (Mask 3F) Private
File OS: 40004 NT Win32
File type: 3.4 Driver
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Advanced Micro Devices, Inc.
ProductName: ATI Radeon Family
InternalName: atikmdag.sys
OriginalFilename: atikmdag.sys
ProductVersion: 8.01.01.1379
FileVersion: 8.01.01.1379
FileDescription: ATI Radeon Kernel Mode Driver
LegalCopyright: Copyright (C) 1998-2012 Advanced Micro Devices, Inc.
