密码的批处理循环

Batch loop for password

我需要帮助编写批处理脚本。 我忘记了一个文件的密码,它是一个简单的密码 4 个字符(1234、asdf、qwer)。

命令行是这样的:

C:\Users\DB> .\open.exe --file=db1.bin --password=asdf Logging to C:\Users\DB\open.log Error: failed to load: invalid password

我设法生成了一个密码列表 (pass.txt),因为数字不是字符串中的第一个就是最后一个,而且只有小写字母,但仍然有几千个。有什么方法可以自动化吗?

@echo off
(
 for %%a in (0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
  for %%b in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
   for %%c in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    for %%d in (0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
     echo(%%a%%b%%c%%d
    )
   )
  )
 )
)>pass.txt

生成所有可能的 808496 密码大约需要半分钟

{letter | number}{letter}{letter}{letter | number}

其中只有开始或结束可能是数字)。如果 start 和 end 都可以是数字,则跳过最后两行 (876096 passwords)

要遍历文本文件,请使用 for /f 循环。

for /f %%A in (pass.txt) do open.exe --file=db1.bin --password=%%A

如果您希望它跟踪您在文件中的位置,请添加 echo

for /f %%A in (pass.txt) do (
    echo Now trying %%A
    open.exe --file=db1.bin --password=%%A
)