Quando eu executo um Hexdump usando o comando xxd -b "textile.txt"
no OS X, o terminal imprime tanto o binário como o equivalente ASCII real na coluna mais à direita, mostrando o conteúdo dos arquivos de texto em inglês.
Se eu criar um programa C simples que não faça nada além de imprimir 'olá mundo' no terminal e salvá-lo como um arquivo .exec
, a saída do comando xxd -b
conterá binário que, quando traduzido, não está em nenhuma parte para ser encontrado no código-fonte original de pré-compilação de arquivos .exec.
Exemplo:
0002034: 00000101 00000000 00000010 01011111 01101101 01101000 ..._mh
000203a: 01011111 01100101 01111000 01100101 01100011 01110101 _execu
0002040: 01110100 01100101 01011111 01101000 01100101 01100001 te_hea
0002046: 01100100 01100101 01110010 00000000 00100001 01101101 der.!m
000204c: 01100001 01101001 01101110 00000000 00100101 00000010 ain.%.
Estou assumindo que o processo de compilação é responsável por isso, o que me leva a teorizar que essa saída na coluna mais à direita pode, de fato, ser um código Assembly.
Minha pergunta em resumo:
Qual é a natureza da saída de despejo hexadecimal para arquivos .exec, especificamente: é o código de montagem e, se não, o que é isso?
Obrigado antecipadamente.