Hexter

Como abrir e ler um arquivo binário no Mac

Você tem um arquivo sem extensão útil, ou um que o macOS não reconhece, um .bin, um dump de firmware, um save antigo de jogo, algo que um dispositivo exportou. Dá dois cliques e ou não acontece nada, ou ele abre no TextEdit como uma parede de caracteres quebrados. Você quer saber como abrir um arquivo binário no Mac sem chutar e sem colocar o próprio arquivo em risco.

Por que dar dois cliques não funciona

O macOS decide como abrir um arquivo com base na extensão dele e, na falta disso, em um palpite sobre seu tipo. Arquivos binários, arquivos que armazenam dados brutos em vez de texto, não têm uma extensão padrão que o sistema reconheça, então o macOS ou se recusa a abri-los ou os entrega para o app que ele acha mais próximo. Normalmente é o TextEdit, que tenta decodificar os bytes como texto e te mostra símbolos majoritariamente ilegíveis, com uma palavra de verdade aparecendo aqui e ali.

Esse efeito de palavra-legível-no-meio-do-ruído não é coisa da sua cabeça. Arquivos binários costumam conter texto embutido (caminhos de arquivo, rótulos, strings de versão) mesmo que os dados ao redor sejam genuinamente binários. O TextEdit renderiza tudo isso como texto, e é por isso que você vê aquele visual meio embaralhado, meio familiar. Ele não está de fato te mostrando nada útil, e, se você salvar pelo TextEdit por acidente, pode corromper o arquivo.

O que você realmente quer: uma visão hexadecimal

Um arquivo binário é só uma sequência de bytes, cada um um número de 0 a 255. A forma padrão de examinar isso com segurança é uma visão hexadecimal: cada byte mostrado como um valor hexadecimal de dois caracteres (00 a FF), alinhado em linhas ao lado de uma coluna de offset (onde você está no arquivo) e de uma coluna de texto (os mesmos bytes interpretados como ASCII, nas partes que forem legíveis). É isso que um editor hexadecimal te dá, e é a única visão que te mostra o conteúdo real sem chutar um formato.

Três formas de chegar lá

Terminal, com xxd ou hexdump. O macOS traz os dois. Rode xxd yourfile.bin | less e você terá um dump hexadecimal rolável direto no Terminal. É rápido e está sempre disponível, mas é somente leitura, não tem busca, nem ir para offset, nem interpretação do que você está vendo além do hex bruto. Ótimo para uma espiada rápida, desajeitado para qualquer coisa além disso.

TextEdit ou outro editor de texto. Não faça isso. Como já dito, ele decodifica bytes como texto, que é a lente errada para dados binários, e há risco real de corromper o arquivo silenciosamente se ele for salvo.

Um editor hexadecimal dedicado. Essa é a ferramenta certa se você está fazendo algo além de uma olhada de cinco segundos: rolar por um arquivo grande, buscar um padrão de bytes específico, pular para um offset conhecido ou verificar o que uma sequência de bytes de fato representa (um número, uma data, uma cor, uma string em outra codificação). O Hexter foi feito exatamente para isso. Ele abre todo arquivo em modo somente leitura por padrão, então examinar um arquivo binário desconhecido não traz risco de alterá-lo. Os arquivos abrem instantaneamente, não importa o tamanho, porque o Hexter lê bytes sob demanda em vez de carregar o arquivo inteiro na memória.

Passo a passo

  1. Abra o arquivo. Arraste-o para o Hexter ou use Arquivo > Abrir. Não é preciso adivinhar um tipo de arquivo primeiro; o Hexter abre qualquer coisa como bytes brutos.
  2. Leia o layout. A coluna de offset à esquerda te diz onde você está no arquivo. A grade hexadecimal no meio mostra cada byte como dois caracteres hex. O painel de texto à direita mostra os mesmos bytes como ASCII, nas partes do arquivo que forem texto de verdade.
  3. Pule para um offset específico com ⌘J se você já sabe onde procurar, em vez de rolar.
  4. Selecione bytes para inspecioná-los. Selecionar uma faixa mostra esses dados interpretados como diferentes tipos numéricos (inteiros de 8, 16, 32 ou 64 bits, com ou sem sinal, em qualquer ordem de bytes) na barra lateral do Inspetor. É assim que você descobre se quatro bytes são um tamanho de arquivo, um carimbo de data/hora ou outra coisa.
  5. Busque com ⌘F se você está procurando uma string ou sequência de bytes específica, em vez de rolar manualmente.
  6. Só ative a edição se você de fato precisar mudar algo. O Hexter mantém os arquivos em modo somente leitura até você ativar a edição explicitamente, e, mesmo então, as alterações ficam em uma camada de patches reversível até você decidir salvar. Nada que você faça enquanto só examina pode tocar no arquivo original.

Se acabar que o arquivo é um formato que o Hexter reconhece estruturalmente, PNG, ZIP, Mach-O, WAV ou SQLite, a aba Analisar vai extrair a estrutura de verdade (limites de chunks, cabeçalhos, campos) ao lado dos bytes brutos, então você recebe mais do que só o hex.

Esse é o fluxo inteiro: abrir, ler as três colunas, pular ou buscar para chegar onde precisa e inspecionar uma seleção quando precisar saber o que uma sequência específica de bytes de fato significa. Sem chutes, e sem nada em risco até você mandar.