Merge 以编程方式将两个exe文件合并为一个

Merge 以编程方式将两个exe文件合并为一个,merge,exe,code-injection,Merge,Exe,Code Injection,是否有一种方法可以通过编程方式将两个exe文件合并为一个,以便运行它时可以同时执行两个旧的exe文件。我在谷歌上找到了一些关于注入代码或dll文件的东西,但这两个文件是否可以合并两个exe文件或将exe注入exe 提前谢谢 [编辑] 谢谢大家。对于那些说这是不可能的人,我不得不说,我最终几乎按照一些人建议的方式做到了。事情几乎是这样的(我记不清所有的事情了,因为那是很久以前的事了): [注意:此算法与某些蠕虫和病毒的算法非常相似。我不是黑客或病毒作者!此算法仅用于实验性或无害的原因-在代码中出错

是否有一种方法可以通过编程方式将两个exe文件合并为一个,以便运行它时可以同时执行两个旧的exe文件。我在谷歌上找到了一些关于注入代码或dll文件的东西,但这两个文件是否可以合并两个exe文件或将exe注入exe

提前谢谢

[编辑] 谢谢大家。对于那些说这是不可能的人,我不得不说,我最终几乎按照一些人建议的方式做到了。事情几乎是这样的(我记不清所有的事情了,因为那是很久以前的事了):

[注意:此算法与某些蠕虫和病毒的算法非常相似。我不是黑客或病毒作者!此算法仅用于实验性或无害的原因-在代码中出错会破坏目录中的可执行文件。]

1-Exe检查自身大小,以检测是否向自身添加了任何内容。如果没有,那么:

     1.1- The exe finds other executable files in its directory (lets call one of them as victim!)
     1.2- it makes a copy of itself (lets call it newMe)
     1.3- it copies the other executable found in the directory to the end of newMe.
     1.4- it deletes the other executable file found and renames newMe to its victim's name.
2-如果exe检测到添加了内容,则:

     2.1- Then it copies data from itself (from ORIGINAL_FILE_SIZE to the end of file) to a new file (lets call it newBorn.exe)
     2.2- It runs itself's code and then executes the newBorn.

我说我几乎做到了,因为通过这种方式,exe将另一个exe附加到自身。但是,在一个可执行文件中追加并执行2个甚至3个或更多可执行文件时,可以重复此操作。您只需知道所编写程序的原始文件大小。

不,最好是创建一个同时运行两个可执行文件的文件(Windows)

@echo off
c:\path\to\first\exe\file1.exe
c:\path\to\second\exe\file2.exe
您还可以在Linux中创建一个

#!/bin/sh
/path/to/first/exe/file1
/path/to/second/exe/file2
注意,这将在文件2之前执行文件1。

否不可能将一个exe“注入”到另一个exe中。这个动作甚至没有定义,因为当您将对象相互注入时,您无法控制执行内部

exe文件最接近的功能是管道,您可以将一个exe文件的输出重定向到另一个exe文件的输入:

one.exe | two.exe

您可以创建自己的EXE文件,其中包含两个其他EXE文件作为嵌入式资源,并提取和执行其中的每一个


请注意,如果将嵌入的EXE解压缩到其他目录,则该EXE可能无法工作。

将数据从一个文件复制到第三个文件 记住eof的位置。 将二进制文件从第二个文件添加到第三个文件。 然后在eof值的末尾添加数字(整数)。 在第一个文件中,应该有一个代码,可以将整个文件从文件末尾的这个值复制到另一个文件

然后执行


这是一种简单的方法。

从技术上讲,可以在您的exe中嵌入一些其他exe文件,一些打包程序(如upx)可以做到这一点。所以你应该可以对两个前男友做同样的事情

以类似unix的方式,您的exe可以分叉,然后第一个进程执行第一个旧的可执行文件,新进程执行第二个exe,之前可能在它们之间安装管道

但这显然不是那么容易做到的,而且很可能是对您的需求的一种无用的过度消耗
您可能只需要一个小的.bat或.sh

理论上这是可能的,但这需要您方面的一些努力

您可以将数据附加到exe文件,这就是自解压存档的工作方式。但是,您需要自己的数据格式,类似于文件系统,因为您只有一个flat.exe文件。
请看这篇微软的文章(关于谷歌还有很多)

然后,打包两个文件的exe必须提取这些文件并最终运行它们

祝你好运。

我注意到了你的“编程”限定符,但以防万一,不管你在做什么,代码外解决方案都是可以接受的

可以生成一个执行另外两个EXE的EXE。您可以从命令行构建IExpress包

SED文件:

[版本]
类别=IEXPRESS
SEDVersion=3
[选项]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=0
内部压缩=0
驾驶室固定尺寸=0
驾驶室重新编码=0
重新启动模式=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietinsCmd=%AdminQuietinsCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[字符串]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName=C:\combined.exe
FriendlyName=示例标题
AppLaunched=run.bat
PostInstallCmd=
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0=“FirstProgram.exe”
FILE1=“SecondProgram.exe”
FILE2=“run.bat”
[源文件]
SourceFiles0=C:\programs\
[SourceFiles0]
%FILE0%=
%文件1%=
%文件2%=

run.bat文件:

FIRSTP~1.EXE
第二个~1.EXE


运行combined.exe时,将执行firstProgram.exe。完成后,将执行secondProgram.exe。如果你想要FixStudio.EXE和SealEdio.EXE并发运行,可以通过对BAT文件的修改来完成。

< P>这是我在C++中如何编写病毒的方法。 系统(“键入virus.exe>>非\u virus.exe”) 但是,如果您是通过命令提示符执行此操作,那么只需执行此操作即可。 键入virus.exe>>而不是\u virus.exe
但我期待着一种方法,我可以预先编写它,而不是附加它,让它先转到第一行,然后将其代码复制到Windows上的受害者可执行文件中,我非常确定在两个.exe启动之前,一个.exe将完全执行。不确定这是否是我们想要的。因为将一个exe的输出重定向到另一个exe的输入与OP的意图不同。非常不同。这不是一个好建议,而且大部分都不起作用。所有三个文件都需要在同一目录中。也可以将两个二进制文件打包成一个,并让它们都运行。exefusion有一个特洛伊木马恶意软件。请您详细解释一下如何做到这一点,我也面临同样的需要。如何做到?做这件事的工具是什么?