Como Gerard H. Pille já disse, esses arquivos são executáveis, projetados para serem lidos diretamente pelo SO e pelo processador. Tecnicamente, o nome do formato do arquivo é Mach-O, ou formato de arquivo objeto Mach .
Com o comando strings
, você pode exibir qualquer seqüência de texto descompactado em um executável. Se você precisar identificar um arquivo executável desconhecido, isso às vezes é útil. Por exemplo: strings /usr/bin/csrutil | less
Tecnicamente, é possível traduzir o código da máquina de volta para um formato mais legível para humanos. Isso é chamado de desmontar um executável, e o resultado seria em linguagem assembly específica para cada arquitetura de processador: por exemplo, a linguagem de montagem de Macs modernos baseados em Intel de 64 bits Os processadores x86 seriam diferentes da linguagem de montagem dos antigos PowerMacs que usavam processadores PowerPC da Motorola.
Você também pode usar um utilitário debugger , de preferência com o arquivo de símbolos de depuração correspondente ao executável você está depurando, para monitorar o funcionamento interno de um executável em execução. Ou se você tiver um problema que cause a falha de um programa, você poderá ativar core dumps e usar um depurador para analisar o arquivo de dump principal resultante do travamento de um programa.
Ler a linguagem de montagem não é nada como ler um script de shell: ele requer muito mais compreensão dos detalhes técnicos do processador e do sistema operacional. Até mesmo uma operação simples, como a saída de algum texto, requer várias instruções em linguagem assembly para localizar o endereço de memória do texto a ser exibido e, em seguida, chamar a função apropriada do sistema operacional que realmente faz o trabalho.
No entanto, há uma ressalva legal: dependendo da legislação local, você pode ter concordado em não desmontar quaisquer executáveis do sistema operacional (se o usuário legal tiver que clicar ao instalar o sistema operacional for executável) - e a lei de direitos autorais definitivamente restringir o uso de informações obtidas de tal desmontagem.
Como o sistema operacional macOS é proprietário e não é de código aberto, você provavelmente teria que ser empregado pela Apple (ou pelo menos ter um bom motivo e ter assinado um NDA apropriado) para ter a chance de ver o real. código-fonte que produziu qualquer versão publicada do macOS.