我希望能够简单地运行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字符。
所以我几乎都在问,是否有办法在批处理文件中嵌入文件?即使是音频文件也可能?
答案 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 CERTIFICATE
和END CERTIFICATE
),而base64编码的字符串比十六进制字符串短。< / p>