Как вставить данные в раздел TEXT бинарного файла Mac OS X?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть инструмент командной строки 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 , который можно применить к переменной, чтобы сказать, что она принадлежит к нестандартному разделу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top