温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用certutil.exe实现在批处理bat中嵌入exe文件

发布时间:2021-08-27 09:19:23 来源:亿速云 阅读:466 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关如何利用certutil.exe实现在批处理bat中嵌入exe文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

实际上利用certutil.exe 把二进制文件(包括各种文件,exe可执行程序,图片,声音,mp3) 经过base64编码为文本,可以实现把这些文件嵌入到批处理代码中。

###有什么用?:
举个例子,批处理经常需要依赖其它命令行工具实现自动化脚本,如果把这些工具转成文本嵌入到代码中,贴到网上就可以直接把可用的代码发出去了。不需要上传附件。

###缺点:
base64编码后的文本比原文件长1/3,加上如果依赖的文件体积大,转换出来的文本内容会非常长。这个缺点影响了这个玩法的实用性。
xp 中没有certutil 这个工具,影响了适用范围。
如果依赖多个文件,需要用winrar 打包成exe 自解压文件,然后再编码。

certutil 是一个证书工具,功能挺丰富的,参数非常多,我这里只截取和base64编码相关的帮助信息:

```
C:\Users\Administrator>certutil.exe /?

动词:
 -dump    -- 转储配置信息或文件
 -asn    -- 分析 ASN.1 文件

 -decodehex  -- 解码十六进制编码的文件
 -decode   -- 解码 Base64 编码的文件
 -encode   -- 将文件编码为 Base64
。。。

##用法如下:
###第一步,先cmd中执行命令编码文件,我用一个小mp3文件示范:
```
E:\Game\New Heroes3\Mp3>certutil -encode hello.mp3 hi.bat
```
###第二步,命令行执行完后,得到一个hi.bat,用记事本能看到一大串,base64的字母。
不要修改文件其中的内容,只在文件头部写入你自己的批处理代码,用certutil -decode把文本还原为文件,
如果你把以下代码存为xx.bat 并运行,应该可以听到这个MP3文件的声音。

@echo off
certutil -decode "%~f0" hello.mp3
start hello.mp3
exit /b 1


-----BEGIN CERTIFICATE-----
/+MgxAAUcQZgA0YYALhaemECCEECZNO7u7vGiIiI/7u7u6InxE57v+j+ifoBiz4g
cDgYlHMLv+oH35QEP5TqB8//8HDgnB/g+D5d/8oc8v+UB+GJR3BCJw+XD/8u8EEA
QAAUCgUCgUD/4yLECRWRPtJfjUAAoFAoFAe997lwJ35Twn+Wfemd/M3TCjiKAuH6
ThO2rqKA0MQ986vujKj97ehhiRAoIFAAKDH4Y9/0qdb/8utJp/nL/oh7w+go9H63
/8UVYYgEAna26X/FY2gtJAX/4yDEDheD7u4fxygDhs/mGECXznOHxh3850FA0Vv8
7ixf0cit7UuX60Mchn/Re+lUjdVexLlZE60OUz/sv///T/NVpaliArIZXXvXf/83
/dZNGrKRmK6v/RR2vceBkMxSptrrS/1hQf/jIsQLFZrm/j44RN4BJ/RRw02+AaEL
8jCEPgNCEL9hCEMHxCD/PNITPUVBka2KmaiI6dPT9Xrovun///R/dWS0UwMdwZAI
DB0FRhpLf5XUxR1TDBqz9aFKyBQAHIG2N388oIIJItv9L//jIMQQGALW5X5SBJoG
oR3PUwSaUaLjKf+bIFKv2lBp7vbtyjHO/1chDnf/hGVySE0JfRmIme9Gp79Eyf7f
////3kOc5zgY4QQQMCAEHO1dpPxI6wMZMo4aD7Hf6IEGASpG3Ab9SqUD/+MixAsW
c771/ihFVoM39Dv+YSOHCfKUpBMU+GSHyFEFNDdcTCIAF5poYP+AHNETRkvzIxn9
powA9f/2nd7HawcwQIxlR0d15e9X2r7///2pedetTijkDMRG3D4hCAm0ko/2JDkG
YFIG/+MgxA0XS7Lh9lHE+7Hh/5QMH/zAIBL/oPitv9Qqx23U44C3+p4ebuupxgjL
/kI//IFbp9f+5Fb/t/kQopWR2SzBArt/p/6F/9v+jFnJMqqims6KwxGVxqvJCbjt
1YzIAh3KOv5gViP/4yLEChRZavV+CkRCMiX/DgRf5wMCAW/3K/9Smf+iobznoqP+
qFMKa0H0AZ6osaDpsHwuBCQdsFnHTV/8YKEE8FFVjDzWe7/W1zMXvLKBlhse9inq
Ep/zEScFZExJVXsBIEwHQpPeyp3/4yDEFBQZLsgKaxKQiWVR2BEsnJNMDgwNzA7R
IkTWdhNYqgERERJPUTSXjTT2E2nNDMh689ZFkamh5Kig5H////auJk////9VNQHv
//3/FcFJ3lCEEhVP7kxQKjNfDDSQOgETipY2wP/jIsQeFECG1B5STIBwKhoMmToN
JHAU6sNhJ9VA0VGgJbEstsSq/+zG8RQ6w2Gjx14amdV7P/sm7S/vLU/p/e8HbbbZ
/mYX5Iugggyx1CxINsdGVQQ+hrasb9hJdI0CiocLm2H3yxCec//jIMQpFHDexB9Q
KADMBeZDO1aiHAv2rFOqxOrHvIgZ7xXezcxdWJjKbZdtrWaWbtiufbotrZPTSObk
6nZFkDFOrmJKRrt1p39vw9asCwqiptI09RkRU1zxUiGKqjB8b0IRq8NIes/4/+Mi
xDIXkXakAZhAAKk3F/n/c8SSIR0vfMyMIHuYyqtcRK//vsd1uenTpT2/7/P/3vRf
Z+vov91a1QD3SEsiYyVJQPFTaKlxcsfn86WVZZVMRjEyqjnRyYFYZpZbswZNjFWG
aOrQVQOu/+MgxC8fw2J8y5hAAGNVhmj/yQ9DkagKiZVdmn//GDyjxXVIVYZpVY//
/u7huJmRUYzSqwzSqx///+cqipC050k5TSzarDXKrw3/////axNSTWrWUcoKlitX
//4lEuXWCCAKAFCFBY7/4yLECxRq9kQXyBAAGirKKmrsx1Q1///KXK3Q3//lL///
/KX//0No/KXL//MbMbUpXl/5S0MZkMbKUu1DVLlKWhhQwGoKneJYKuEQcLfrO8Gv
8SpMQU1FMy45Ni4xqqqqqqqqqqqqqqr/4yDEFQAAA0gAAAAAqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==
-----END CERTIFICATE-----

关于“如何利用certutil.exe实现在批处理bat中嵌入exe文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI