Загрузка данных


#!/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 "Пароль не найден."