#!/usr/bin/env bash
DEVICE="/dev/sdX" # Например: /dev/sdb1
KNOWN="Ваши17ИзвестныхСимволов"
if [ ${#KNOWN} -ne 17 ]; then
echo "Ошибка: KNOWN должен содержать ровно 17 символов."
exit 1
fi
attempt=0
for pos in $(seq 0 17); do
for code in $(seq 32 126); do
char=$(printf "\\$(printf '%03o' "$code")")
pass="${KNOWN:0:$pos}${char}${KNOWN:$pos}"
attempt=$((attempt + 1))
printf "[%4d] %s\n" "$attempt" "$pass" | tee -a passwords.log
if printf '%s' "$pass" | \
cryptsetup open "$DEVICE" luks-test --test-passphrase >/dev/null 2>&1
then
echo
echo "======================================"
echo "Пароль найден!"
printf "%s\n" "$pass"
echo "======================================"
exit 0
fi
done
done
echo
echo "Пароль не найден."