Como faço para inserir dados em um Mac OS X mach-o seção de texto do arquivo binário?

StackOverflow https://stackoverflow.com/questions/1604673

  •  05-07-2019
  •  | 
  •  

Pergunta

Eu tenho uma ferramenta de linha de comando Mac OS X que iria beneficiar de ter alguns dados incorporados no próprio arquivo binário.

Eu sei mach-o-arquivos suportar vários segmentos, alguns dos quais podem ser usados ??para armazenar dados arbitrários. Mas eu não posso encontrar uma ferramenta de linha de comando para fazer isso.

Enquanto eu sei que existem outras maneiras, provavelmente mais simples (por exemplo, converter o arquivo de dados em código-fonte C e tê-lo ficar ligado em pelo gcc) para obter os dados em meu binário este problema tem despertou meu interesse. Alguém sabe a mágica?

Foi útil?

Solução

O linker, ld, leva uma -sectcreate argumento.

A partir da página homem,

 -sectcreate segname sectname file
             The section sectname in the segment segname is created from
             the contents of file file. The combination of segname and 
             sectname must be unique  there cannot already be a 
             section (segname,sectname) from any other input.

GCC também tem um seção atributo que pode ser aplicado a uma variável para dizer que ele pertence a uma seção não-padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top