Я пытаюсь запрограммировать .zip password cracker (чтобы расшифровать старый .zip-файл, из которого я забыл пароль), и я хочу сделать это быстрее.Отдельный вывод функции во время многопоточности (bash)
Я думаю, что ограничение скорости выполняется с помощью unzip (с помощью unzip -t -P) для проверки пароля. Я думал, что мог бы сделать это быстрее, если бы я дублировал исходный файл и тестировал его с помощью генераторов паролей (теперь я использую только seq для проверки чисел и генерации слов для проверки слов). Моя проблема в том, что я не могу выводить числа и «слова» отдельно.
Я пробовал так:
generate(){
seq 0 999999 & generatewords 5 1 a A
}
check(){
generate | while read password; do
unzip -tqqq -P $password $file &>/dev/null
if [ $? = 0 ]; then
echo -e "Password found:\n\n\"$password\"" && exit
fi
done
}
Но по логике вещей, я получаю только цифры и слова смешиваются в качестве выходного сигнала. Есть ли способ разделить их и дать им как аргумент следующей функции, чтобы он мог работать с большим количеством файлов? И если один из них получит совпадение, скрипт должен выйти. Можете ли вы сделать это в bash? Другие улучшения приветствуются.
Извините за мой плохой английский и плохое форматирование:/
Добро пожаловать в StackOverflow: если вы отправляете код, XML или образцы данных, ** пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «образцы кода» ('{}') в редакторе тоже lbar для красивого формата и синтаксиса выделите его! –
Спасибо. Не знал/не понял это в помощи, но я сделаю это как в следующий раз. – oliver