欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

可以将文件转换为vbs语句的vbs代码

程序员文章站 2022-03-06 23:49:10
文章作者:xiaolu [bst] 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 这个不是exe2vbs 所有类型的文件都可以...
文章作者:xiaolu [bst]
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

这个不是exe2vbs 所有类型的文件都可以转化的 不过限于string的大小 文件不能太大 我测试过3m的文件是可以的
将下面的代码存为:file2vbs.vbs
复制代码 代码如下:

'program by xiaolu 
'name:file2vbs.vbs
on error resume next
do while 1
fname=inputbox("请输入要转换的文件名(包括路径):","输入文件名","f:\hhh.exe")
if fname="" then wscript.quit
err.number=0
set ado = createobject("adodb.stream")
with ado
.type = 1
.open
.loadfromfile fname
ss = .read
end with
if err.number<>0 then
if msgbox("文件打开错误!",1,"file2vbs")=2 then wscript.quit
else
exit do
end if
loop
fname=inputbox("请输入声成的vbs名(包括路径):","输入文件名","f:\hhh.vbs")
if fname="" then wscript.quit
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(fname,2, true)
lens=lenb(ss) mod 500
for j=0 to int(lenb(ss)/500)-1
if j=0 then
file.writeline "ss="""&bin2str(midb(ss,500*j+1,500))&"""_"
else
file.writeline "+"""&bin2str(midb(ss,500*j+1,500))&"""_"
end if
next
if lens>0 then
file.writeline "+"""&bin2str(rightb(ss,lens))&""""
else
file.writeline "+"&chr(34)&chr(34)
end if
file.writeline ""
file.writeline "set rs=createobject(""adodb.recordset""):l=len(ss)/2:rs.fields.append ""m"",205,l:rs.open:rs.addnew:rs(""m"")=ss&chrb(0):rs.update:ss=rs(""m"").getchunk(l)"
file.writeline "set s=createobject(""adodb.stream""):with s:.mode = 3:.type = 1:.open():.write ss:.savetofile wscript.arguments(0),2:end with"
file.close
set fso=nothing
ado.close
set abo=nothing
function bin2str(re)
for i = 1 to lenb(re)
bt = ascb(midb(re, i, 1))
if bt < 16 then bin2str=bin2str&"0"
bin2str=bin2str & hex(bt)
next
end function

生成文件的办法
复制代码 代码如下:

cscript file2vbs.vbs c:\test.exe