Как создаются самораспаковывающиеся исполняемые файлы? - PullRequest
3 голосов
/ 12 февраля 2010

Существует множество программ, которые позволят вам упаковать несколько файлов и сгенерировать исполняемый файл, содержащий необходимый код для их извлечения. Каким-то образом эти файлы находятся внутри исполняемого файла. Я заинтересован в том, чтобы делать то же самое; как это сделать?

К вашему сведению, меня интересуют, прежде всего, файлы .exe Windows, если это имеет значение.

Ответы [ 5 ]

2 голосов
/ 12 февраля 2010

Посмотрите на это: Артикул

1 голос
/ 12 февраля 2010

Самораспаковывающиеся файлы .exe - это обычно архивные файлы (zip, rar, tar и т. Д.), Объединенные вместе с небольшой программой, которая выполняет извлечение, а затем выполняет программу, извлеченную из архива.

Действительно сложный человек может извлечь архив в память, а затем перейти к извлеченному коду и запустить его, но в старые времена такие вещи было проще сделать.

Если вы хотите написать свое собственное в Windows, вы создадите небольшое консольное приложение, которое будет выполнять извлечение, и вы включите «настоящую» программу в ресурсы консольных программ.

1 голос
/ 12 февраля 2010

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

е:

http://www.codeproject.com/KB/winsdk/binaryresources.aspx

0 голосов
/ 12 февраля 2010

UPX - это хорошо известный упаковщик для Windows .EXE, который можно найти здесь, на WikiPedia. А вот основной сайт на sourceforge для UPX.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

0 голосов
/ 12 февраля 2010

Есть также такие продукты, как pkzip и winzip, которые делают это для вас. Если ваше время чего-то стоит, оно будет более эффективным.

...