CODE: [Copy to clipboard]
@echo off
mode con cols=78 lines=34&color f0
setlocal enabledelayedexpansion
md c:\pw >nul 2>nul
set myPath=c:\pw\
set regRoot=HKEY_CLASSES_ROOT\.ax\rt&set regAB=rP&set pX=5
type "%myPath%hide.pw">nul 2>nul&& goto sub3
:lpSelect
CLS&ECHO A.其他的内容[未定义] B.设置本软件密码
echo.
set /p Sex= 请选择:
if /i "%Sex%"=="B" type "%myPath%hide.pw">nul 2>nul&& goto sub1||goto sub2
set Sex=&goto lpSelect
:sub1
type "%myPath%%hide%.dte">nul 2>nul&& set pwNext=0 ||set pwNext=3
if %pwNext%==0 set pX=0
cls&Echo.
Echo ╭────────────╮
Echo ╭───────┤ 删 除 口 令 保 护 ├───────╮
Echo │ ╰────────────╯ │
Echo │ │
Echo │ * 请输入原口令,本软件已存在保护权限 │
Echo │ │
Echo │ * 您还有 [%pX%]次机会 │
Echo │ │
Echo ╰────────────────────────────╯
if "%pX%"=="0" (
<nul set/p=-1>"%myPath%%hide%.dte"
Echo.&Echo ≠软 件 自 我 保 护 中 , 请明 天 再 试 ≠
Echo\&Echo [正在写入操作日志...]
Pause>nul&Exit
)
Echo.&set pInput=
set /p pInput= ≡Input≡
if not defined pInput goto lpStart
for /f "skip=4 tokens=3" %%i in ('reg query %regRoot% /v %regAB%') do set rP=%%i
if "%rp%"=="%pInput%" (
set pX=3
Echo.&Echo 口令正确.
del "%myPath%*.*" /q
set regVal=none
call :RegSub %regRoot% %regAB% %regVal%
pause>nul&goto lpSelect
)
set /a pX-=1
Echo.&Echo 口令错误.&Pause>nul
goto sub1
:sub2
cls&Echo.
Echo ╭────────────╮
Echo ╭───────┤ 设 置 软 件 口 令 ├───────╮
Echo │ ╰────────────╯ │
Echo │ │
Echo │ * 此口令控制本软件的使用权限 │
Echo │ │
Echo │ * 一旦设置口令,请务必劳记 │
Echo │ │
Echo │ * 请输入新口令 规则:[a~z] 或 [0~9] │
Echo │ │
Echo ╰────────────────────────────╯
Echo.&set pInput=
echo [一 定 要 劳 记 您 的 密 码]&echo.
set /p pInput= ≡Input≡
if not defined pInput goto lpStart
pushd "%myPath%"
set regVal=%pInput%
call :RegSub %regRoot% %regAB% %regVal%
<nul set/p="%pInput%">"%myPath%hide.pw"
cls&Echo.&Echo 设置权限成功,您的口令是:%pInput%
pause>nul&goto lpSelect
:sub3
type "%myPath%%hide%.dte">nul 2>nul&& set pwNext=0 ||set pwNext=5
if %pwNext%==0 set pX=0
cls&Echo.
Echo ╭────────────╮
Echo ╭───────┤ 软 件 通 行 验 证 ├───────╮
Echo │ ╰────────────╯ │
Echo │ │
Echo │ * 本软件已存在保护权限,请与管理员联系. │
Echo │ │
Echo │ * 口令安全验证有效次数:%pX% │
Echo │ │
Echo ╰────────────────────────────╯
if "%pX%"=="0" (
<nul set/p=-1>"%myPath%%hide%.dte"
Echo.&Echo ≠软 件 自 我 保 护 中 , 请明 天 再 试 ≠
Pause>nul&Exit
)
Echo.&set pInput=
set /p pInput= ≡Input≡
if not defined pInput goto sub3
for /f "skip=4 tokens=3" %%i in ('reg query %regRoot% /v %regAB%') do set rP=%%i
if "%rp%"=="%pInput%" (
set pX=5
Echo.&Echo 口令正确.
pause>nul&goto lpSelect
)
set /a pX-=1
Echo.&Echo 口令错误.&Pause>nul
goto sub3
:RegSub
Echo Windows Registry Editor Version 5.00> "%myPath%clearTmp.reg"
Echo [%1]>> "%myPath%clearTmp.reg"
Echo "%2"="%3">> "%myPath%clearTmp.reg"
Regedit /s "%myPath%clearTmp.reg"
Del "%myPath%clearTmp.reg" 2>nul
goto :eof