首先要說的是,VBS是由腳本宿主解釋執(zhí)行的未經(jīng)編譯的明文代碼。連exe的加密免殺都十分困難,大家也不必報用VBS挑戰(zhàn)殺軟的幻想
手機打字實在在麻煩,所以一些比較簡單或太復(fù)雜的代碼我就不直接提供實例了。
1、不是方法的方法--加注釋
加一些規(guī)則無用不含特征碼的注釋。代碼略
2、大小寫混編
利用VBS忽略大小寫
3、 分行與同行混用
利用冒號(:)連接多行代碼為一行
4、一行分多行
使用續(xù)行符(_)將一行分多行寫
5、利用execute函數(shù)
代碼如下:
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執(zhí)行轉(zhuǎn)換后的十進制ASCII
9、Execute執(zhí)行轉(zhuǎn)換后的十六進制ASCII
以“VBS加密工具”為關(guān)鍵詞搜索,可找到提供以上兩種加密方式的軟件。不過你現(xiàn)在不需要這個軟件了,你可以在本空間找到可以完美實現(xiàn)這兩種加密方式的VBS。
10、使用自定義函數(shù)代替內(nèi)部函數(shù)(封裝內(nèi)部函數(shù))
代碼如下:
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文件,可發(fā)現(xiàn)變量已改變
13、加殼
上一種方法僅改變變量,這種方法將所有代碼全部打亂并且會每次改變
這個代碼最復(fù)雜。大家可以上網(wǎng)搜“WINDOWS腳本技術(shù)”(好想在51jb.net)。大家可以在這個文件中找到這種加密方法。通過這篇文章你可以學(xué)到很多東西。
14、使用官方加密工具
screnc.exe
我空間也有以前介紹
大家可能覺得我只是為了湊數(shù)才弄了這么多方法。的確,我這里很多方法沒什么意義。但VBS加密方法還遠不止這么多。我以前見過幾個十分強悍的加密算法,當(dāng)時沒弄懂,現(xiàn)在也忘了,大家可以到網(wǎng)上搜搜