O que é um arquivo .evtx? O formato Windows Event Log explicado
Um arquivo .evtx é um Windows Event Log binário. Onde ficam, o que tem dentro, em que diferem dos .evt e como abri-los — sem instalar nada.
Um arquivo .evtx é o formato binário do Windows Event Log que a Microsoft lançou com o Windows Vista em 2007 para substituir o antigo formato .evt. Cada evento que o sistema operacional, um driver, um serviço ou uma aplicação grava no Windows Event Log vai parar em um arquivo .evtx em disco. Eles são a espinha dorsal de toda investigação em Windows.
Resposta rápida
Os arquivos .evtx são gravados pelo serviço Windows EventLog em C:\Windows\System32\winevt\Logs\. Há um arquivo por canal (Security.evtx, System.evtx, Application.evtx, além de canais por aplicação). Internamente, cada arquivo é um contêiner binário em chunks com registros codificados em BinXML — não é texto puro. Você os lê com Event Viewer, wevtutil, Get-WinEvent ou um parser de terceiros.
Onde os arquivos .evtx ficam
O local padrão em todas as versões do Windows suportadas (do Vista ao Windows 11 / Server 2025):
C:\Windows\System32\winevt\Logs\
Cada arquivo .evtx corresponde a um canal de eventos. Os padrões que você sempre encontra:
Security.evtx— logons, uso de privilégios, mudanças de política de auditoria. O de maior valor forense na maioria dos casos.System.evtx— drivers, serviços, erros em nível de kernel.Application.evtx— erros e eventos informativos de aplicações.Setup.evtx— registros de instalação.ForwardedEvents.evtx— eventos coletados de outros hosts via Windows Event Forwarding (WEF).
Canais por aplicação ficam na mesma pasta, com %4 representando o separador de caminho:
Microsoft-Windows-Sysmon%4Operational.evtx— eventos de processo, rede e arquivo do Sysmon (quando instalado).Microsoft-Windows-PowerShell%4Operational.evtx— logging de scriptblock e módulos do PowerShell.Microsoft-Windows-TaskScheduler%4Operational.evtx— criação e execução de tarefas agendadas.Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx— ciclo de vida de sessão RDP.
Canais que sofrem rotação produzem arquivos de arquivo morto com timestamp na mesma pasta (Security.evtx, Archive-Security-2026-05-23-…evtx). O arquivo ativo fica aberto pelo serviço EventLog enquanto o Windows está em execução.
O que há dentro de um arquivo .evtx
O arquivo é um contêiner binário, não texto puro. Um cabeçalho de 4 KB (magic ElfFile\0) é seguido por uma sequência de chunks de 64 KB. Cada chunk tem seu próprio cabeçalho (ElfChnk), uma tabela dos templates XML que aparecem dentro dele e um fluxo de registros que referenciam esses templates por ID. Um parser reconstrói cada evento substituindo valores do registro nos placeholders do template — é isso que torna o .evtx mais compacto em disco do que XML literal.
Uma vez decodificado, cada registro é um documento XML com duas metades:
<System>— nome do provider, canal, Event ID, nível (1 Critical → 5 Verbose), nome do computador, contexto de segurança e timestamp de gravação em UTC.<EventData>— parâmetros específicos do provider: a conta de destino em um logon, o caminho da imagem em um process create, a chave de registro em uma escrita auditada e assim por diante.
O Event ID sozinho raramente é suficiente para triagem. O sinal forense vive em <EventData>. Para a mecânica profunda do formato — chunks, BinXML, templates, recuperação de chunks sujos — veja Por dentro do formato de arquivo EVTX.
.evtx vs .evt: por que o formato mudou
O formato legado .evt que o Windows usou até o XP e o Server 2003 tinha três limites duros que o novo formato foi desenhado para resolver:
- Strings de tamanho fixo. Os registros
.evtcarregavam referências a uma message-table em vez da mensagem completa; os joins em tempo de render quebravam quando as DLLs de origem estavam ausentes ou tinham sido atualizadas. - Sem consulta estruturada. Filtrar exigia ler e fazer parse de cada registro linearmente.
- Um único canal por arquivo. Logs personalizados de aplicação precisavam de seus próprios formatos não padronizados.
O .evtx (Vista, 2007) introduziu registros BinXML, arquivos por canal com aninhamento arbitrário, filtragem em estilo XPath via wevtutil qe e Get-WinEvent -FilterHashtable, e um layout em chunks que sobrevive a gravações parciais. O custo foi uma quebra total de compatibilidade — .evt e .evtx não são intercambiáveis, e a única ferramenta nativa que lê .evt em um Windows moderno é o wevtutil com a flag legada (e apenas para exportar para .evtx).
Como abrir um arquivo .evtx
Cinco caminhos comuns, em ordem aproximada de fricção:
- No seu navegador, sem instalação — solte o arquivo no parser na página inicial deste site. Ele roda a crate Rust
omerbenamram/evtxcompilada para WebAssembly dentro de um Web Worker. Nada sai da sua máquina. Bom para triagem ad-hoc quando você não quer subir uma VM forense. - Event Viewer (
eventvwr.msc) — a GUI nativa do Windows. Abra o Event Viewer → Action → Open Saved Log… → selecione o.evtx. Bom para navegar, fraco para filtrar em escala. wevtutil/Get-WinEvent— linha de comando e PowerShell, ambos acompanham o Windows.wevtutil qe path\to\file.evtx /f:text /lf:truedespeja todos os registros;Get-WinEvent -Pathretorna objetos que você pode encadear noWhere-Object.- EvtxECmd — o parser do Eric Zimmerman. Multiplataforma via .NET, rápido, produz CSV com uma linha por registro e o
<EventData>completo achatado. python-evtx— Python puro, fácil de scriptar. Mais lento que a crate Rust mas útil quando você já tem uma stack de tooling em Python.
Para um passo a passo completo de cada método com os comandos que você realmente executaria, veja Como abrir um arquivo .evtx.
Quando você encontra .evtx no mundo real
- Resposta a incidentes. Extraído de um host comprometido como parte da triagem. Os canais de interesse dependem da pista —
Securitypara logons e abuso de privilégio,Sysmonpara árvores de processo,PowerShellpara o conteúdo dos scriptblocks. - Auditorias de compliance. Auditores pedem
Security.evtxem uma janela definida para verificar o histórico de logons e de mudanças de política. - Debugging de aplicação. O
Application.evtxmais canais por fornecedor frequentemente trazem o contexto de crash e erro que os próprios logs da aplicação não trazem. - Threat hunting. Regras de cauda longa contra
.evtxarquivados (ou um SIEM encaminhando o canal ao vivo) capturam padrões de queima lenta como RDP fora do horário ou drift deLogonTypede conta de serviço.
O pivô individual mais útil é o Event ID. Para a lista curta que se paga em um SOC real — 4624 logon bem-sucedido, 4625 logon falhado, 1102 log apagado, 4104 scriptblock do PowerShell, 7045 serviço instalado, Sysmon 1 process create — veja a orientação inicial.