Объединение двух исполняемых файлов

3608
Cyclone

Возможно ли объединить два exe-файла?

Мне нужно, чтобы это работало так:

  • Пользователь работает combined.exe(комбинация из 2 exe-файлов).
  • Когда первый исполняемый файл загружен и пользователь нажал там кнопку «Пуск» (я получил исходный код), тогда будет запущен второй исполняемый файл.

Это вообще возможно?

1
Есть много способов сделать это. На каком языке вы кодируете? Также, чтобы уточнить, является ли эта структура: `Combined.exe` запускает` first.exe`; После завершения `first.exe`, предложите запустить` second.exe`? Или `first.exe` подсказка? iglvzx 12 лет назад 1
`first.exe` закодирован в AutoIT, и пользователь сможет там нажать« Пуск », чтобы запустить` second.exe` (а затем first.exe закроется сам). Cyclone 12 лет назад 0
Дайте мне знать, если вам нужна дополнительная информация. Cyclone 12 лет назад 0
Насколько вы знакомы с AutoIt? Вы должны быть в состоянии написать все это, используя AutoIt. Я сам использую AutoHotkey, и такая программа будет состоять из нескольких строк кода. iglvzx 12 лет назад 1
Да, я знаю, но я хотел бы скрыть как `first.exe`, так и` second.exe` и отображать только `комбинированный.exe`. знак равно Cyclone 12 лет назад 0

4 ответа на вопрос

1
Synetech

Добавьте второй EXE-файл в качестве ресурса в программу-оболочку. Затем, когда вам нужно запустить его, вы можете извлечь его во временный каталог и запустить его .

(Я полагаю, что когда я получил [sic] исходный код, вы имеете в виду код AutoIt?) Я сделал только быструю проверку, но я думаю, что AutoIt (или, по крайней мере, компилятор) поддерживает добавление и извлечение ресурсов, и он должен поддерживать использование Windows API. Что касается защиты EXE -файла, на самом деле мало что можно сделать, кроме надежного шифрования, но вы можете заблокировать файл и закрыть его, установив флаг FILE_FLAG_DELETE_ON_CLOSE для его автоматического удаления.

Да, хорошие моменты, но я бы хотел запретить извлечение обоих файлов или что-то в этом роде, потому что я не хочу, чтобы у какого-либо пользователя были права на просмотр `first` и` second.exe` (даже если он будет извлечен во временный файл). каталог). Также очень плохо, я понятия не имею о кодировании в C # = / Cyclone 12 лет назад 0
1
user30441

В мире вредоносных программ люди часто используют связующие .exe для объединения двух, а иногда шифруют конечный результат, чтобы предотвратить обнаружение, поэтому вы можете обнаружить, что большая часть программного обеспечения, доступного для этого, приведет к тому, что ваше приложение будет помечено как вредоносное ПО.

Пример программного обеспечения, предназначенного для вредоносных целей: File Joiner

Однако, если вы пропустите заглушку шифрования, вы можете обнаружить, что она не помечена, просто загрузите ее на virustotal.com и проверьте результаты. Я бы сделал это независимо от того, какое решение вы выберете.

0
cyanic

Вы должны посмотреть на EXE-протекторы, если вы не хотите, чтобы пользователи копались в вашем коде. Трудно динамически запустить новый процесс без какого-либо незавершенного EXE-файла, и я бы даже не пытался писать EXE-сегменты из AutoIt. (На самом деле, я был в состоянии выполнить части сборки из AutoIt, но в Vista + Data Execution Prevention обычно это убивает.)

0
iglvzx

Это немного отличается от вашего примера, но это то, как объединить .exe-файлы с помощью AutoHotkey : скомпилировать следующий скрипт с одной First.exeи Second.exeтой же папкой. После компиляции вам нужно только сохранить единственную оболочку .exe .

FileCreateDir, tmp  FileInstall, First.exe, tmp\First.exe FileInstall, Second.exe, tmp\Second.exe  RunWait, tmp\First.exe  MsgBox, 4,, Run Second.exe?  IfMsgBox, Yes RunWait, tmp\Second.exe  FileRemoveDir, tmp, 1  ExitApp 

Похожие вопросы