Advertisement
DarkProgrammer000

Crunch

Oct 3rd, 2021
1,211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.06 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Apresentacao
  4. apresentacao()
  5. {
  6.     clear
  7.     printf "     \e[1;92m.-\"\"\"\"-. \e[0m\n"
  8.     printf "    \e[1;92m/        \ \e[0m\n"
  9.     printf " \e[1;77m  \e[0m\e[1;92m/_        _\ \e[0m\n"
  10.     printf "\e[1;77m  \e[0m\e[1;92m// \      / \\ \e[0m\n"
  11.     printf "\e[1;77m  \e[0m\e[1;92m|\__\    /__/ \e[0m\n"
  12.     printf "\e[1;77m  \e[0m\e[1;92m\    ||    / \e[0m\n"
  13.     printf "\e[1;77m   \e[0m\e[1;92m\        / \e[0m\n"
  14.     printf "\e[1;92m \e[0m   \e[1;92m\  __  / \e[0m\n"
  15.     printf "     \e[1;92m'.__.' \e[0m\n\n"
  16.  
  17.     echo -e "\033[01;33m ################################### \033[01;37m"
  18.     echo -e "\033[01;32m Desenvolvido por DarProgrammer000   \033[01;37m"
  19.     echo -e "\033[31;5m  Black Hat DarkProgrammer000     \033[0m"
  20.     echo -e "\033[01;33m ################################### \033[01;37m\n"
  21.    
  22.     echo -e "\033[01;34m ----------------              \033[01;37m"
  23.     echo -e "\033[01;35m      CRUNCH                   \033[01;37m"
  24.     echo -e "\033[01;34m ----------------              \033[01;37m"
  25.     echo -e "\033[01;34m\n # Path: cd /usr/share/crunch    \033[01;37m"
  26.     echo -e "\033[01;34m # cat /usr/share/crunch/charset.lst \n\033[01;37m"
  27. }
  28.  
  29. # Letras Maiusculas
  30. 1()
  31. {  
  32.     clear
  33.     echo -e "\033[01;34m ------------------------- \033[01;37m"
  34.     echo -e "\033[01;35m     Letras Maiusculas     \033[01;37m"
  35.     echo -e "\033[01;34m ------------------------- \033[01;37m"
  36.     echo ""
  37.  
  38.     # Comando
  39.     entradaDados && clear
  40.     crunch $min $max -f /usr/share/crunch/charset.lst ualpha -o WordList/letrasMaiusculas.txt
  41.    
  42.     # Analise do arquivo
  43.     clear
  44.     linhas=$(wc -l WordList/letrasMaiusculas.txt | cut -d " " -f 1)
  45.     tamPath=$(du -hs WordList/letrasMaiusculas.txt)
  46.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  47.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  48.     echo ""
  49.     read -p "<< ENTER >>"
  50.  
  51.     # Limpeza de variavel
  52.     opc=""
  53. }
  54.  
  55. # Letras Minusculas
  56. 2()
  57. {  
  58.     clear
  59.     echo -e "\033[01;34m ------------------------- \033[01;37m"
  60.     echo -e "\033[01;35m     Letras Minusculas     \033[01;37m"
  61.     echo -e "\033[01;34m ------------------------- \033[01;37m"
  62.     echo ""
  63.  
  64.     # Comando
  65.     entradaDados && clear
  66.     crunch $min $max -f /usr/share/crunch/charset.lst lalpha -o WordList/letrasMinusculas.txt
  67.    
  68.     # Analise do arquivo
  69.     clear
  70.     linhas=$(wc -l WordList/letrasMinusculas.txt | cut -d " " -f 1)
  71.     tamPath=$(du -hs WordList/letrasMinusculas.txt)
  72.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  73.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  74.     echo ""
  75.     read -p "<< ENTER >>"
  76.  
  77.     # Limpeza de variavel
  78.     opc=""
  79. }
  80.  
  81. # Letras Maiusculas + Numeros
  82. 3()
  83. {  
  84.     clear
  85.     echo -e "\033[01;34m ----------------------------------- \033[01;37m"
  86.     echo -e "\033[01;35m     Letras Maiusculas + Numeros     \033[01;37m"
  87.     echo -e "\033[01;34m ----------------------------------- \033[01;37m"
  88.     echo ""
  89.  
  90.     # Comando
  91.     entradaDados && clear
  92.     crunch $min $max -f /usr/share/crunch/charset.lst ualpha-numeric -o WordList/letrasMaiusculas_Numeros.txt
  93.  
  94.     # Analise do arquivo
  95.     clear
  96.     linhas=$(wc -l WordList/letrasMaiusculas_Numeros.txt | cut -d " " -f 1)
  97.     tamPath=$(du -hs WordList/letrasMaiusculas_Numeros.txt)
  98.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  99.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  100.     echo ""
  101.     read -p "<< ENTER >>"
  102.  
  103.     # Limpeza de variavel
  104.     opc=""
  105. }
  106.  
  107. # Letras Minusculas + Numeros
  108. 4()
  109. {  
  110.     clear
  111.     echo -e "\033[01;34m ----------------------------------- \033[01;37m"
  112.     echo -e "\033[01;35m     Letras Minusculas + Numeros     \033[01;37m"
  113.     echo -e "\033[01;34m ----------------------------------- \033[01;37m"
  114.     echo ""
  115.  
  116.     # Comando
  117.     entradaDados && clear
  118.     crunch $min $max -f /usr/share/crunch/charset.lst lalpha-numeric -o WordList/letrasMinusculas_Numeros.txt
  119.  
  120.     # Analise do arquivo
  121.     clear
  122.     linhas=$(wc -l WordList/letrasMinusculas_Numeros.txt | cut -d " " -f 1)
  123.     tamPath=$(du -hs WordList/letrasMinusculas_Numeros.txt)
  124.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  125.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  126.     echo ""
  127.     read -p "<< ENTER >>"
  128.  
  129.     # Limpeza de variavel
  130.     opc=""
  131. }
  132.  
  133. # Letras Minusculas + Letras Maiusculas
  134. 5()
  135. {  
  136.     clear
  137.     echo -e "\033[01;34m --------------------------------------------- \033[01;37m"
  138.     echo -e "\033[01;35m     Letras Minusculas + Letras Maiusculas     \033[01;37m"
  139.     echo -e "\033[01;34m --------------------------------------------- \033[01;37m"
  140.     echo ""
  141.  
  142.     # Comando
  143.     entradaDados && clear
  144.     crunch $min $max -f /usr/share/crunch/charset.lst lalpha-numeric -o WordList/letrasMinusculas_Numeros.txt
  145.  
  146.     # Analise do arquivo
  147.     clear
  148.     linhas=$(wc -l WordList/letrasMinusculas_Numeros.txt | cut -d " " -f 1)
  149.     tamPath=$(du -hs WordList/letrasMinusculas_Numeros.txt)
  150.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  151.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  152.     echo ""
  153.     read -p "<< ENTER >>"
  154.  
  155.     # Limpeza de variavel
  156.     opc=""
  157. }
  158.  
  159. # Letras Minusculas + Numeros + Espaco + Caracteres Especiais
  160. 6()
  161. {  
  162.     clear
  163.     echo -e "\033[01;34m ------------------------------------------------------------------- \033[01;37m"
  164.     echo -e "\033[01;35m     Letras Minusculas + Numeros + Espaco + Caracteres Especiais     \033[01;37m"
  165.     echo -e "\033[01;34m ------------------------------------------------------------------- \033[01;37m"
  166.     echo ""
  167.  
  168.     # Comando
  169.     entradaDados && clear
  170.     crunch $min $max -f /usr/share/crunch/charset.lst lalpha-numeric-all-space -o WordList/letrasMinusculas_Numeros_Espaco_Especial.txt
  171.  
  172.     # Analise do arquivo
  173.     clear
  174.     linhas=$(wc -l WordList/letrasMinusculas_Numeros_Espaco_Especial.txt | cut -d " " -f 1)
  175.     tamPath=$(du -hs WordList/letrasMinusculas_Numeros_Espaco_Especial.txt)
  176.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  177.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  178.     echo ""
  179.     read -p "<< ENTER >>"
  180.  
  181.     # Limpeza de variavel
  182.     opc=""
  183. }
  184.  
  185. # Letras Maiusculas + Numeros + Espaco + Caracteres Especiais
  186. 7()
  187. {  
  188.     clear
  189.     echo -e "\033[01;34m ------------------------------------------------------------------- \033[01;37m"
  190.     echo -e "\033[01;35m     Letras Maiusculas + Numeros + Espaco + Caracteres Especiais     \033[01;37m"
  191.     echo -e "\033[01;34m ------------------------------------------------------------------- \033[01;37m"
  192.     echo ""
  193.  
  194.     # Comando
  195.     entradaDados && clear
  196.     crunch $min $max -f /usr/share/crunch/charset.lst ualpha-numeric-all-space -o WordList/letrasMaiusculas_Numeros_Espaco_Especial.txt
  197.    
  198.     # Analise do arquivo
  199.     clear
  200.     linhas=$(wc -l WordList/letrasMaiusculas_Numeros_Espaco_Especial.txt | cut -d " " -f 1)
  201.     tamPath=$(du -hs WordList/letrasMaiusculas_Numeros_Espaco_Especial.txt)
  202.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  203.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  204.     echo ""
  205.     read -p "<< ENTER >>"
  206.  
  207.     # Limpeza de variavel
  208.     opc=""
  209. }
  210.  
  211. # Letras Minusculas + Letras Maiusculas + Numeros + Espaco + Caracteres Especiais
  212. 8()
  213. {  
  214.     clear
  215.     echo -e "\033[01;34m --------------------------------------------------------------------------------------- \033[01;37m"
  216.     echo -e "\033[01;35m     Letras Minusculas + Letras Maiusculas + Numeros + Espaco + Caracteres Especiais     \033[01;37m"
  217.     echo -e "\033[01;34m --------------------------------------------------------------------------------------- \033[01;37m"
  218.     echo ""
  219.  
  220.     # Comando
  221.     entradaDados && clear
  222.     crunch $min $max -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o WordList/all.txt
  223.    
  224.     # Analise do arquivo
  225.     clear
  226.     linhas=$(wc -l WordList/all.txt | cut -d " " -f 1)
  227.     tamPath=$(du -hs WordList/all.txt)
  228.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  229.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  230.     echo ""
  231.     read -p "<< ENTER >>"
  232.  
  233.     # Limpeza de variavel
  234.     opc=""
  235. }
  236.  
  237. # Letras Minusculas + Letras Maiusculas + Numeros + Espaco + Caracteres Especiais
  238. 9()
  239. {  
  240.     clear
  241.     echo -e "\033[01;34m ------------------- \033[01;37m"
  242.     echo -e "\033[01;35m     Customizado     \033[01;37m"
  243.     echo -e "\033[01;34m ------------------- \033[01;37m"
  244.     echo ""
  245.  
  246.     # Comando
  247.     entradaDados
  248.     entradaCaracteres && clear
  249.     crunch $min $max $caracteres -o WordList/custom.txt
  250.  
  251.     # Analise do arquivo
  252.     clear
  253.     linhas=$(wc -l WordList/custom.txt | cut -d " " -f 1)
  254.     tamPath=$(du -hs WordList/custom.txt)
  255.     echo -e "\033[01;34m Linas: $linhas \033[01;37m"
  256.     echo -e "\033[01;34m Tamanho/Path: $tamPath \033[01;37m"
  257.     echo ""
  258.     read -p "<< ENTER >>"
  259.  
  260.     # Limpeza de variavel
  261.     opc=""
  262. }
  263.  
  264. # Entrada de dados
  265. entradaDados()
  266. {
  267.     # Configuracao do arquivo
  268.     echo -e -n "\033[01;33m # Tamanho minimo da senha: \033[01;37m"
  269.     read min
  270.  
  271.     # Configuracao do arquivo
  272.     echo -e -n "\033[01;33m\n # Tamanho maximo da senha: \033[01;37m"
  273.     read max
  274. }
  275.  
  276. # Entrada de dados
  277. entradaCaracteres()
  278. {
  279.     # Configuracao do arquivo
  280.     echo -e -n "\n\033[01;33m # Caracteres [abc123%@#]: \033[01;37m"
  281.     read caracteres
  282. }
  283.  
  284. # Montagem de menu principal
  285. montagemMenu()
  286. {
  287.     # Montagem de um array list
  288.     declare -a arr=("Letras Maiusculas"
  289.             "Letras Minusculas"
  290.                 "Letras Maiusculas + Numeros"
  291.             "Letras Minusculas + Numeros"
  292.                 "Letras Minusculas + Letras Maiusculas"
  293.                 "Letras Minusculas + Numeros + Espaco + Caracteres Especiais"
  294.             "Letras Maiusculas + Numeros + Espaco + Caracteres Especiais"
  295.             "Letras Minusculas + Letras Maiusculas + Numeros + Espaco + Caracteres Especiais"
  296.                 "Customizado"
  297.             )
  298.  
  299.     # Tamanho do vetor: ${#arr[@]}
  300.     # Estrutura em loop (estilo C))
  301.     # $i(indice): ${arr[$i]} (conteudo na lista)
  302.    
  303.     echo -e "\033[01;33m # Main Menu  \n\033[01;37m"
  304.    
  305.     for (( i=0; i < ${#arr[@]}; i++))
  306.     do
  307.         echo -e "\033[01;3$((i+1))m # [$((i+1))]: ${arr[$i]} \033[01;37m"
  308.     done
  309.    
  310.     echo -e "\033[01;31m # [0]: Exit \n\033[01;37m"
  311.     echo -n -e "\033[01;37m # Opc.: \033[01;37m"
  312.     read opc
  313.  
  314.     # Metodo
  315.     escolha
  316. }
  317.  
  318. # Estrutura em escolha
  319. escolha()
  320. {
  321.     case $opc in
  322.     1)  1;;
  323.     2)  2;;
  324.     3)  3;;
  325.     4)  4;;
  326.     5)  5;;
  327.     6)  6;;
  328.     7)  7;;
  329.     8)  8;;
  330.     9)  9;;
  331.     0)  exit 1;;
  332.     *)   ;;
  333.     esac
  334. }
  335.  
  336. # Controle de fluxo
  337. Programa()
  338. {
  339.     # Estrutura de decisao: Caso nao exista a pasta 'WordList'
  340.     if [[ ! -r WordList ]]
  341.     then
  342.         # Criacao de pasta
  343.         mkdir WordList
  344.     fi
  345.    
  346.     # Estrutura de repeticao
  347.     while ((1))
  348.     do
  349.         apresentacao
  350.         montagemMenu
  351.         escolha
  352.     done
  353. }
  354.  
  355. ################
  356. ### PROGRAMA ###
  357. ################
  358. Programa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement