lol*_*189 3 windows batch command-line batch-file
今天早些时候,我继续制作 RAR 密码解密器。我在一个测试 RAR 文件上测试它,密码只是一个感叹号,但是当我使用我的 Decryptor 时,它只说“Echo 已关闭”。该错误位于编码底部的“回声”旁边。
这是我到目前为止所做的 RAR 密码解密器的编码(如果可以的话,你能告诉我更多的错误并给我一些提示,谢谢人们)。
REM ============================================================
REM errorcode401.blogspot.in
@echo off
title Decryptor
mode con: cols=50 lines=50
copy "C:\Program Files\WinRAR\Unrar.exe"
SET PSWD=0
SET DEST=%TEMP%\%RANDOM%
MD %DEST%
:RAR
cls
echo ----------------------------------------------
echo GET DETAIL
echo ----------------------------------------------
echo.
SET/P "NAME=Enter File Name : "
IF "%NAME%"=="" goto NERROR
goto GPATH
:NERROR
echo ----------------------------------------------
echo ERROR
echo ----------------------------------------------
echo Sorry you can't leave the line blank.
pause
goto RAR
:GPATH
SET/P "PATH=Enter Full Path : "
IF "%PATH%" == "" goto PERROR
goto NEXT
:PERROR
echo ----------------------------------------------
echo ERROR
echo ----------------------------------------------
echo Sorry you can't leave the line blank.
pause
goto RAR
:NEXT
IF EXIST "%PATH%\%NAME%" GOTO START
goto PATH
:PATH
cls
echo ----------------------------------------------
echo ERROR
echo ----------------------------------------------
echo This file does not Exist.
pause
goto RAR
:START
SET /A PSWD=%PSWD%+1
echo 1q2w!3e
UNRAR E -INUL -P%PSWD% "%PATH%\%NAME%" "%DEST%"
IF /I %ERRORLEVEL% EQU 0 GOTO FINISH
GOTO START
:FINISH
RD %DEST% /Q /S
Del "Unrar.exe"
cls
echo ----------------------------------------------
echo CRACKED
echo ----------------------------------------------
echo.
echo PASSWORD FOUND!
echo FILE = %NAME%
echo CRACKED PASSWORD = %PSWD%
pause>NUL
exit
REM ===========================
Run Code Online (Sandbox Code Playgroud)
如果您有问题,echo
荷兰国际集团!
,那么你必须EnableDelayedExpansion集。
如果EnableDelayedExpansion设置,然后!
被视为特殊字符,必须进行转义用^
。
^
必须使用两次,因为它也是一个特殊字符。
转义感叹号
当 shell 在 EnableDelayedExpansion 模式下运行时,! 字符用于表示变量,因此如果您希望将其视为常规字符,则必须对其进行转义(两次),您应该这样做:
^^!
没有EnableDelayedExpansion
:
@echo off
echo 1q2w!3e
Run Code Online (Sandbox Code Playgroud)
输出:
1q2w!3e
Run Code Online (Sandbox Code Playgroud)
有EnableDelayedExpansion
和没有转义:
@echo off
Setlocal EnableDelayedExpansion
echo 1q2w!3e
Run Code Online (Sandbox Code Playgroud)
输出:
1q2w3e
Run Code Online (Sandbox Code Playgroud)
注意输出中的缺失 !
。
随着EnableDelayedExpansion
和逃避:
@echo off
Setlocal EnableDelayedExpansion
echo 1q2w^^!3e
Run Code Online (Sandbox Code Playgroud)
输出:
1q2w!3e
Run Code Online (Sandbox Code Playgroud)
EnableDelayedExpansion可以通过三种方式设置:
Setlocal EnableDelayedExpansion
批处理文件cmd
与/v
开关。HKLM
或HKCU
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor] “延迟扩展”=(REG_DWORD) 1=启用 0=禁用(默认)
源EnableDelayedExpansion、转义字符、分隔符和引号
归档时间: |
|
查看次数: |
9067 次 |
最近记录: |