中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 19:10
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 闲来无事发个VBS 16进制验证特定字符
可打印版本  841 / 7
第1楼 fastslz 发表于 2007-12-06 16:00
铂金会员 发帖 2,315 积分 5,493 来自 上海
闲来无事发个VBS 16进制验证特定字符
例子验证VBS自身(红色部分)
'验证字符:fastslz
file=Wscript.ScriptFullName
Dim slz
set slz = CreateObject("Adodb.Stream")
slz.Type = 1
slz.Mode = 3
slz.Open
slz.Position = 0
slz.Loadfromfile file
Bin=slz.read(18)
if AscB(MidB(Bin,12,1))=&H66 and AscB(MidB(Bin,13,1))=&H61 and AscB(MidB(Bin,14,1))=&H73 and AscB(MidB(Bin,15,1))=&H74 and AscB(MidB(Bin,16,1))=&H73 and AscB(MidB(Bin,17,1))=&H6C and AscB(MidB(Bin,18,1))=&H7A Then
WScript.echo "通过验证"
else
WScript.echo "非法修改"
end if
第2楼 z640919a 发表于 2007-12-06 16:08
初级用户 发帖 72 积分 157
要学的东西太多,LZ 能否解释Bin后面几句.
第3楼 bxdonne 发表于 2007-12-06 16:36
初级用户 发帖 11 积分 28
好东西,但不知道干什么用的 :(
楼主可以解释一下吗?
第4楼 fastslz 发表于 2007-12-06 18:37
铂金会员 发帖 2,315 积分 5,493 来自 上海
本来写这个是分析文件类型的,都是数字函数太晕了.数学不好写不下去

Asc、AscB、AscW 是 VBScript 中的三个函数,其区别如下。Asc(string) 返回与字符串的第一个字母对应的 ANSI 字符代码。AscB 不是返回第一个字符的字符代码,而是返回首字节。它返回 Unicode (宽型)字符代码,因此可以避免从 ANSI 到 Unicode 的代码转换。
MidB类似只是返回的是16进制代码

Originally posted by bxdonne at 2007-12-6 16:36:
好东西,但不知道干什么用的 :(
楼主可以解释一下吗?

更改红色部分文字就显示非法修改了。
如果是WScript.Arguments对象则分析某文件某位置是否被修改
第5楼 81291895 发表于 2007-12-06 21:40
初级用户 发帖 17 积分 42
验证“'验证字符:fastslz”这一行从第12个字符到第18个字符有没有被修改
第6楼 bxdonne 发表于 2007-12-07 12:32
初级用户 发帖 11 积分 28
1、如果是WScript.Arguments对象则分析某文件某位置是否被修改
这个能不能给个例子?

2、我想问下是不是可以写一个完全保护自身的脚本?(只要修改某处就能提示"非法修改")
望楼主能写一个出来,谢谢!
第7楼 fastslz 发表于 2007-12-07 13:21
铂金会员 发帖 2,315 积分 5,493 来自 上海
Originally posted by bxdonne at 2007-12-7 12:32:
1、如果是WScript.Arguments对象则分析某文件某位置是否被修改
这个能不能给个例子?

2、我想问下是不是可以写一个完全保护自身的脚本?(只要修改某处就能提示"非法修改")
望楼主能写一个出来,谢谢!


1楼代码就是,只是分析字符串集中在12~18之间,代码中&H66 &H61 &H73 &H74 &H73 &H6C &H7A就是fastslz十六进制值,(Bin,14,1))14表示字符串开始位置,如果分析字符串分布在整个代码各不同处,外加些垃圾运算代码就实现保护自身的脚本不能被修改了,自己灵活应用,如果不太了解VBS和奉劝免伤这脑细胞了

WScript.Arguments是拖放文件或命令行里指定的文件,作用是保护其他文件不能被修改:)

代码本身没什么技术可言,谈到加密验证了~~~就~~~~~~~~~~~~~
第8楼 bxdonne 发表于 2007-12-07 13:36
初级用户 发帖 11 积分 28
谢谢你的回答:)
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023