Analisador de Callbacks TLS
Analise e examine callbacks TLS (Thread Local Storage) em arquivos PE. Os callbacks TLS são executados antes do ponto de entrada do programa e são muito usados por empacotadores, protetores e malware para anti-depuração, anti-VM e inicialização. Envie um arquivo .exe, .dll ou .sys ou cole dados hexadecimais para análise instantânea. Todo o processamento é local e privado.
Upload a PE file (.exe, .dll, .sys) or paste hex data to analyze TLS callbacks. The analyzer parses PE headers, extracts the TLS directory, and displays callback addresses.
Por que usar nosso analisador de callbacks TLS?
- Análise do cabeçalho PE e do diretório TLS: o analisador de callbacks TLS examina toda a estrutura do arquivo PE, incluindo o cabeçalho DOS, o cabeçalho COFF, o cabeçalho opcional e todos os cabeçalhos de seção. Ele extrai especificamente a entrada do diretório TLS (índice 4 do diretório de dados) para encontrar e decodificar os endereços de callback TLS executados antes do ponto de entrada do programa.
- Análise profunda dos endereços de callback: cada endereço de callback TLS é extraído da matriz de callbacks e exibido com seus bytes brutos, seu endereço virtual relativo (RVA) e a seção que o contém. O analisador identifica em qual seção cada callback reside (.text, .tls etc.) e destaca mapeamentos incomuns que podem indicar atividade de empacotador.
- Visão completa da estrutura PE: consulte a estrutura completa do arquivo PE, incluindo a arquitetura de máquina, o endereço do ponto de entrada, a base da imagem, o número de seções, as características das seções (CODE, INIT_DATA, EXECUTE, READ, WRITE) e uma pré-visualização hexadecimal bruta dos primeiros 512 bytes. Essa visão completa ajuda os analistas a entender o layout do binário.
- 100% privado, sem envio de dados: toda a análise de callbacks TLS acontece localmente no seu navegador com JavaScript. Seus arquivos PE e dados hexadecimais nunca saem do seu dispositivo. Sem conta, sem rastreamento e sem armazenamento de dados. O analisador aceita tanto o envio de arquivos quanto a colagem de hexadecimal, para total flexibilidade.
Casos de uso comuns do analisador de callbacks TLS
- Detecção de empacotadores e protetores: analistas de segurança usam a análise de callbacks TLS para detectar executáveis empacotados ou protegidos. Os empacotadores costumam instalar callbacks TLS para descriptografar ou desempacotar o código original antes da execução do ponto de entrada. Encontrar callbacks TLS em um binário é um forte indicativo de empacotamento ou proteção.
- Análise da inicialização de malware: o malware usa callbacks TLS com frequência para executar código de inicialização, ocultar processos, verificar a presença de depuradores ou realizar detecção de ambiente antes de a lógica principal ser executada. Detectar e analisar esses callbacks revela a fase de configuração do malware e suas técnicas antianálise.
- Detecção anti-depuração e anti-VM: callbacks TLS são comumente usados para implementar verificações anti-depuração e anti-VM. Como os callbacks são executados antes do ponto de entrada, depuradores que se conectam no ponto de entrada perdem essa inicialização. Nosso analisador ajuda a identificar binários que podem estar usando essa técnica.
- Preparação para engenharia reversa: antes de fazer engenharia reversa de um binário, os analistas devem verificar a presença de callbacks TLS para entender o fluxo de execução completo. Ignorar os callbacks TLS pode levar a uma análise incorreta, pois eles podem configurar descriptografia, modificar tabelas de importação ou alterar o código analisado.
- Análise de proteção de software: protetores comerciais (Themida, VMProtect, Enigma, Obsidium) usam callbacks TLS como parte de sua cadeia de proteção. Identificar os callbacks TLS ajuda a determinar qual protetor foi usado e a entender as camadas de proteção aplicadas ao binário.
- Ensino do formato de arquivo PE: estudantes que aprendem o formato PE podem usar o analisador de callbacks TLS para explorar a estrutura real de um PE. A ferramenta visualiza toda a cadeia de cabeçalhos, da assinatura DOS aos diretórios de dados do cabeçalho opcional até as tabelas de seções, tornando o formato PE tangível e interativo.
O que são callbacks TLS?
Callbacks TLS (Thread Local Storage) são ponteiros de função armazenados no diretório TLS de um arquivo PE que o sistema operacional executa antes do ponto de entrada do programa ( main ou WinMain ). Originalmente projetados para inicializar variáveis de armazenamento local de cada thread, os callbacks TLS foram reaproveitados por autores de empacotadores, protetores e malware para executar código de inicialização antes que o depurador ou o analista possa interceptá-lo. Cada callback é um ponteiro de função armazenado em uma matriz terminada em nulo dentro da estrutura do diretório TLS.
Como funciona o analisador de callbacks TLS
- Envie ou cole um arquivo PE: arraste e solte um arquivo .exe, .dll ou .sys, ou cole os dados binários como string hexadecimal. O analisador lê os bytes brutos e valida o cabeçalho MZ e a assinatura PE.
- Analise os cabeçalhos PE: o analisador extrai o cabeçalho DOS, o cabeçalho COFF, o cabeçalho opcional (PE32 ou PE32+), os 16 diretórios de dados e a tabela de seções. Ele localiza especificamente a entrada do diretório TLS (índice 4 do diretório de dados) e resolve sua RVA para um deslocamento de arquivo.
- Extraia os endereços de callback: a partir do diretório TLS, o analisador lê o ponteiro da matriz de callbacks, segue até os dados do arquivo e lê cada ponteiro de função de 4 bytes (PE32) ou 8 bytes (PE32+), até chegar a um terminador nulo. Cada endereço é exibido com sua RVA, seus bytes brutos e a seção que o contém - tudo no seu navegador, sem envio a nenhum servidor.
Técnicas comuns de callbacks TLS
- Inicialização de empacotadores: empacotadores como UPX, ASPack e MPRESS usam callbacks TLS para descriptografar ou descomprimir o código executável original antes da execução do ponto de entrada, tornando o desempacotamento em tempo de execução transparente para o processo.
- Verificações anti-depuração: callbacks TLS podem verificar a presença de depuradores usando NtQueryInformationProcess , IsDebuggerPresent ou ataques de temporização antes mesmo de o código principal ser executado, o que os torna eficazes contra depuradores que se conectam no ponto de entrada.
- Detecção de ambiente: malware e protetores usam callbacks TLS para detectar máquinas virtuais, sandboxes ou ambientes de análise verificando propriedades de hardware, nomes de processos ou artefatos do sistema antes que qualquer ferramenta de análise consiga interceptar as verificações.
- Modificação da tabela de importação: alguns protetores usam callbacks TLS para resolver ou modificar dinamicamente os endereços de importação, ocultando as dependências reais do binário de ferramentas de análise estática que examinam apenas a tabela de importação.
Privacidade, segurança e notas de uso
O analisador de callbacks TLS processa todos os dados inteiramente no seu navegador com JavaScript. Nenhum arquivo PE ou dado hexadecimal é enviado a qualquer servidor, armazenado em qualquer banco de dados ou compartilhado com terceiros. Não há limite de tamanho de arquivo além da memória disponível do seu navegador. O arquivo PE de exemplo incluído é um binário sintético mínimo com callbacks TLS artificiais para fins educacionais - não é um executável real e não pode ser executado. Analise sempre binários desconhecidos em um ambiente isolado e com as devidas precauções.
Perguntas frequentes
Callbacks TLS (Thread Local Storage) são ponteiros de função no cabeçalho do arquivo PE que são executados automaticamente antes do ponto de entrada do programa. Eles importam porque são executados antes de os depuradores e as ferramentas de análise normalmente se conectarem, o que os torna uma técnica antianálise importante usada por empacotadores, protetores e malware.
O ponto de entrada é o primeiro código executado quando um programa inicia. Os callbacks TLS são executados antes do ponto de entrada: o sistema operacional chama cada callback antes de transferir o controle. Isso significa que os callbacks TLS podem configurar a descriptografia, verificar a presença de depuradores ou modificar o estado do programa antes de o código principal começar.
Callbacks TLS são usados por protetores comerciais como Themida, VMProtect, Enigma Protector e Obsidium. Empacotadores de código aberto como UPX e ASPack também os utilizam. Famílias de malware como TrickBot e Dridex usam callbacks TLS para inicialização antianálise.
Sim, o analisador é totalmente compatível com os formatos PE32 (32 bits) e PE32+ (64 bits). Ele detecta automaticamente a magia do cabeçalho opcional e ajusta a análise de acordo, incluindo a leitura de ponteiros de 8 bytes para PE32+ em vez de ponteiros de 4 bytes.
Callbacks TLS que apontam para seções não padrão, como a própria .tls ou .data, podem indicar atividade de empacotador. O analisador identifica automaticamente a seção que contém cada callback e exibe suas características para destacar mapeamentos incomuns.
O analisador examina a estrutura PE para encontrar a entrada do diretório TLS no índice 4 do diretório de dados, resolve a RVA para um deslocamento de arquivo usando a tabela de seções e lê cada ponteiro de função na matriz de callbacks até chegar a um terminador nulo.
Sim, totalmente. Toda a análise de PE e de callbacks TLS acontece localmente no seu navegador. Seus arquivos ou dados hexadecimais nunca saem do seu dispositivo nem são enviados a qualquer servidor. Nenhuma conta é necessária e nenhum dado é armazenado.
O analisador aceita dois modos de entrada: envio de arquivos (.exe, .dll, .sys, .ocx, .scr, .cpl, .efi, .pe, .bin) e entrada de texto hexadecimal. Você também pode carregar um binário PE de exemplo para explorar o resultado da ferramenta antes de analisar seus próprios arquivos.
O botão Carregar PE de exemplo gera um binário PE32 sintético mínimo com um diretório TLS e dois endereços de callback artificiais. Esse exemplo é criado inteiramente no seu navegador e não é um executável real: ele não pode ser executado e não contém código executável.
Sim, 100% gratuito, sem cadastro, sem conta e sem limites de uso. Todos os recursos, incluindo envio de arquivos PE, entrada hexadecimal, análise completa do diretório TLS, extração de callbacks, visualizador de seções e pré-visualização hexadecimal, estão disponíveis sem restrições.