我有一小段代碼用於使用單詞列表文件來破解WinRAR存檔密碼。快速創建批量文件
title RAR Crack v_2.0
echo off
color f0
set dest=%temp%\%random%
md %dest%
cls
echo.
echo -----------------------------------------
echo ^| RAR CRACK v_2.0 - BY NOOR (#NullByte) ^|
echo -----------------------------------------
echo.
echo Drag and drop the archive to this window and press ENTER
set /p arch=
echo.
echo Drag and drop the wordlist to this window and press ENTER
set /p word=
cls
echo.
echo Starting Process . .
timeout /t 2 /nobreak>nul
color f5
cls
echo.
echo Starting Process . . .
timeout /t 1 /nobreak>nul
:start
for /F %%A in (%word%) do call :process %%A
color 0c
cls
echo.
echo -----------------------------------------
echo ^| RAR CRACK v_2.0 - BY NOOR (#NullByte) ^|
echo -----------------------------------------
echo.
echo.
echo PASSWORD NOT FOUND!
echo.
echo.
echo Author: Hussain Noor Mohamed (#NullByte)
echo E-mail: [email protected]
echo.
echo Your suggestions are of great value!
pause>nul
exit
:process
cls
echo.
echo Current Password: %1
unrar e -inul -p%1 "%arch%" "%dest%"
if /i %errorlevel% equ 10 goto error
if /i %errorlevel% equ 0 goto finish %1
exit /b
:finish
color 0a
cls
echo.
echo -----------------------------------------
echo ^| RAR CRACK v_2.0 - BY NOOR (#NullByte) ^|
echo -----------------------------------------
echo.
echo.
echo PASSWORD FOUND!
echo.
echo ARCHIVE : %arch%
echo WORDLIST : %word%
echo PASSWORD : %1
echo.
echo.
echo Author: Hussain Noor Mohamed (#NullByte)
echo E-mail: [email protected]
echo.
echo Your suggestions are of great value!
pause>nul
exit
:error
color ce
cls
echo.
echo "%arch%" is not a valid rar file!
pause>nul
exit
問題是它沒有那麼快。 (速度很快,但並不符合我的期望。)如果你能提出一種讓程序更快的方法,那將是非常感謝。
P.S請不要複製我的源代碼!
擺脫你''process'例程中的'echo'。 '回聲'很慢。但是我認爲,您的主要「時間消費者」正在爲每次迭代加載'unrar'(和存檔)。但是我沒有辦法避免這種情況發生(至少不需要批處理,如果你可以管理它,而不是每次都加載) - 也許使用ramdisk? – Stephan
感謝您的回覆。如果沒有'echo',用戶將如何知道應用程序的進展情況。你能提供一個關於使用ramdisk的鏈接嗎?再次感謝! –
呼應1000條短線需要大約4秒。但正如我所說,我不認爲,這是你的主要問題。至於RAMdisk:我曾經使用三十年前的那個。我甚至不確定,如果現代Windows將允許它(基本上它是一個驅動程序,需要一定量的主內存和模擬磁盤 - 小,但非常快)。我將不得不穀歌,但你可以自己做。 – Stephan