如何使用批处理文件创建EXE可执行文件?

时间:2015-06-15 03:53:38

标签: windows batch-file

我希望能够简单地运行Windows批处理文件并让它创建一个.exe可执行文件。

我知道您可以批量创建包含以下脚本的文件:

@echo off
echo This will be in a text file! >> test.txt
echo And this will be the second line! >> test.txt

所以我想知道,是否可以复制EXE文件的源代码并添加" echo"在每一行前面,一个" >> TEST.EXE"每一行结束?

我试图在Notepad ++中打开39KB .exe,但它只是一堆黑色的NUL字符。

所以我几乎都在问,是否有办法在批处理文件中嵌入文件?即使是音频文件也可能?

1 个答案:

答案 0 :(得分:3)

这是如何使用certutil实用程序完成的。 在这种情况下,它通过硬编码路径来演示whoami.exe,它是Windows中的内置命令。

首先使用嵌入的.exe:

创建.bat的脚本
@echo off
certutil -f -encode  %windir%\system32\whoami.exe whoami.b64
echo @echo off >container.bat
echo certutil -decode "%%~f0" whoami.exe>>container.bat
echo call whoami.exe>>container.bat
echo exit /b %%errorlevel%%>>container.bat
type whoami.b64>>container.bat
del whoami.b64

对于你的exe,你需要改变exe的路径。然后container.bat应该是这样的:

@echo off 
certutil -decode "%~f0" whoami.exe
call whoami.exe
exit /b %errorlevel%
-----BEGIN CERTIFICATE-----
...
..base64 encoded content...
...
-----END CERTIFICATE----

certutil可以编码/解码base64和hex这里base64更方便,因为它可以嵌入到批处理中,这要归功于括号(BEGIN CERTIFICATEEND CERTIFICATE),而base64编码的字符串比十六进制字符串短。< / p>