VBS 十六进制异或加密实现代码_vbs

效果图:

代码都封装成函数了,方便调用:

复制代码 代码如下:

Key = "www-enun-net" '不要用数字

Wscript.echo now & ", 加密: "
MyData = ReadBin("test.jpg")
EnData = Encoder(MyData)
WriteBin "E_test.jpg", EnData
Wscript.echo now & ", 加密: "

Wscript.echo now & ", 解密: "
MyData = ReadBin("E_test.jpg")
UnData = Uncoder(MyData)
WriteBin "U_test.jpg", UnData
Wscript.echo now & ", 解密: "

Function ReadBin(FileName)
 Dim Stream, ObjXML, MyNode
 Set ObjXML = CreateObject("Microsoft.XMLDOM")
 Set MyNode = ObjXML.CreateElement("binary")
 Set Stream = CreateObject("ADODB.Stream")
 MyNode.DataType = "bin.hex"
 Stream.Type = 1
 Stream.Open
 Stream.LoadFromFile FileName
 MyNode.NodeTypedValue = Stream.Read
 Stream.Close
 ReadBin = MyNode.Text
 Set MyNode = Nothing
 Set Stream = Nothing
 Set ObjXML = Nothing
End Function

Function WriteBin(FileName, BufferData)
 Dim Stream, ObjXML, MyNode
 Set ObjXML = CreateObject("Microsoft.XMLDOM")
 Set MyNode = ObjXML.CreateElement("binary")
 Set Stream = CreateObject("ADODB.Stream")
 MyNode.DataType = "bin.hex"
 MyNode.Text = BufferData
 Stream.Type = 1
 Stream.Open
 Stream.Write MyNode.NodeTypedValue
 Stream.SaveToFile FileName, 2
 Stream.Close
 Set stream = Nothing
 Set MyNode = Nothing
 Set ObjXML = Nothing
End Function

Function Encoder(Data)
 Dim K, M
 For n = 0 To Len(Key)-1
  K = K & Asc(Left(Right(key, Len(Key)-n), 1)) & "#"
 Next
 Data = UCase(Data)
 For i = 0 To Len(Data)-1
  M = Left(Right(Mid(Data, i+1, 1), Len(Data)-i), 1)
  For j = 0 To Len(Key)-1
   If i Mod Len(Key) = j  Then
    Encoder = Encoder & Hex((Asc(M) Xor Split(K, "#")(j)))
   End If
  Next
 Next
End Function

Function Uncoder(Data)
 Dim K
 For n = 0 To Len(Key)-1
  K = K & "#" & Asc(Left(Right(key, Len(Key)-n), 1)) & "#X"
 Next
 K = K & K
 Data = UCase(Data)
 For i = 1 To Len(Data) Step 2
  For j = 1 To Len(Key) * 2
   If i Mod Len(Key)*2 = j  Then
    Uncoder = Uncoder & Chr(Split(K, "#")(j) Xor ("&H" & Mid(Data, i, 2)))
   End If
  Next
 Next
End Function

时间: 2024-10-22 02:47:35

VBS 十六进制异或加密实现代码_vbs的相关文章

VBS 十六进制异或加密实现代码

文件不要过大,最好不要超过 100 KB,密钥不要用数字,不想改了.理论上支持任何二进制文件格式   效果图: 代码都封装成函数了,方便调用: 复制代码 代码如下: Key = "www-enun-net" '不要用数字 Wscript.echo now & ", 加密: " MyData = ReadBin("test.jpg") EnData = Encoder(MyData) WriteBin "E_test.jpg&qu

vbs后台运行bat删除自身的代码_vbs

知道真实路径的情况下 复制代码 代码如下: set fso=wscript.createobject("scripting.filesystemobject") fso.deletefile "c:\windows\system32\run.cmd" fso.deletefile "c:\windows\system32\run.vbs" 不知道具体的路径情况下,可以用如下代码: 复制代码 代码如下: Set fso =CreateObject(

简单的VBS加密实现代码_vbs

昨天那个病毒的加密确实很恐怖,我不是高手,写不出那么高级的加密.但是受病毒第一层加密的启发,进行简单的加密还是不难的.当然这种低级的加密只能拿来骗骗一些垃圾的杀毒软件.使用了msxml2.xmlhttp和adodb.stream对象的VBS脚本很容易被杀毒软件认为是病毒,不明真相的同学一看报毒自然就不敢运行了.简单加密以后应该可以绕过比较垃圾的杀毒软件. 下面是加密程序,原理很低级,读取源文件的所有代码并计算Asc值后写入,Execute用Chr还原后的代码. 复制代码 代码如下: On Err

用vb和vbs 破解flashxp的密码的代码_vbs

整个在新版中,不是明文的密码字符串了,建议大家都升级到新版本中vbs版 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] vb版vb 破解flashxp的密码,他的密码放在 Sites.dat 文件中,大家打开这个文件,可以看到如下: Pass=7B9A439CCB4FC1C7C2 等号后面的就是加密之后的密码,用下面的模块可以解开: 复制代码 代码如下: Public Function DecryptFlashFXP(password As String) As String  Di

vbs中将GB2312转Unicode的代码_vbs

今天写了一个类似于下面的程序: 复制代码 代码如下: Dim http Set http = CreateObject("msxml2.xmlhttp") http.open "GET","http://www.sina.com.cn/",False http.send WScript.Echo http.responseText 但是却发现返回的中文都是乱码,看了一下发现新浪的编码竟然是gb2312的,汗,现在都是utf-8编码的时代了.res

vbs定时发送邮件的方法与代码_vbs

'用VBS写个脚本,然后用WINDOWS平台下的计划任务来调用,每天定时群发邮件.  '代码如下:  下载地址 http://www.51tiao.com/info.vbs 复制代码 代码如下: Dim connstr,conn  Dim sql,rs,msg  Sub OpenDB()      ConnStr = "DSN=51tiao.Com;UID=sa;PWD=;"      If Not IsObject(Conn) Then          Set conn = Cre

利用vbs类实现css按钮的代码_vbs

复制代码 代码如下: <%  rem 文章标题: 利用vbs类实现css按钮  rem 作者:yanek  rem 联系:aspboy@263.net  Class CssButton    Public Name    Public BackColor    Public BorderColor    Public Font    Public FontColor    Public Width    Public Text    Public Url    Public MouseOverC

用VBS获取Unix时间戳的函数代码_vbs

VBS中没有类似C标准库中的time函数,怎么获取Unix时间戳呢?乍一看很简单: 复制代码 代码如下: Function UnixTime() UnixTime = DateDiff("s", "01/01/1970 00:00:00", Now()) End Function 一个很想当然的方法,仅仅注意到了"1970年1月1日0时0分0秒",而忽略了"协调世界时". 协调世界时,又称世界标准时间或世界协调时间,简称UTC

vbs复制文件夹的实现代码_vbs

需要实现一个复制文件夹的功能,网上找到相关代码,并做了改进,vbs脚本如下 复制代码 代码如下: Dim fso, CopyCountSet fso = CreateObject("Scripting.FileSystemObject") CopyCount = CopyCount + XCopy(fso, ".\1", ".\2", True)MsgBox "拷贝了" & CopyCount & "