¿Cómo puedo incrustar datos en la sección TEXTO de un archivo binario mach-o Mac OS X?
Pregunta
Tengo una herramienta de línea de comandos de Mac OS X que se beneficiaría de tener algunos datos incrustados en el propio archivo binario.
Sé que los archivos mach-o son compatibles con múltiples segmentos, algunos de los cuales pueden usarse para almacenar datos arbitrarios. Pero no puedo encontrar una herramienta de línea de comandos para hacer eso.
Aunque sé que hay otras formas, probablemente más simples (por ejemplo, convertir el archivo de datos en código fuente C y hacer que gcc lo vincule) para obtener los datos en mi binario, este problema ha despertado mi interés. ¿Alguien sabe la magia?
Solución
El enlazador, ld, toma un argumento -screar.
Desde la página del manual,
-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 también tiene un section se puede aplicar a una variable para decir que pertenece a una sección no estándar.