br.com.estudogrupo.principal.Principal.java Source code

Java tutorial

Introduction

Here is the source code for br.com.estudogrupo.principal.Principal.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.estudogrupo.principal;

import br.com.estudogrupo.dicionarios.Dicionario;
import br.com.estudogrupo.dicionarios.Dicionario1;
import br.com.estudogrupo.dicionarios.Dicionario2;
import br.com.estudogrupo.dicionarios.Dicionario3;
import br.com.estudogrupo.dicionarios.Dicionario4;
import br.com.estudogrupo.dicionarios.Dicionario5;
import br.com.estudogrupo.dicionarios.Dicionario6;
import br.com.estudogrupo.dicionarios.Dicionario7;
import br.com.estudogrupo.online.DicionarioOnline01;
import br.com.estudogrupo.online.DicionarioOnline02;
import br.com.estudogrupo.online.DicionarioOnline03;
import br.com.estudogrupo.online.DicionarioOnline04;
import br.com.estudogrupo.online.DicionarioOnline05;
import br.com.estudogrupo.sha1.DicionarioSha1;
import br.com.estudogrupo.sha1.DicionarioSha2;
import br.com.estudogrupo.sha1.DicionarioSha3;
import br.com.estudogrupo.sha1.DicionarioSha4;
import br.com.estudogrupo.sha1.DicionarioSha5;
import br.com.estudogrupo.sha1.DicionarioSha6;
import br.com.estudogrupo.sha1.DicionarioSha7;
import br.com.estudogrupo.sha1.DicionarioSha8;
import java.net.UnknownHostException;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.codec.binary.Base64;

/**
 *
 * @author higor
 */
public class Principal {

