Kombinieren von zwei Exe-Dateien

3673
Cyclone

Ist es möglich, zwei Exe-Dateien zu kombinieren?

Ich brauche es, um so zu arbeiten:

  • Benutzer läuft combined.exe(Kombination aus 2 Exe-Dateien).
  • Wenn das erste Exe geladen ist und der Benutzer dort auf "Start" geklickt hat (ich habe den Quellcode erhalten), wird die zweite Exe-Datei ausgeführt.

Ist das überhaupt möglich?

1
Dafür gibt es viele Möglichkeiten. In welcher Sprache programmieren Sie? Um dies zu verdeutlichen, ist dies die Struktur: `Combined.exe` führt` first.exe` aus. Nachdem `first.exe` beendet ist, werden Sie aufgefordert,` second.exe` auszuführen. Oder ist `first.exe` die Eingabeaufforderung? iglvzx vor 12 Jahren 1
`first.exe` ist in AutoIT codiert, und der Benutzer kann dort auf" Start "klicken, um" second.exe "auszuführen (und dann schließt sich first.exe selbst). Cyclone vor 12 Jahren 0
Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Cyclone vor 12 Jahren 0
Wie gut kennen Sie sich mit AutoIt aus? Sie sollten in der Lage sein, das Ganze mit AutoIt zu schreiben. Ich benutze AutoHotkey selbst und ein solches Programm würde ein paar Zeilen Code enthalten. iglvzx vor 12 Jahren 1
Ja, ich weiß, aber ich möchte sowohl `first.exe` als auch` second.exe` ausblenden und nur die `kombinierte.exe` anzeigen. = / Cyclone vor 12 Jahren 0

4 Antworten auf die Frage

1
Synetech

Fügen Sie die zweite EXE-Datei als Ressource im Wrapper-Programm hinzu. Wenn Sie es dann ausführen müssen, können Sie es in ein temporäres Verzeichnis extrahieren und ausführen .

(Ich nehme an, dass, indem ich den Quellcode [sic] bekam, meinen Sie AutoIt - Code?) Ich habe nur eine kurze Überprüfung durchgeführt, aber ich denke, AutoIt (oder zumindest der Compiler) unterstützt das Hinzufügen und Extrahieren von Ressourcen Windows-API Beim Schützen der EXE- Datei können Sie kaum eine starke Verschlüsselung durchführen, aber Sie können die Datei sperren und sie mit dem Flag FILE_FLAG_DELETE_ON_CLOSE schließen, um sie automatisch zu löschen.

Ja, gute Punkte, aber ich möchte verhindern, dass die beiden Dateien extrahiert werden oder etwas, weil ich nicht will, dass jeder Benutzer die Berechtigung hat, `first` und` second.exe 'anzuzeigen (selbst wenn es sich dabei um das temporäre Extrahieren handelt Verzeichnis). Zu schade, ich habe keine Ahnung von Codierung in C # = / Cyclone vor 12 Jahren 0
1
user30441

In the malware world people often use .exe binders to combine two and sometimes encrypt the final result to prevent detection, so you may find that much of the software available to do this will result in your application being flagged as malware.

Example of software intended for malicious purposes: File Joiner

However, if you omit the encryption stub you may find that the is not flagged, just upload to virustotal.com and check the results. I would do this regardless of which solution you choose.

0
cyanic

You should look at EXE protectors if you don't want users to be poking at your code. It's hard to dynamically start a new process without a stub EXE of some sort, and I wouldn't even try to write EXE segments from AutoIt. (Actually, I've been able to execute pieces of assembly from AutoIt, but on Vista+ Data Execution Prevention usually kills it.)

0
iglvzx

Dies unterscheidet sich geringfügig von Ihrem Beispiel, aber Sie kombinieren .exes mithilfe von AutoHotkey : Kompilieren Sie das folgende Skript mit First.exeund Second.exeim selben Ordner. Nach dem Kompilieren müssen Sie nur noch die einzelne Wrapper-EXE-Datei behalten .

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