本文中的代码不一定能适应所有种类的Windows系统
请自行测试后再做出结论,你可以在评论区留言
以下代码可能因操作系统版本不同导致差异,并不保证完美运行
代码内容
这是一个简单的示例:
@echo off |
虽然批处理没有什么好的加密的办法,并且也很容易就被逆向,但如果你有需求的话可以试试
计算MD5值需要
certutil
工具,这个工具似乎从Win7开始就内置了,如果你不能使用,请留下一个评论
解析
其中,先设定代表密码的变量password
的值为12345在.iL文件中的MD5值
然后进入循环:PassCheck
,用户会被要求输入密码,输入的密码会被保存到变量%typestr%
并存临时文件%temp%\pass.iL
中
接着使用certutil
计算临时文件%temp%\pass.iL
的MD5值,过滤后将结果保存到变量%typemd5%
中并删除临时文件
然后与预设密码的哈希值进行比较,如果两者匹配,跳转到:next
并继续执行其他命令
如果不匹配,调用:PassCheckError
显示“密码错误!”的消息并回到最开始
样例
这是一个样例,使用mshta调用vbs内容生成弹窗并进行验证以下内容截自我的一个很早之前的脚本中的片段因为是一个不完整的片段,所以你需要自行添加上下文,不过你可以参考我的弹窗设计
:iLPassCheck |
样图
界面
错误界面
GitHub Discussions