利用certutil.exe實現(xiàn)在批處理(bat)中嵌入exe文件的方法
利用certutil.exe實現(xiàn)在批處理(bat)中嵌入可執(zhí)行文件或者各種媒體、圖片之類二進制文件的簡單方法!
實際上利用certutil.exe 把二進制文件(包括各種文件,exe可執(zhí)行程序,圖片,聲音,mp3) 經(jīng)過base64編碼為文本,可以實現(xiàn)把這些文件嵌入到批處理代碼中。
###有什么用?:
舉個例子,批處理經(jīng)常需要依賴其它命令行工具實現(xiàn)自動化腳本,如果把這些工具轉(zhuǎn)成文本嵌入到代碼中,貼到網(wǎng)上就可以直接把可用的代碼發(fā)出去了。不需要上傳附件。
###缺點:
base64編碼后的文本比原文件長1/3,加上如果依賴的文件體積大,轉(zhuǎn)換出來的文本內(nèi)容會非常長。這個缺點影響了這個玩法的實用性。
xp 中沒有certutil 這個工具,影響了適用范圍。
如果依賴多個文件,需要用winrar 打包成exe 自解壓文件,然后再編碼。
certutil 是一個證書工具,功能挺豐富的,參數(shù)非常多,我這里只截取和base64編碼相關(guān)的幫助信息:
``` C:\Users\Administrator>certutil.exe /? 動詞: -dump -- 轉(zhuǎn)儲配置信息或文件 -asn -- 分析 ASN.1 文件 -decodehex -- 解碼十六進制編碼的文件 -decode -- 解碼 Base64 編碼的文件 -encode -- 將文件編碼為 Base64 。。。
##用法如下:
###第一步,先cmd中執(zhí)行命令編碼文件,我用一個小mp3文件示范:
```
E:\Game\New Heroes3\Mp3>certutil -encode hello.mp3 hi.bat
```
###第二步,命令行執(zhí)行完后,得到一個hi.bat,用記事本能看到一大串,base64的字母。
不要修改文件其中的內(nèi)容,只在文件頭部寫入你自己的批處理代碼,用certutil -decode把文本還原為文件,
如果你把以下代碼存為xx.bat 并運行,應(yīng)該可以聽到這個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/mGECXznOHxh2850FA0Vv8 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 1YzIAh2KOv5gViP/4yLEChRZavV+CkRCMiX/DgRf5wMCAW/3K/9Smf+iobznoqP+ qFMKa0H0AZ6osaDpsHwuBCQdsFnHTV/8YKEE8FFVjDzWe7/W1zMXvLKBlhse9inq Ep/zEScFZExJVXsBIEwHQpPeyp3/4yDEFBQZLsgKaxKQiWVR2BEsnJNMDgwNzA7R IkTWdhNYqgERERJPUTSXjTT2E2nNDMh589ZFkamh4Kig5H////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-----
2016年8月31日 22:52:03 codegay
windows 2012 Server x64 測試可行。xp上不帶certutil,聽說2000以上的系統(tǒng)才帶有這個命令工具。使用其它系統(tǒng)的同學(xué),如果可以請測試反饋一下是否可行。
擴展閱讀
《certutil - decode/encode BASE64/HEX strings.Print symbols by HEX code. 》
用 certutil 實現(xiàn) Hex2Bin 和 Base64 加解密 http://www.dbjr.com.cn/article/93966.htm
相關(guān)文章
Windows自帶的端口轉(zhuǎn)發(fā)工具netsh使用方法
微軟Windows的netsh是一個命令行腳本實用工具。使用netsh工具 ,可以查看或更改本地計算機或遠程計算機的網(wǎng)絡(luò)配置。不僅可以在本地計算機上運行這些命令,而且可以在網(wǎng)絡(luò)上的遠程計算機上運行。2015-05-05在WINDOWS下dos與批處理中的命令cd /d %~dp0及其用途
這篇文章主要介紹了在WINDOWS下dos與批處理中的命令cd /d %~dp0及其用途,需要的朋友可以參考下2023-05-05批處理應(yīng)用根據(jù)文件內(nèi)容進行重命名操作
批處理應(yīng)用根據(jù)文件內(nèi)容進行重命名操作...2007-03-03在網(wǎng)上找的創(chuàng)建《CMD命令速查手冊》的批處理
在網(wǎng)上找的創(chuàng)建《CMD命令速查手冊》的批處理,這個批處理可以生成CMD命令速查手冊,喜歡的朋友可以參考下。2011-01-01批處理bat函數(shù):大數(shù)字加減乘除、時期時間計算、數(shù)字排序、進制轉(zhuǎn)換等
這篇文章主要介紹了批處理bat函數(shù):大數(shù)字加減乘除、時期時間計算、數(shù)字排序、進制轉(zhuǎn)換等,默認情況下批處理是不支持的,只能自己寫函數(shù)2021-09-09bat批處理實現(xiàn)的創(chuàng)建10個文件夾,文件夾再包含5個空文件夾
求bat代碼,創(chuàng)建10個文件夾,每個文件夾再包含5個空文件夾.2008-10-10