华域联盟 vbs vbs脚本 加密 几个小细节小结下

vbs脚本 加密 几个小细节小结下

复制代码 代码如下:

dxy: 

    你好! 

    我学vbs也有一小段时间了,最近看到一本书上讲vbs脚本的加密,就自己试了试,可是有一点问题,低级的语法错误我都自己修正了,可脚本运行后不起作用.所以想请教你一下.脚本的原理是这样的:它把代码转换成16进制,然后再写个解密代码,通过这个解密来执行加密的代码,将字符串成16进制的代码如下: 

Function str2hex (Byval strHex) 

For i=1 to Len(strHex) 

sHex = sHex & Hex(Asc(mid(strHex,i,1))) 

 next 

 str2Hex = sHex 

end Function 

解密的代码如下: 

Function hextostr(data) 

Hextostr = "Execute""""" 

C= "&Chr(&H" 

N= ")" 

Do while Len(data)>1 

if IsNumeric (Left(data,1)) then 

Hextostr=Hextostr&c&Left(data,2)&N 

data=mid(data,3) 

else 

Hextostr=HextoStr&C&Left(data,4)&N 

data=mid(data,5) 

end if 

loop 

end Function 

解密代码好象有点问题,请帮忙指正,我实在找不出 

整个成品就是: 

on error resume next 

set arg=wscript.arguement '声明外部参数 

if arg.count=0 Then wscript.quit '若无参数则退出脚本 

set fso=creatobject("Scripting.Filesystem Object") '声明fso组件 

when fso.opentextfile(arg(0),1,flase) 

data = readall:.close'读取文本内容 

if err.number<>0 then wscript.quit '如果发生错误,则退出 

with fso.opentextfile(arg(0)&"*.vbs",2,true) '将转换好的写到一个新的vbs中 

if err.number<>0 then wscript.quit '如果发生错误,则退出 

.writeline "Execute(Hextostr("""&str2hex(data)&"""))"  '执行解密并执行解密后的代码 

.writeline "Function hextostr(data)" 

.writeline "Hextostr=""Execute""""""""""" 

.writeline "C=""&CHR(&H""" 

.writeline "N= )" 

.writeline "Do while Len(data)>1" 

.writeline "if IsNumeric (Left(data,1)) then" 

.writeline "Hextostr=Hextostr&c&Left(data,2)&N" 

.writeline "data = (data,3)" 

.writeline "else" 

.writeline "Hextostr=Hex to str&c&Left(data,4)&N" 

.writeline "data=mid(data,5)" 

.writeline "end if" 

.writeline "loop" 

.writeline "end function" 

'把解密函数写进去 

.close '关闭文本 

set fso=Nothing'注销fso组件 

end with 

msgbox "OK" 

'以下是加密函数 

Function str2hex (Byval strHex) 

For i=1 to Len(strHex) 

sHex = sHex & Hex(Asc(mid(strHex,i,1))) 

 next 

 str2Hex = sHex 

end function 

'全部代码就到这了,好长~ 

书上说,把要加密的vbs脚本拖到这个脚本上就行了,不过我没有成功,不知道那里有问题,请帮帮我,谢谢~ 

上面的代码注意的几个情况:

1、set arg=wscript.arguements

后门有个s

2、set fso=creatobject("Scripting.Filesystem Object") '声明fso组件

应该是filesystemboject

3、.writeline "N= )"

对于需要输出N=")"用vbs输入"(双引号)的方法就是用两个""

.writeline "N="")"""

4、.writeline "data = (data,3)"这里少个mid

基本上就这些了

do.vbs保存为do.vbs ,将要加密的js文件拖到这个文件上就可以


复制代码 代码如下:

'on error resume next

set arg=wscript.arguments '声明外部参数

if arg.count=0 Then wscript.quit '若无参数则退出脚本

set fso=createobject("Scripting.FilesystemObject") '声明fso组件

filename=wscript.arguments(0)

set readline=fso.opentextfile(filename,1,flase)

data=readline.readall:

readline.close '读取文本内容

if err.number<>0 then wscript.quit '如果发生错误,则退出

with fso.opentextfile(filename&"_out.vbs",2,true) '将转换好的写到一个新的vbs中

if err.number<>0 then wscript.quit '如果发生错误,则退出

.writeline "Execute(Hextostr("""&str2hex(data)&"""))"  '执行解密并执行解密后的代码

.writeline "Function hextostr(data)"

.writeline "Hextostr=""Execute"""""""""""

.writeline "C=""&CHR(&H"""

.writeline "N= "")"""

.writeline "Do while Len(data)>1"

.writeline "if IsNumeric (Left(data,1)) then"

.writeline "Hextostr=Hextostr&c&Left(data,2)&N"

.writeline "data = mid(data,3)"

.writeline "else"

.writeline "Hextostr=Hextostr&c&Left(data,4)&N"

.writeline "data=mid(data,5)"

.writeline "end if"

.writeline "loop"

.writeline "end function"

'把解密函数写进去

.close '关闭文本

end with

set fso=Nothing'注销fso组件

msgbox "OK"

'以下是加密函数

Function str2hex (Byval strHex)

For i=1 to Len(strHex)

sHex = sHex & Hex(Asc(mid(strHex,i,1)))

 next

 str2Hex = sHex

end function

本文由 华域联盟 原创撰写:华域联盟 » vbs脚本 加密 几个小细节小结下

转载请保留出处和原文链接:https://www.cnhackhy.com/14928.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部