Editor Hexadecimal Binário | Visualize e edite arquivos em hexadecimal
Arraste e solte um arquivo para ver seu conteúdo byte a byte em formato hexadecimal (hex dump). Identifique o verdadeiro tipo do arquivo através dos bytes mágicos, edite bytes individuais e baixe o resultado. O arquivo nunca é enviado a um servidor.
Assinaturas de arquivo comuns (números mágicos)
| Formato | Bytes iniciais (hex) | Deslocamento | Observação |
|---|---|---|---|
| PNG | 89 50 4E 47 0D 0A 1A 0A | 0 | Arquivo de imagem. Se os 8 bytes coincidirem, confirma-se PNG com quase total certeza |
| JPEG | FF D8 FF | 0 | Arquivo de imagem. O 4º byte varia conforme a variante (JFIF, Exif etc.) |
| GIF | 47 49 46 38 39 61 / 47 49 46 38 37 61 | 0 | A string ASCII "GIF89a" ou "GIF87a" |
| 25 50 44 46 2D | 0 | A string ASCII "%PDF-", seguida do número da versão | |
| ZIP / docx / xlsx / jar | 50 4B 03 04 | 0 | Formato ZIP. Office Open XML e muitos formatos de arquivo compactado são internamente ZIP |
| Executável do Windows (EXE/DLL) | 4D 5A | 0 | A string ASCII "MZ", um cabeçalho herdado do MS-DOS ainda presente no formato PE |
| Executável ELF | 7F 45 4C 46 | 0 | Executáveis e bibliotecas compartilhadas usados no Linux e sistemas similares |
O que é um editor hexadecimal binário
No fundo, qualquer arquivo nada mais é do que uma sequência de bytes. Um editor hexadecimal exibe esse conteúdo byte a byte em formato hexadecimal e permite reescrevê-lo diretamente quando necessário. Em muitos formatos, justamente os primeiros bytes trazem os chamados bytes mágicos, que revelam o verdadeiro tipo do arquivo — uma forma de confirmar o formato real sem confiar cegamente na extensão.
Esta ferramenta carrega arquivos ao arrastá-los ou por digitação direta de hexadecimal. A visualização, a edição e o download acontecem inteiramente no navegador, sem que o conteúdo seja enviado a um servidor. Para arquivos grandes, porém, apenas os primeiros 64KB são processados; o restante não é preservado nem no download.
Como usar o editor hexadecimal
- Carregue o arquivo Arraste um arquivo até a área indicada ou cole diretamente uma sequência hexadecimal. Espaços e quebras de linha são ignorados.
- Verifique os bytes iniciais Observe a região próxima ao deslocamento 0 e compare com a tabela acima para identificar o verdadeiro formato do arquivo.
- Edite um byte Clique em uma célula hexadecimal para alterar aquele byte para um valor entre 00 e FF. A coluna ASCII também é atualizada automaticamente.
- Baixe o resultado Salve o conteúdo editado como um arquivo. O original permanece inalterado, então é seguro testar edições experimentais.
Dicas para aproveitar melhor
- Para desmascarar um arquivo cuja extensão foi alterada, compare seus bytes iniciais (bytes mágicos) com a tabela acima. A extensão é apenas um rótulo, mas os bytes mágicos vêm do próprio formato e são muito mais difíceis de falsificar.
- No modo de hexadecimal manual, você pode colar sequências de bytes copiadas de outras ferramentas (separadas por espaços ou quebras de linha, ambas funcionam) e carregá-las diretamente.
- Se você clicar na célula errada durante a edição, pressione Esc para cancelar a edição daquela célula sem alterar o byte.
- Ao depurar um protocolo binário, compare nesta ferramenta os bytes esperados com os que foram realmente enviados ou recebidos para localizar exatamente onde eles divergem.
Cenários de uso do editor hexadecimal
Desmascarar arquivos com extensão falsificada
Verificar os bytes iniciais revela se a extensão informada realmente corresponde ao formato do arquivo — útil para checar anexos suspeitos.
Investigar a causa de um arquivo corrompido
A sequência de bytes permite avaliar se o cabeçalho está faltando ou se o arquivo foi cortado no meio, ajudando a decidir se a recuperação é viável.
Aprender as especificações de um formato de arquivo
Ler a especificação lado a lado com a sequência real de bytes ajuda a entender de forma concreta como um cabeçalho é estruturado.
Criar dados de teste propositalmente corrompidos
Alterar bytes específicos permite verificar como um programa se comporta ao receber um arquivo anômalo.
Depurar um protocolo binário byte a byte
Dá para inspecionar diretamente os dados brutos enviados ou recebidos, sem precisar de um analisador de rede separado.
Termos sobre dados binários
- Byte
- Unidade composta por 8 bits. Em hexadecimal, é representado por dois dígitos, de 00 a FF.
- Bytes mágicos
- Sequência característica no início de um arquivo que indica seu formato. Também chamada de assinatura de arquivo.
- Deslocamento (offset)
- A posição de um byte, contada a partir do início do arquivo. Geralmente expressa em hexadecimal.
- Cabeçalho (header)
- Seção no início do arquivo que reúne informações como formato e tamanho.
- Exibição ASCII
- Representação em que cada byte é interpretado como caractere, útil para localizar trechos de texto embutidos.
- Ordem dos bytes (endianness)
- O critério usado para ordenar os bytes de um número de múltiplos bytes. Dependendo do formato, o byte mais significativo pode vir primeiro ou por último.
Perguntas frequentes
FF D8 FF, é muito provável que seja uma imagem JPEG, independentemente da extensão.
Curiosidade — Por que a verdadeira identidade de um arquivo está nos bytes, não na extensão
A extensão de um arquivo é apenas uma dica que informa ao sistema operacional qual aplicativo usar para abri-lo; é um rótulo que existe de forma independente do conteúdo real do arquivo. Renomear `foto.jpg` para `notas.txt` não o transforma em texto, e remover a extensão de uma imagem real não apaga os dados da imagem por baixo. Justamente por esse rótulo ser, essencialmente, uma autodeclaração, o malware há muito tempo o explora para disfarçar executáveis como imagens ou documentos inofensivos.
Para contornar isso, a maioria dos formatos de arquivo incorpora um identificador único — chamado bytes mágicos ou número mágico — nos primeiros bytes. Um arquivo PNG, por exemplo, sempre começa com a sequência exata de 8 bytes `89 50 4E 47 0D 0A 1A 0A`, conforme definido pela especificação. Isso significa que um sistema operacional ou aplicativo só pode ter certeza real sobre o formato de um arquivo após inspecionar seu conteúdo real, não seu nome. Tanto o comando `file` do Unix quanto a detecção de tipo MIME dos navegadores baseiam-se principalmente na comparação desses bytes mágicos, e não na extensão.
Algumas sequências de bytes mágicos escondem um detalhe histórico engenhoso. Os 8 bytes do PNG incluem deliberadamente uma sequência de quebra de linha (0D 0A) justamente para que transferências em modo texto — que às vezes alteram as quebras de linha — possam ser detectadas como corrompidas. Longe de ser um identificador arbitrário, ele também funciona como uma verificação de integridade embutida, um pequeno detalhe que revela o quanto de reflexão existe por trás do design de formatos binários.