Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! bash
- generate ()
- {
- (( $len != ${#1} )) && return 1
- if [ ${pattern:0:1} = y ]
- then
- case ${#1} in
- 4)
- [ ${1:0:1} != ${1:1:1} ] && \
- [ ${1:1:1} != ${1:2:1} ] && \
- [ ${1:2:1} != ${1:3:1} ] && \
- [ ${1:0:1} != ${1:2:1} ] && \
- [ ${1:0:1} != ${1:3:1} ] && \
- [ ${1:1:1} != ${1:3:1} ] && \
- echo "$1" && echo -e "${1}\r" >> wordlist.txt
- ;;
- 5)
- [ ${1:0:1} != ${1:1:1} ] && \
- [ ${1:1:1} != ${1:2:1} ] && \
- [ ${1:2:1} != ${1:3:1} ] && \
- [ ${1:3:1} != ${1:4:1} ] && \
- [ ${1:0:1} != ${1:2:1} ] && \
- [ ${1:0:1} != ${1:3:1} ] && \
- [ ${1:0:1} != ${1:4:1} ] && \
- [ ${1:1:1} != ${1:3:1} ] && \
- [ ${1:1:1} != ${1:4:1} ] && \
- [ ${1:2:1} != ${1:4:1} ] && \
- echo "$1" && echo -e "${1}\r" >> wordlist.txt
- ;;
- 6)
- [ ${1:0:1} != ${1:1:1} ] && \
- [ ${1:1:1} != ${1:2:1} ] && \
- [ ${1:2:1} != ${1:3:1} ] && \
- [ ${1:3:1} != ${1:4:1} ] && \
- [ ${1:4:1} != ${1:5:1} ] && \
- [ ${1:0:1} != ${1:2:1} ] && \
- [ ${1:0:1} != ${1:3:1} ] && \
- [ ${1:0:1} != ${1:4:1} ] && \
- [ ${1:0:1} != ${1:5:1} ] && \
- [ ${1:1:1} != ${1:3:1} ] && \
- [ ${1:1:1} != ${1:4:1} ] && \
- [ ${1:1:1} != ${1:5:1} ] && \
- [ ${1:2:1} != ${1:4:1} ] && \
- [ ${1:2:1} != ${1:5:1} ] && \
- [ ${1:3:1} != ${1:5:1} ] && \
- echo "$1" && echo -e "${1}\r" >> wordlist.txt
- ;;
- esac
- else
- echo "$1" && echo -e "${1}\r" >> wordlist.txt
- fi
- return 0
- }
- if [ -f wordlist.txt ]
- then
- echo -e "\nfile 'wordlist.txt' exist, abort"
- exit 1
- fi
- read -p "enter pin with dot as wildcard: " passwd
- len=${#passwd}
- if (( $len < 4 )) || (( $len > 6 ))
- then
- echo -e "\ninvalid pin length, abort"
- exit 1
- fi
- read -p "pin is pattern [y/n]? : " pattern
- pattern=${pattern,}
- for (( i; i<${#passwd}; i++ ))
- do
- if [ ${passwd:$i:1} != . ]
- then
- let $(printf 'digit_%02d=%c\n' $((i+1)) ${passwd:$i:1})
- fi
- done
- d1=$digit_01
- d2=$digit_02
- d3=$digit_03
- d4=$digit_04
- d5=$digit_05
- d6=$digit_06
- for (( d1=${digit_01:-0}; d1<=${digit_01:-9}; d1++ ))
- do
- generate "${d1:-0}" || \
- for (( d2=${digit_02:-0}; d2<=${digit_02:-9}; d2++ ))
- do
- generate "${d1:-0}${d2:-0}" || \
- for (( d3=${digit_03:-0}; d3<=${digit_03:-9}; d3++ ))
- do
- generate "${d1:-0}${d2:-0}${d3:-0}" || \
- for (( d4=${digit_04:-0}; d4<=${digit_04:-9}; d4++ ))
- do
- generate "${d1:-0}${d2:-0}${d3:-0}${d4:-0}" || \
- for (( d5=${digit_05:-0}; d5<=${digit_05:-9}; d5++ ))
- do
- generate "${d1:-0}${d2:-0}${d3:-0}${d4:-0}${d5:-0}" || \
- for (( d6=${digit_06:-0}; d6<=${digit_06:-9}; d6++ ))
- do
- generate "${d1:-0}${d2:-0}${d3:-0}${d4:-0}${d5:-0}${d6:-0}"
- done
- done
- done
- done
- done
- done
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement