首页 > 编程 > VBScript > 正文

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

2020-06-26 18:06:19
字体:
来源:转载
供稿:网友
文章作者: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 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表