当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 可以将文件转换为vbs语句的vbs代码

VBScript
VBS的各种应用的比较实用小代码
用VBS调用程序并对程序的运行情况进行监控的两个代码
禁止QQ上网的vbs代码
一个收集的下载木马并运行的VBS代码
可以将文件转换为vbs语句的vbs代码
收藏的比较精典VBS代码
好玩的vbs特色代码vbs栈类
使用VBScript 中的类组织开发
防SQL注入的VBSrcipt代码
用VBSrcipt判断是否是日期
Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
用vbs模拟的一个asp的分页显示功能
本地连接禁用/启用批处理脚本
右键发送(sendto),创建快捷方式到自定义的位置 的vbs
WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码
Adsutil.vbs 在脚本攻击中的妙用[我非我原创]
用VBS修改IIS Metabase 的代码
用VBS实现脚本结束进程与防止进程启动
用vbs实现在启动 Windows 资源管理器时打开特定文件夹
用vbs实现的确定共享文件夹的本地路径?

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 47 ::
收藏到网摘: n/a

文章作者: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