可以将文件转换为vbs语句的vbs代码
程序员文章站
2022-06-16 20:01:51
文章作者: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
信息来源:邪恶八进制信息安全团队(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
上一篇: 计算一个全息图片的两个设想