首先要说的是,VBS是由脚本宿主解释执行的未经编译的明文代码。连exe的加密免杀都十分困难,大家也不必报用VBS挑战杀软的幻想
手机打字实在在麻烦,所以一些比较简单或太复杂的代码我就不直接提供实例了。
1、不是方法的方法--加注释
加一些规则无用不含特征码的注释。代码略
2、大小写混编
利用VBS忽略大小写
3、 分行与同行混用
利用冒号(:)连接多行代码为一行
4、一行分多行
使用续行符(_)将一行分多行写
5、利用execute函数
代码如下:
Execute("createobject("&chr(34)&"wscript.shell"&chr(34)&chr(41)&".popup now")
6、字符串分割,& 于 + 连接混用
代码如下:
code="creat"+"eobject("&chr(34)+"wscr"&"ipt.she"&"ll"+chr(34)&chr(41)+".popup now,5"
execute code
7、Excape与Unescape加解密
代码如下:
Createobject(unescape("%57%53%43%52%49%50%54%2E%53%48%45%4C%4C"))
ws.popup now,5
8、Execute执行转换后的十进制ASCII
9、Execute执行转换后的十六进制ASCII
以“VBS加密工具”为关键词搜索,可找到提供以上两种加密方式的软件。不过你现在不需要这个软件了,你可以在本空间找到可以完美实现这两种加密方式的VBS。
10、使用自定义函数代替内部函数(封装内部函数)
代码如下:
Function t()
t=now()
end function
msgbox t
11、+ - ( ) &等字符两边加任意多空格
12、变量名自动改变
代码如下:
RANDOMIZE
set FSO=createobject("scripting.filesystemobject")
MF=FSO.opentextfile(wscript.scriptfullname,1).readall
ARY=array("FSO","MF","ARY","NUM")
for NUM=0 to 3
MF=REPLACE(MF,ARY(NUM),chr(fix(rnd*25)+65)&chr(fix(rnd*25)+65)&chr(fix(rnd*25)+65)&chr(fix(rnd*25)+65))
next
FSO.opentextfile(wscript.scriptfullname,2,1).write MF
运行以上代码后打开VBS文件,可发现变量已改变
13、加壳
上一种方法仅改变变量,这种方法将所有代码全部打乱并且会每次改变
这个代码最复杂。大家可以上网搜“WINDOWS脚本技术”(好想在51jb.net)。大家可以在这个文件中找到这种加密方法。通过这篇文章你可以学到很多东西。
14、使用官方加密工具
screnc.exe
我空间也有以前介绍
大家可能觉得我只是为了凑数才弄了这么多方法。的确,我这里很多方法没什么意义。但VBS加密方法还远不止这么多。我以前见过几个十分强悍的加密算法,当时没弄懂,现在也忘了,大家可以到网上搜搜