或许很多人会用- set /p pass=请输入密码:
- if "%pass%"=="12345" echo 密码正确!&pause&goto :test
复制代码 但是这样,密码会被破解的!
只要输入 1"=="1" echo
(echo后面有一个空格)
密码就出来了
测试代码与测试结果如下
测试代码- @echo off
- :start
- set /p pass=请输入密码:
- if "%pass%"=="12345" (
- goto test
- ) else (
- echo 密码错误
- pause>nul
- goto start
- )
- :test
- echo 密码正确!
- pause
复制代码 测试结果- 请输入密码:1"=="1" echo
- "=="12345" (
- 密码正确!
- 请按任意键继续. . .
复制代码 直接通过了,也有不通过的,但是密码早就已经暴露出来了
============================================================
解决方法:
把- if "%pass%"=="12345" (
- goto test
- ) else (
- echo 密码错误
- pause>nul
- goto start
- )
复制代码 中的"%pass%"改成- if \\"%pass%"\\==\\"12345"\\ (
- goto test
- ) else (
- echo 密码错误
- pause>nul
- goto start
- )
复制代码 这样就破解不出来了 |