中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 13:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创] VBS随机加密程序
可打印版本  946 / 4
第1楼 qinchun36 发表于 2009-03-06 03:30
高级用户 发帖 400 积分 609
[原创] VBS随机加密程序

首先说明下编写的目的在于保护VBS脚本文件不轻易被抄袭(当然我是没加密的...),然而由于我编码方式低级且效率低下,杀毒软件都不屑一顾,我试了一些被我搞过的病毒脚本被杀毒软件放过了,这是我唯一值得骄傲的地方!

但是可能不适合处理很大的文件,几十KB估计最合适,因为加密后的文件大小大概是原文件的三倍加上 1 KB。

原理就是把原文件的每个字符弄成十进制的ASCII码,中间加上分隔符就成了密文,但是我使用的分隔符是ABCDEF中随机的一个,因此整块密文看起来是一段十六进制码(^_^),然后用一个 Fuck 函数 -_-··· 来解密运行就好啦。

我还把 Fuck 的结果做了点处理,再别人看到 EXECUTE Fuck 时想输出 Fuck 内容的时候会发现没有预期的结果。

解密函数本身被加密了,采用的算法是真的十六进制编码转换。

使用方法:双击程序自己看。

附件
rndEncode.rar (1.18 KiB)
第2楼 holucan 发表于 2009-03-06 04:12
初级用户 发帖 25 积分 26
呵呵,有趣,不过不会还原…= =||
第3楼 slore 发表于 2009-03-06 07:58
铂金会员 发帖 2,478 积分 5,212
还是徒劳
第4楼 HAT 发表于 2009-03-06 09:21
版主 发帖 5,017 积分 9,023
解密函数本身被加密了,采用的算法是真的十六进制编码转换。

致命弱点就是这里啦,把解密函数破解之后就会发现:
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,把它拦截掉就行啦。
第5楼 qinchun36 发表于 2009-03-08 10:37
高级用户 发帖 400 积分 609
Originally posted by slore at 2009-3-6 07:58 AM:
还是徒劳


是啊,看来应该放弃VBS加密这种方法了,再怎么也有 EXECUTE 这个关键字去不掉。

不过改变下编码方式可以暂时使病毒生存下来。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023