Visualizando e Editando Código Hexadecimal no macOS

Ao lidar com arquivos incomuns, olhar para os bits reais que compõem o arquivo pode ser extremamente valioso. Se nada mais, você pode ler os cabeçalhos do arquivo e decifrar seu propósito. Editar código hexadecimal é um negócio complexo, mas pode ser feito com uma variedade de editores hexadecimais no macOS. O que é código hexadecimal e por que vale a pena examiná-lo?

Leia também: Quais São as Diferenças Entre Binário, Decimal e Hexadecimal?

O Que É Código Hexadecimal?

Na computação, o hexadecimal fornece uma maneira mais concisa de representar valores binários. Ele usa um sistema numérico de base 16 em vez da base 2 do binário. Graças ao espaço numérico maior, múltiplos dígitos binários podem ser expressos em um único dígito hex. Cada dígito hexadecimal expressa quatro dígitos binários. Se você se lembra do seu binário, saberá que metade de um byte tem exatamente 16 valores possíveis – o mesmo número de valores que um dígito hex pode ter. Examine a tabela abaixo para ver as equivalências.

valores-equivalentes-hexadecimal-decimal-binário

Combine dois números hexadecimais e você pode expressar oito bits de informação. Isso é equivalente a um byte com trinta e dois valores possíveis. Um único byte varia de 0000 0000 a 1111 1111. Em hexadecimal, isso é de 00 a FF, respectivamente. Ao escrever valores hexadecimais como uma série de pares, você pode facilmente “chunk” os dados binários de um arquivo em bytes.

Essencialmente, hexadecimal e binário fornecem diferentes “quadros” para os mesmos dados subjacentes. Os humanos podem ler hex facilmente, enquanto os computadores podem ler binário facilmente.

Convenções para Ler e Escrever Valores Hexadecimais

Ao escrever valores hexadecimais, os caracteres 0x podem iniciar o valor. Esses caracteres rotulam os valores seguintes como hexadecimais. Como hex, binário e octal podem parecer iguais à primeira vista, esse prefixo reservado evita confusão e reduz erros.

Por exemplo, 0x2FF0C4 descreve um endereço hexadecimal na memória equivalente a um valor binário de 0010 1111 1111 0000 1100 0100 e um valor decimal de 3.141.828. Apenas 2FF0C4 conta como parte do valor. Os caracteres 0x à frente apenas indicam o sistema numérico.

Quando um documento inteiro é processado como hexadecimal, os valores são mostrados em pares, como FF A0 2D CE. Isso separa os valores em strings de comprimento de byte, facilitando a leitura para os humanos.

Visualizando e Editando Código Hexadecimal no macOS

Você precisará de um aplicativo visualizador hexadecimal para visualizar código hexadecimal no macOS. Existem algumas opções gratuitas disponíveis.

  • 0xED é um codificador gratuito e simples que oferece algumas opções de personalização. O aplicativo é focado na interpretação clara e rápida de valores hexadecimais. É uma introdução rudimentar, mas útil, aos editores hexadecimais.

editor-hexadecimal-0xed-hero

  • Synalyze It! é um interpretador hex profissional pago com codificação de cores embutida para análise visual de arquivos. Ele também inclui um enorme repositório de “gramáticas”. Estas aplicam estruturas de arquivos conhecidas ao código hexadecimal. Esses quadros ajudam você a entender, interpretar, buscar e editar o código hex.

editor-hexadecimal-synalyze-it-hero

Uma vez que você tenha qualquer um dos aplicativos, pode abrir qualquer arquivo para visualizar o código binário subjacente apresentado em valores hexadecimais. Isso é mais útil para certos tipos de arquivos do que para outros, mas na maioria dos casos você verá valores hexadecimais à esquerda com a interpretação ASCII desses valores à direita. Dessa forma, você pode “ler” o arquivo e começar a compreender o que está acontecendo.

Editores hex também podem editar código hex. Não é tão simples quanto editar texto, no entanto – nem é tão indulgente. Editores hex editam código em pares de comprimento de byte, sobrescrevendo e substituindo dois valores simultaneamente. Se você não tiver extremo cuidado, pode corromper um arquivo funcional instantaneamente. Para se proteger contra essa fragilidade, sempre duplique um arquivo antes de editar seu código hex.

Leia também: Usando um Editor Hex no Linux

Conclusão: Para Que Servem os Editores Hex?

Apenas abrir arquivos aleatórios em um editor hex pode ser divertido. No entanto, não é muito útil. Há uma gama estreita de circunstâncias nas quais os editores hex mostram sua qualidade. Se você precisa visualizar e editar código binário, então os editores hex são a melhor ferramenta para o trabalho.

Por exemplo, ao escrever um programa que gera dados binários, você deve inspecionar manualmente os arquivos para qualidade. Eles também podem ajudar a recuperar ou analisar arquivos de terceiros corrompidos. Editores hex podem abrir qualquer arquivo, seja corrompido ou inválido. Isso significa que você pode às vezes “consertar” um arquivo corrompido com um editor hex ou pelo menos determinar o que está causando o erro. Se você precisa fazer uma edição precisa em um arquivo de sistema, como mudar um endereço de memória em um kext, um editor hexadecimal é a única ferramenta para o trabalho. Graças à sua utilidade generalizada, qualquer pessoa interessada nos detalhes da computação e programação deve se familiarizar com um editor hex.