If Not WScript.Arguments.Count=1 Then WScript.Echo "请将要转换的vbs文件托拽到我身上!":WScript.Quit
Set fso=CreateObject("Scripting.FileSystemObject")
Set self=fso.OpenTextFile(WScript.ScriptFullName)
Set vbs=fso.CreateTextFile(Left(WScript.Arguments(0),Len(WScript.Arguments(0))-4)+"_new.vbs")
Do Until self.AtEndOfStream
aline=self.ReadLine
If aline="Function Decode(s,n)" Then w=true
If w Then vbs.WriteLine aline
Loop
Set src=fso.OpenTextFile(WScript.Arguments(0))
Randomize:n=Int(255*Rnd+1)
vbs.WriteLine "Execute("&"Decode("""&Encode(src.Read(fso.GetFile(WScript.Arguments(0)).Size),n)&""","&n&"))"
src.Close:vbs.Close:self.Close
Set src=Nothing:Set vbs=Nothing:Set self=Nothing:Set fso=Nothing
WScript.Echo "Successful!"
Function Encode(s,n)
For i=1 To Len(s)
Encode=Encode&" "&(Asc(Mid(s,i,1)) Xor n)
Next
End Function
Function Decode(s,n)
ns=Split(Mid(s,2,Len(s)-1))
For i=0 To UBound(ns)
Decode=Decode&Chr(CInt(ns(i)) Xor n)
Next
End Function
VB、VBS代码在电脑系统自带的记事本txt写。新建txt文档,编写代码,另保存为.vbs,编码选择ANSI、Utf-8这样不会乱码;修改后缀.txt为.vbs;"双击"执行;继续编辑vbs代码;
有两种运行方法:在windows界面下运行,也就是双击vbs文件;另一种是在命令提示符下运行,方法为:开始输入cmd回车,然后会d出一个黑框,输入cd“你的vbs所在的地方”回车enter键,然后输入脚本的名字,就会自动执行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)