Как я могу извлечь массив из исполняемого файла? - PullRequest
1 голос
/ 27 апреля 2010

Я хочу сделать обратный этот вопрос .

Я встраиваю файл в исполняемый файл в виде массива, и позже я хотел бы извлечь встроенный файл из исполняемого файла.

Кажется, что здесь может пригодиться objcopy, но я еще не выяснил правильное заклинание.

(Изменить: уточнить вопрос, я как-то убрал суть его в редактировании изначально ...)

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Если вы поместите встроенный файл в его собственный раздел, вы можете использовать objcopy для извлечения этого раздела в необработанный выходной файл, я думаю. Посмотрите в GCC __attribute__((section("embedded_file") )) Или, если вы загружаете файл в исполняемый файл каким-либо другим способом, используя компоновщик, вы можете получить его в другом разделе, но я не знаком с этим.

1 голос
/ 27 апреля 2010

Поместите узнаваемый шаблон в начале массива, чтобы помочь вам найти данные в файле.

Если вы создаете исполняемый файл Windows, поместите данные в двоичный ресурс исполняемого файла вместо простого кодирования в массив - тогда вы можете использовать обычные функции ресурсов Windows (FindResource , LoadResource и т. Д.), Чтобы получить данные (хотя это немного сложнее, чтобы правильно работать, чем изначально кажется, что это должно быть).

...