    public static void main(String[] args) throws ParseException {
        Dicionario dicionario = new Dicionario();
        Dicionario1 dicionario1 = new Dicionario1();
        Dicionario2 dicionario2 = new Dicionario2();
        Dicionario3 dicionario3 = new Dicionario3();
        Dicionario4 dicionario4 = new Dicionario4();
        Dicionario5 dicionario5 = new Dicionario5();
        Dicionario6 dicionario6 = new Dicionario6();
        Dicionario7 dicionario7 = new Dicionario7();
        DicionarioSha1 dicionarioSha1 = new DicionarioSha1();
        DicionarioSha2 dicionarioSha2 = new DicionarioSha2();
        DicionarioSha3 dicionarioSha3 = new DicionarioSha3();
        DicionarioSha4 dicionarioSha4 = new DicionarioSha4();
        DicionarioSha5 dicionarioSha5 = new DicionarioSha5();
        DicionarioSha6 dicionarioSha6 = new DicionarioSha6();
        DicionarioSha7 dicionarioSha7 = new DicionarioSha7();
        DicionarioSha8 dicionarioSha8 = new DicionarioSha8();
        CommandLineParser parser = new PosixParser();
        Options options = new Options();
        options.addOption("m", "MD5", true, "Md5 hash");
        options.addOption("s", "SHA1", true, "Sha1 hash");
        options.addOption("b", "BASE64", true, "Base64 hash");
        options.addOption("l1", "Lista 1", true, "WordList");
        options.addOption("l2", "Lista 2", true, "WordList");
        options.addOption("l3", "Lista 3", true, "WordList");
        options.addOption("l4", "Lista 4", true, "WordList");
        options.addOption("l5", "Lista 5", true, "WordList");
        options.addOption("l6", "Lista 6", true, "WordList");
        options.addOption("l7", "Lista 7", true, "WordList");
        options.addOption("l8", "Lista 8", true, "WordList");
        options.addOption("oM", "ONLINE", true, "Busca md5 hash Online");
        int contador = 0;
        int contadodorSha = 0;
        CommandLine line = null;
        try {
            line = parser.parse(options, args);
        } catch (Exception e) {

        }

        try {
            if (line.hasOption("oM")) {
                String pegar = line.getOptionValue("oM");
                DicionarioOnline01 dicionarioOnline01 = new DicionarioOnline01();
                dicionarioOnline01.setRecebe(pegar);
                Thread t1Online = new Thread(dicionarioOnline01);
                t1Online.start();

                //Segunda Thread
                DicionarioOnline02 dicionarioOnline02 = new DicionarioOnline02();
                dicionarioOnline02.setRecebe(pegar);
                Thread t2Online = new Thread(dicionarioOnline02);
                t2Online.start();

                //Terceira Thread
                DicionarioOnline03 dicionarioOnline03 = new DicionarioOnline03();
                dicionarioOnline03.setRecebe(pegar);
                Thread t3Online = new Thread(dicionarioOnline03);
                t3Online.start();

                //Quarta Thread
                DicionarioOnline04 dicionarioOnline04 = new DicionarioOnline04();
                dicionarioOnline04.setRecebe(pegar);
                Thread t4Online = new Thread(dicionarioOnline04);
                t4Online.start();
                //Quinta Thread
                DicionarioOnline05 dicionarioOnline05 = new DicionarioOnline05();
                dicionarioOnline05.setRecebe(pegar);
                Thread t5Online = new Thread(dicionarioOnline05);
                t5Online.start();

                System.out.println(" _____        _____ _____ _   _ \n" + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n"
                        + "| |__) /  \\  | |  | || | |  \\| |\n" + "|  ___/ /\\ \\ | |  | || | | . ` |\n"
                        + "| |  / ____ \\| |__| || |_| |\\  |\n" + "|_| /_/    \\_\\_____/_____|_| \\_|\n"
                        + "                                \n" + "            ");
                System.out.println("Executando...");

            } else if (line.hasOption('m')) {
                if (line.hasOption("l1")) {
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l1");
                    dicionario.setRecebe(recebe);
                    dicionario.setLista(lista);
                    contador++;
                    Thread t1 = new Thread(dicionario);

                    t1.start();

                }
                if (line.hasOption("l2")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l2");
                    dicionario1.setRecebe(recebe);
                    dicionario1.setLista(lista);
                    Thread t2 = new Thread(dicionario1);

                    t2.start();

                }
                if (line.hasOption("l3")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l3");
                    dicionario2.setRecebe(recebe);
                    dicionario2.setLista(lista);
                    Thread t3 = new Thread(dicionario2);

                    t3.start();
                }
                if (line.hasOption("l4")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l3");
                    dicionario3.setRecebe(recebe);
                    dicionario3.setLista(lista);
                    Thread t4 = new Thread(dicionario3);

                    t4.start();

                }
                if (line.hasOption("l5")) {
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l5");
                    dicionario4.setRecebe(recebe);
                    dicionario4.setLista(lista);
                    Thread t5 = new Thread(dicionario4);
                    contador++;

                    t5.start();

                }
                if (line.hasOption("l6")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l6");
                    dicionario5.setRecebe(recebe);
                    dicionario5.setLista(lista);
                    Thread t6 = new Thread(dicionario5);

                    t6.start();
                }
                if (line.hasOption("l7")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l7");
                    dicionario6.setRecebe(recebe);
                    dicionario6.setLista(lista);
                    Thread t6 = new Thread(dicionario6);

                    t6.start();
                }
                if (line.hasOption("l8")) {
                    contador++;
                    String recebe = line.getOptionValue('m');
                    String lista = line.getOptionValue("l8");
                    dicionario7.setRecebe(recebe);
                    dicionario7.setLista(lista);
                    Thread t7 = new Thread(dicionario7);

                    t7.start();

                }
                if (contador > 0) {
                    System.out.println(" _____        _____ _____ _   _ \n"
                            + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n" + "| |__) /  \\  | |  | || | |  \\| |\n"
                            + "|  ___/ /\\ \\ | |  | || | | . ` |\n" + "| |  / ____ \\| |__| || |_| |\\  |\n"
                            + "|_| /_/    \\_\\_____/_____|_| \\_|\n" + "                                \n"
                            + "            ");
                    System.out.println("Executando...");
                    contador = 0;

                }
            } else if (line.hasOption('s')) {
                if (line.hasOption("l1")) {
                    contadodorSha++;
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l1");
                    dicionarioSha1.setRecebe(pegar);
                    dicionarioSha1.setLista(lista);
                    Thread t1 = new Thread(dicionarioSha1);

                    t1.start();
                } else if (line.hasOption("l2")) {
                    contadodorSha++;
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l2");
                    dicionarioSha2.setRecebe(pegar);
                    dicionarioSha2.setLista(lista);
                    Thread t2 = new Thread(dicionarioSha2);

                    t2.start();
                } else if (line.hasOption("l3")) {
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l3");
                    dicionarioSha3.setRecebe(pegar);
                    dicionarioSha3.setLista(lista);
                    Thread t3 = new Thread(dicionarioSha3);
                    contadodorSha++;
                    t3.start();
                } else if (line.hasOption("l4")) {
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l4");
                    dicionarioSha4.setRecebe(pegar);
                    dicionarioSha4.setLista(lista);
                    Thread t4 = new Thread(dicionarioSha4);
                    contadodorSha++;
                    t4.start();
                } else if (line.hasOption("l5")) {
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l5");
                    dicionarioSha5.setRecebe(pegar);
                    dicionarioSha5.setLista(lista);
                    Thread t5 = new Thread(dicionarioSha5);
                    contador++;
                    t5.start();
                } else if (line.hasOption("l6")) {
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l6");
                    dicionarioSha6.setRecebe(pegar);
                    dicionarioSha6.setLista(lista);
                    Thread t6 = new Thread(dicionarioSha6);
                    contadodorSha++;
                    t6.start();
                } else if (line.hasOption("l7")) {
                    String pegar = line.getOptionValue('s');
                    String lista = line.getOptionValue("l7");
                    dicionarioSha7.setRecebe(pegar);
                    dicionarioSha7.setLista(lista);
                    Thread t7 = new Thread(dicionarioSha7);
                    contadodorSha++;
                    t7.start();
                } else {
                    HelpFormatter formatter = new HelpFormatter();
                    formatter.printHelp(" _____        _____ _____ _   _ \n"
                            + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n" + "| |__) /  \\  | |  | || | |  \\| |\n"
                            + "|  ___/ /\\ \\ | |  | || | | . ` |\n" + "| |  / ____ \\| |__| || |_| |\\  |\n"
                            + "|_| /_/    \\_\\_____/_____|_| \\_|\n\n\n" + "                                \n"
                            + "   \n" + "                              \n" + "\n" + "\n" + "\n " + "\n", options);
                }
                if (contadodorSha > 0) {
                    System.out.println(" _____        _____ _____ _   _ \n"
                            + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n" + "| |__) /  \\  | |  | || | |  \\| |\n"
                            + "|  ___/ /\\ \\ | |  | || | | . ` |\n" + "| |  / ____ \\| |__| || |_| |\\  |\n"
                            + "|_| /_/    \\_\\_____/_____|_| \\_|\n" + "                                \n"
                            + "            ");
                    System.out.println("Executando...");
                    contadodorSha = 0;
                }

            } else if (line.hasOption('b')) {
                String pegar = line.getOptionValue('b');
                System.out.println(" _____        _____ _____ _   _ \n" + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n"
                        + "| |__) /  \\  | |  | || | |  \\| |\n" + "|  ___/ /\\ \\ | |  | || | | . ` |\n"
                        + "| |  / ____ \\| |__| || |_| |\\  |\n" + "|_| /_/    \\_\\_____/_____|_| \\_|\n"
                        + "                                \n" + "            ");
                System.out.println("executando...");
                byte[] decoder = Base64.decodeBase64(pegar.getBytes());
                System.out.println("Senha : " + new String(decoder));

            } else {
                HelpFormatter formatter = new HelpFormatter();
                formatter.printHelp(
                        " _____        _____ _____ _   _ \n" + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n"
                                + "| |__) /  \\  | |  | || | |  \\| |\n" + "|  ___/ /\\ \\ | |  | || | | . ` |\n"
                                + "| |  / ____ \\| |__| || |_| |\\  |\n"
                                + "|_| /_/    \\_\\_____/_____|_| \\_|\n\n\n" + "                                \n"
                                + "   \n" + "                              \n" + "\n" + "\n" + "\n " + "\n",
                        options);
            }

        } catch (NullPointerException e) {
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp(" _____        _____ _____ _   _ \n" + "|  __ \\ /\\   |  __ \\_   _| \\ | |\n"
                    + "| |__) /  \\  | |  | || | |  \\| |\n" + "|  ___/ /\\ \\ | |  | || | | . ` |\n"
                    + "| |  / ____ \\| |__| || |_| |\\  |\n" + "|_| /_/    \\_\\_____/_____|_| \\_|\n\n\n"
                    + "                                \n" + "   \n" + "                              \n" + "\n"
                    + "\n" + "\n " + "\n", options);
        }

    }
}