标题: [原创] VBS随机加密程序
[打印本页]
作者: qinchun36
时间: 2009-3-6 03:30
标题: [原创] VBS随机加密程序
首先说明下编写的目的在于保护VBS脚本文件不轻易被抄袭(当然我是没加密的...),然而由于我编码方式低级且效率低下,杀毒软件都不屑一顾,我试了一些被我搞过的病毒脚本被杀毒软件放过了,这是我唯一值得骄傲的地方!
但是可能不适合处理很大的文件,几十KB估计最合适,因为加密后的文件大小大概是原文件的三倍加上 1 KB。
原理就是把原文件的每个字符弄成十进制的ASCII码,中间加上分隔符就成了密文,但是我使用的分隔符是ABCDEF中随机的一个,因此整块密文看起来是一段十六进制码(^_^),然后用一个 Fuck 函数 -_-··· 来解密运行就好啦。
我还把 Fuck 的结果做了点处理,再别人看到 EXECUTE Fuck 时想输出 Fuck 内容的时候会发现没有预期的结果。
解密函数本身被加密了,采用的算法是真的十六进制编码转换。
使用方法:双击程序自己看。
附件
1:
rndEncode.rar (2009-3-6 03:30, 1.18 KiB,下载次数: 104)
作者: holucan
时间: 2009-3-6 04:12
呵呵,有趣,不过不会还原…= =||
作者: slore
时间: 2009-3-6 07:58
还是徒劳
作者: HAT
时间: 2009-3-6 09:21
解密函数本身被加密了,采用的算法是真的十六进制编码转换。
致命弱点就是这里啦,把解密函数破解之后就会发现:
l=CHR(79)
FOR J=65 TO 70
ll=CHR(J)
O=SPLIT(lO,ll,-1,1)
lO=NULL
FOR I=0 TO (UBOUND(O)-1)
lO=lO&O(I)&l
NEXT
lO=lO&O(UBOUND(O))
NEXT
O=SPLIT(lO,l,-1,1)
lO=NULL
FOR I=0 TO (UBOUND(O))
lO=lO&CHR(O(I))
NEXT
WScript.Echo lO
EXECUTE lO
lO="' CONTACT : qinchun36 from WWW.CN-DOS.NET '"
真正的执行是在EXECUTE lO,把它拦截掉就行啦。
作者: qinchun36
时间: 2009-3-8 10:37
Originally posted by slore at 2009-3-6 07:58 AM:
还是徒劳
是啊,看来应该放弃VBS加密这种方法了,再怎么也有 EXECUTE 这个关键字去不掉。
不过改变下编码方式可以暂时使病毒生存下来。