今日の早い時間に、RAR パスワード復号化ツールの作成を続行していました。パスワードが感嘆符だけのテスト RAR ファイルでテストしていたのですが、復号化ツールを使用すると、「エコーがオフになっています」とだけ表示されます。バグは、コーディングの下部の「エコー」の横にあります。
これは私がこれまでに行った 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 ===========================
答え1
問題がある場合はecho
、!
遅延拡張を有効にするセット。
もし遅延拡張を有効にするが設定されている場合は!
特殊文字として扱われ、逃げなければならないと^
。
^
特殊文字でもあるため、2 回使用する必要があります。
感嘆符の回避
シェルが EnableDelayedExpansion モードで実行されている場合、! 文字は変数を示すために使用されるため、これを通常の文字として扱う場合はエスケープ (2 回) する必要があります。次のようにします。
^^!
それなしEnableDelayedExpansion
:
@echo off
echo 1q2w!3e
出力:
1q2w!3e
とEnableDelayedExpansion
逃げられない:
@echo off
Setlocal EnableDelayedExpansion
echo 1q2w!3e
出力:
1q2w3e
注意してくださいない !
出力に。
とEnableDelayedExpansion
そして逃げる:
@echo off
Setlocal EnableDelayedExpansion
echo 1q2w^^!3e
出力:
1q2w!3e
遅延拡張を有効にする3 つの方法で設定できます。
Setlocal EnableDelayedExpansion
バッチファイルでの使用cmd
スイッチから始めます/v
。- レジストリの以下
HKLM
のHKCU
[HKEY_CURRENT_USER\Software\Microsoft\コマンドプロセッサ] 「遅延拡張」= (REG_DWORD) 1=有効 0=無効 (デフォルト)