RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
vbs脚本中加密需要注意什么-创新互联

这篇文章给大家分享的是有关vbs脚本中加密需要注意什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

为昭化等地区用户提供了全套网页设计制作服务,及昭化网站建设行业解决方案。主营业务为做网站、成都网站建设、昭化网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

代码如下:


学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脚本中加密需要注意什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


本文题目:vbs脚本中加密需要注意什么-创新互联
本文网址:http://lswzjz.com/article/pgdep.html