Как вставить данные в раздел TEXT бинарного файла Mac OS X?
Вопрос
У меня есть инструмент командной строки Mac OS X, для которого было бы полезно встроить некоторые данные в сам двоичный файл.
Я знаю, что файлы mach-o поддерживают несколько сегментов, некоторые из которых можно использовать для хранения произвольных данных. Но я не могу найти инструмент командной строки для этого.
Хотя я знаю, что есть и другие, возможно, более простые способы (например, преобразовать файл данных в исходный код C и связать его с помощью gcc), чтобы передать данные в мой двоичный файл, эта проблема заинтересовала меня. Кто-нибудь знает магию?
Решение
Компоновщик ld принимает аргумент -sectcreate.
Со страницы руководства,
-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 также имеет section , который можно применить к переменной, чтобы сказать, что она принадлежит к нестандартному разделу.