首页 > 编程 > VBScript > 正文

把任意文件转成vbs文件的file2vbs的vbs代码

2020-06-26 18:11:41
字体:
来源:转载
供稿:网友
文章作者:xiaolu [BST] 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 这个不是exe2vbs 所有类型的文件都可以转化的 不过限于string的大小 文件不能太大 我测试过3m的文件是可以的
 

Tr4c3:为了方便在dos下使用,我把inputbox改成了args。 

复制代码代码如下:

'Program By xiaolu  
'name:file2vbs.vbs  
On error resume next  
Set Args = Wscript.Arguments  
If Args.length<>2 Then  
Wscript.Echo "Usage:" & Wscript.ScriptName & " c:/muma.exe c:/muma.vbs"  
Wscript.Quit  
End If  

do while 1  
fname = Args(0)  
Set Ado = CreateObject("adodb.stream")  
With Ado  
.Type = 1  
.open  
.loadfromfile fname  
ss = .read  
End With  
exit do  
Loop  

fname = Args(1)  
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 xx.vbs x:/xxxx.exe

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表