0914_vbs加密解密

一开始的想着的是根据asc码进行加密解密操作。

不难,所以直接贴代码:

加密:

Filename =  CreateObject("WScript.Shell").Exec("mshta vbscript:""<input type=file id=f><script>f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];</script>""").StdOut.ReadAll
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(Filename, 1) 
Set objWrit = objFSO.OpenTextFile("IP" & "-" & year(now) & month(now) & day(now) &".txt", 2, true)
strContents = objFile.ReadAll
'msgbox strContents
objFile.Close
for i = 1 to len(strContents) 
	ch = asc(mid(strContents,i,1))
	ch = ch - 3
	strNew = strNew & chr(ch)
next
objWrit.write(strNew)
objWrit.Close

解密:

Filename =  CreateObject("WScript.Shell").Exec("mshta vbscript:""<input type=file id=f><script>f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];</script>""").StdOut.ReadAll
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(Filename, 1)
strNew = objFile.ReadAll
for i = 1 to len(strNew) 
	ch = asc(mid(strNew,i,1))
	ch = ch + 3
	strArr = strArr & chr(ch)
next
msgbox strArr

看完大神写的加密解密,顿时觉得自己被完爆了,贴一份代码:

参阅:http://www.52pojie.cn/thread-147071-1-1.html

'本工具用于加密vbs的脚本
'采用ASCII,hex+xor,Encoder 三重加密。
'第三重Encoder加密后,只能使用VBE后缀。
'VBS不支持Encoder编码。
' 1.0 比较合适新人加密解密练习用
' 1.1 修复了网友Yu2n测试中发现的BUG
'****************************************************
'Version: 1.1
'Date : 2012-05-02
'Author:乱码
'源码献上,欢迎翻版,写出更加强力的加密。
'****************************************************
'Set argv = WScript.Arguments
'If argv.Count = 0 Then
'    MsgBox "请把要加密的文件拖到我身上!", 64+4096, "乱码领域"
'    WScript.Quit
'End If

Filename =  CreateObject("WScript.Shell").Exec("mshta vbscript:""<input type=file id=f><script>f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value)[close()];</script>""").StdOut.ReadAll

Set fso = CreateObject("Scripting.FileSystemObject")
Randomize
pass = Int(Rnd*12)+20 '异或加密有效范围20-31,所以随机生成好了。
data = fso.OpenTextFile(Filename, 1).ReadAll
data = "d=" & Chr(34) & ASCdata(data) & Chr(34)
data = data & vbCrLf & ":M=Split(D):For each O in M:N=N&chr(O):Next:execute N"
data = Replace(data, " ", ",")
fso.OpenTextFile(Filename & "_加密.vbe", 2, True).Write Encoder(EncHexXorData(data))
MsgBox "加密完毕,文件生成到:" & vbCrLf & vbCrLf & Filename & "_加密.vbe", 64+4096, "乱码领域VBS加密"

Function EncHexXorData(data)
    EncHexXorData = "x=""" & EncHexXor(data) & """:For i=1 to Len(x) Step 2:s=s&Chr(CLng(""&H""&Mid(x,i,2)) Xor " & pass & "):Next:Execute Replace(s,"","","" "")"
End Function

Function Encoder(data) '加密3
    Encoder = CreateObject("Scripting.Encoder").EncodeScriptFile(".vbs", data, 0, "VBScript")
End Function

Function EncHexXor(x) '加密2
    For i = 1 To Len(x)
        EncHexXor = EncHexXor & Hex(Asc(Mid(x, i, 1)) Xor pass)
    Next
End Function

Function ASCdata(Data) '加密1
    num = Len(data)
    newdata = ""
    For j = 1 To num
        If j = num Then
            newdata = newdata&Asc(Mid(data, j, 1))
        Else
            newdata = newdata&Asc(Mid(data, j, 1)) & " "
        End If
    Next
    ASCdata = newdata
End Function
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值