说明:本批处理部分借鉴于26933026兄弟的方法,当运行本批处理后原文件移动或复制的文件都不能使用,同时批处理本身有密码转换、密码认证(限制输入三次)、密码修改功能,如利用到别的批处理里面并转为exe的话,想要暴力破解应该是很困难的,因时间关系没有优化,还请诸位高手加以完善了。(注:原始密码为wdmmcn-dos)
[ Last edited by zw19750516 on 2008-4-21 at 01:03 AM ]
@rem dmndso-cmw
@echo off
set /p pass=<%~nx0
set pass=%pass:~5%
call :Return %%pass%%
for /f "tokens=1" %%i in (%~nx0) do if "%%i"=="::" goto Judges
for /f "delims=" %%i in ('cd') do echo.:: %%i\%~nx0>>%~nx0
:Judges
for /f "tokens=1* delims= " %%i in (%~nx0) do set puth=%%j
for /f "delims=" %%i in ('cd') do if "%%i\%~nx0"=="%puth%" goto pass
echo 错误!不是原文件。&del /q 复件>nul 2>nul&ping /n 2 127.1>nul&goto :eof
:pass
set /a n+=1
set /a m=4-%n%
if %m% equ 0 cls&echo 对不起,因没正确输入密码,本程序将自动结束。&ping /n 3 127.1>nul&goto :eof
cls&set /p pwd=请正确输入密码,你还有%m%次机会:
if not "%pwd%"=="%password%" goto pass
set password=&set a=&set b=&set n=0&set new=1
cls&echo 密码正确,直接回车继续使用原密码,如要更改请输入新密码。
set /p new=输入新密码:
if "%new%"=="1" goto run
call :change %%new%%
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type %~nx0') do (
set /a n+=1
if !n! equ 1 (
echo @rem %password%>%~nx0
) else (
endlocal&echo %%i>>%~nx0
)
)
:run
cls&echo 程序开始运行...
pause>nul&goto :eof
:Return
set a=%pass:~-1,1%
if not "%pass:~1%"=="" (
set b=%pass:~,1%
) else (
set b=
)
set password=%password%%a%%b%&set pass=%pass:~1,-1%
if defined pass goto Return
goto :eof
:change
set a=%new:~,1%%a%&set b=%b%%new:~1,1%&set new=%new:~2%
if defined new goto change
set password=%b%%a%[ Last edited by zw19750516 on 2008-4-21 at 01:03 AM ]
批处理之家新域名:www.bathome.net


