Я дурачился с зашифрованной функцией .dmg Дисковой утилиты. Я случайно положил туда важный файл и частично забыл пароль. (Я ЗНАЮ!) Я точно знаю, какой была первая часть пароля, но последние 2-4 цифры у меня есть только смутное представление. Что-то вроде Myword55 & или Urword934!
Как я могу bruteforce автоматически попробовать все комбинации паролей? Я нашел следующий скрипт bash, но не знаю, как изменить его в соответствии с моими потребностями:
#!/bin/bash
dmgfile="Your Encrypted File.dmg"
function TryPassword
{
echo -n "$1 "
r=$(echo -n "$1" | hdiutil verify -stdinpass "$dmgfile" 2>&1)
if ! [[ $r =~ "Authentication error" ]]; then
echo ""
echo "Found! The password is: $1"
exit
fi
}
chars=$(echo {0..9} {A..z})
alphanum=( $(echo $chars | sed -E 's/[^A-Za-z0-9 ]+/ /g') )
letter=( $(echo $chars | sed -E 's/[^A-Za-z ]+/ /g') )
lowercase=( $(echo $chars | sed -E 's/[^a-z ]+/ /g') )
uppercase=( $(echo $chars | sed -E 's/[^A-Z ]+/ /g') )
digit=( $(echo $chars | sed -E 's/[^0-9 ]+/ /g') )
for a in "${letter[@]}"; do
for b in "${lowercase[@]}"; do
for c in "${digit[@]}"; do
TryPassword "$a$b$c"
done
done
done