原理是没错的,不过发现好多vbs都不能转换,这跟WriteLine有关系吧?
高手请赐教!!!!!!!!!!!!!!
代码修改了下,这下甭管啥vbs都能转换了,但是转换后的文件体积更大了。
[ Last edited by s11ss on 2008-2-23 at 12:26 AM ]
高手请赐教!!!!!!!!!!!!!!
'XorEncode {s11ss@www.cn-dos.net 2008-2-22}
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)+"_XorEncode.vbs")
Do Until self.AtEndOfStream
aline=self.ReadLine
If aline="Function XorEncode(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("&"XorEncode("""&XorEncode(src.Read(fso.GetFile(WScript.Arguments(0)).Size),n)&""","&CStr(n)&"))"
src.Close:vbs.Close:self.Close
Set src=Nothing:Set vbs=Nothing:Set self=Nothing:Set fso=Nothing
WScript.Echo "Successful!"
'如果转换失败就请再多试几次
Function XorEncode(s,n)
For i=1 To LenB(s)
XorEncode=XorEncode&ChrB(AscB(MidB(s,i,1)) Xor n)
Next
End Function代码修改了下,这下甭管啥vbs都能转换了,但是转换后的文件体积更大了。
'XorEncode {s11ss@www.cn-dos.net 2008-2-22}
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)+"_XorEncode.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
[ Last edited by s11ss on 2008-2-23 at 12:26 AM ]
本帖最近评分记录
(共 1 条)
点击查看详情
| 评分人 | 分数 | 时间 |
|---|---|---|
| fastslz | +18 | 2008-02-22 19:42 |

