Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Algoritmo de força bruta 2

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Algoritmo de força bruta 2

    mais um dia se passa e decidi mexer um pouco mais no algoritmo, Fiz uma função para quebrar uma senha que contenha tanto letras minúsculas quanto maiúsculas,essa função pula do código ASCII '90' = "Z" para o '97'= "a", evitando assim, 6 caracteres( ], [, \, ^, _, ' ), a mais na força bruta, reduzindo assim o tempo de execução da função. Também fiz uma mesma função, só que essa fiz um modo burro, usando também os 6 caracteres ( ], [, \, ^, _, ' ), retirados da outra função, meu objetivo era testar se of "IF's" da primeira função retardariam a execução do algoritmo, o que foi provado empiricamente que não retarda mais do o retardo causado pelo uso dos 6 caracteres especiais. Vejamos os resultados


    Para quebrar uma senha com apenas letras (a-z, A-Z).

    5 Dígitos: 5s Segundos usando Força Bruta (Inteligente)
    6 Dígitos: 250s Segundos usando Força Bruta (Inteligente)

    Para quebrar uma senha com letras (a-z, A-Z) e os 6 caracteres especiais( ], [, \, ^, _, ' ).

    5 Dígitos: 7s Segundos usando Força Bruta (Burra)
    6 Dígitos: 388s Segundos usando Força Bruta (Burra)

    Para quebrar uma senha com letras (a-z, A-Z) e números(0-9) .

    5 Dígitos: 14,2s Segundos usando Força Bruta (Inteligente)
    6 Dígitos: 887s Segundos(15 min) usando Força Bruta (Inteligente)

    Decidi não usar uma função burra nesse último teste porque prejudicaria muito o desempenho, mais ainda falta um teste com todos os caracteres da tabela ASCII que depois postarei aqui nesse mesmo tópico.

    Obs: eu tava pirando nesse tempo, entao deve ter muita coisa errada nesse código. Mass, talvez ajude alguém

    O link do código está logo abaixo:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Um link da tabela ASCII que usei para fazer o algoritmo :
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    //97 ao 122 usa só letras minúsculas
    //65 ao 90 usa só letras maiúsculas
    //48 ao 57 usa só numeros
    #define COMECO_CHAR 65
    #define FIM_CHAR 122
    #define MAX_SENHA 20
    
    void Forca_Int_Letras_Num(char *pass, int Range_1, int Range_2, int Range_3, int Range_4, int Range_5, int Range_6);
    void Forca_Bruta_Inteligente_Todas_Letras(char *pass, int Range_1, int Range_2, int Range_3, int Range_4);
    void Forca_Bruta_Todas_Letras(char *pass, int Range_1, int Range_4);
    void Verifica_Senha(char *forca, char *pass);
    
    int main() {
      char senha[MAX_SENHA] = "zzzzz";
    
      Forca_Int_Letras_Num( senha, 48, 57 , 65, 90, 97, 122);
      //Forca_Bruta_Inteligente_Todas_Letras( senha, 65, 90, 97, 122);
      //Forca_Bruta_Todas_Letras( senha, COMECO_CHAR, FIM_CHAR);
    
      return 0;
    }
    
    //Verifica e vai aumentando os digitos se não achar a senha...
    void Forca_Bruta_Inteligente_Todas_Letras(char *pass, int Range_1, int Range_2, int Range_3, int Range_4) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("%s", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_4; forca[0]++) {
        if (forca[0] > Range_2 && forca[0] < Range_2 + 2)
          forca[0] = Range_3;
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_4; forca[1]++) {
          if (forca[1] > Range_2 && forca[1] < Range_2 + 2)
            forca[1] = Range_3;
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_4; forca[2]++) {
            if (forca[2] > Range_2 && forca[2] < Range_2 + 2)
              forca[2] = Range_3;
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_4; forca[3]++) {
              if (forca[3] > Range_2 && forca[3] < Range_2 + 2)
                forca[3] = Range_3;
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_4; forca[4]++) {
                if (forca[4] > Range_2 && forca[4] < Range_2 + 2)
                  forca[4] = Range_3;
                if (tam <= 5){
                  if (tam == 5)
                    Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_4; forca[5]++) {
                  if (forca[5] > Range_2 && forca[5] < Range_2 + 2)
                    forca[5] = Range_3;
                  if (tam <= 6){
                    if (tam == 6)
                      Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_4; forca[6]++) {
                    if (forca[6] > Range_2 && forca[6] < Range_2 + 2)
                      forca[6] = Range_3;
                    if (tam <= 7){
                      if (tam == 7)
                        Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_4; forca[7]++) {
                      if (forca[7] > Range_2 && forca[7] < Range_2 + 2)
                        forca[7] = Range_3;
                      if (tam <= 8){
                        if (tam == 8)
                          Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_4; forca[8]++) {
                        if (forca[8] > Range_2 && forca[8] < Range_2 + 2)
                          forca[8] = Range_3;
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    void Forca_Int_Letras_Num(char *pass, int Range_1, int Range_2, int Range_3, int Range_4, int Range_5, int Range_6) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("Tentando descobrir a senha %s\n\n", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_6; forca[0]++) {
        if (forca[0] > Range_2  ){
          if ( forca[0] < Range_2 + 2)
            forca[0] = Range_3;
          else if ( forca[0] > Range_4 && forca[0] < Range_4 + 2)
            forca[0] = Range_5;
        }
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_6; forca[1]++) {
          if (forca[1] > Range_2  ){
            if ( forca[1] < Range_2 + 2)
              forca[1] = Range_3;
            else if ( forca[1] > Range_4 && forca[1] < Range_4 + 2)
              forca[1] = Range_5;
          }
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_6; forca[2]++) {
            if (forca[2] > Range_2  ){
              if ( forca[2] < Range_2 + 2)
              forca[2] = Range_3;
            else if ( forca[2] > Range_4 && forca[2] < Range_4 + 2)
              forca[2] = Range_5;
            }
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_6; forca[3]++) {
              if (forca[3] > Range_2  ){
                if ( forca[3] < Range_2 + 2)
                  forca[3] = Range_3;
                else if ( forca[3] > Range_4 && forca[3] < Range_4 + 2)
                  forca[3] = Range_5;
              }
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_6; forca[4]++) {
                if (forca[4] > Range_2  ){
                  if ( forca[4] < Range_2 + 2)
                    forca[4] = Range_3;
                  else if ( forca[4] > Range_4 && forca[4] < Range_4 + 2)
                    forca[4] = Range_5;
                }
                if (tam <= 5){
                  if (tam == 5)
                    Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_6; forca[5]++) {
                  if (forca[5] > Range_2  ){
                    if ( forca[5] < Range_2 + 2)
                      forca[5] = Range_3;
                    else if ( forca[5] > Range_4 && forca[5] < Range_4 + 2)
                      forca[5] = Range_5;
                  }
                  if (tam <= 6){
                    if (tam == 6)
                      Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_6; forca[6]++) {
                    if (forca[6] > Range_2  ){
                      if ( forca[6] < Range_2 + 2)
                        forca[6] = Range_3;
                      else if ( forca[6] > Range_4 && forca[6] < Range_4 + 2)
                        forca[6] = Range_5;
                    }
                    if (tam <= 7){
                      if (tam == 7)
                        Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_6; forca[7]++) {
                      if (forca[7] > Range_2  ){
                        if ( forca[7] < Range_2 + 2)
                          forca[7] = Range_3;
                        else if ( forca[7] > Range_4 && forca[7] < Range_4 + 2)
                          forca[7] = Range_5;
                      }
                      if (tam <= 8){
                        if (tam == 8)
                          Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_6; forca[8]++) {
                        if (forca[8] > Range_2  ){
                          if ( forca[8] < Range_2 + 2)
                            forca[8] = Range_3;
                          else if ( forca[8] > Range_4 && forca[8] < Range_4 + 2)
                            forca[8] = Range_5;
                        }
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    //Verifica e vai aumentando os digitos se não achar a senha...
    void Forca_Bruta_Todas_Letras(char *pass, int Range_1, int Range_4) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("%s", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_4 ; forca[0]++) {
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_4; forca[1]++) {
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_4; forca[2]++) {
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_4; forca[3]++) {
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_4; forca[4]++) {
                if (tam <= 5){
                  if (tam == 5)
                  Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_4; forca[5]++) {
                  if (tam <= 6){
                    if (tam == 6)
                    Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_4; forca[6]++) {
                    if (tam <= 7){
                      if (tam == 7)
                      Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_4; forca[7]++) {
                      if (tam <= 8){
                        if (tam == 8)
                        Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_4; forca[8]++) {
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    
    void Verifica_Senha(char *forca, char *pass) {
    
      if ( !strcmp(forca, pass) ) {
        printf("\nSenha: %s", forca);
        printf("\nSenha em ascii: ");
        {
          int i;
          for (i = 0; forca[i] != '\0'; i++)
            printf("%d:", forca[i]);
        }
        exit(1);
        } //else// retire o else e o printf abaixo para ter mais desempenho!
          //printf("\n%s", forca);
    }
    Attached Files
    __________________________________________________ ____
    Quem pensa antes tem tempo pra pensar, pois não precisa pensar durante ou depois.

  • Font Size
    #2
    Postado Originalmente por oric Ver Post
    mais um dia se passa e decidi mexer um pouco mais no algoritmo, Fiz uma função para quebrar uma senha que contenha tanto letras minúsculas quanto maiúsculas,essa função pula do código ASCII '90' = "Z" para o '97'= "a", evitando assim, 6 caracteres( ], [, \, ^, _, ' ), a mais na força bruta, reduzindo assim o tempo de execução da função. Também fiz uma mesma função, só que essa fiz um modo burro, usando também os 6 caracteres ( ], [, \, ^, _, ' ), retirados da outra função, meu objetivo era testar se of "IF's" da primeira função retardariam a execução do algoritmo, o que foi provado empiricamente que não retarda mais do o retardo causado pelo uso dos 6 caracteres especiais. Vejamos os resultados


    Para quebrar uma senha com apenas letras (a-z, A-Z).

    5 Dígitos: 5s Segundos usando Força Bruta (Inteligente)
    6 Dígitos: 250s Segundos usando Força Bruta (Inteligente)

    Para quebrar uma senha com letras (a-z, A-Z) e os 6 caracteres especiais( ], [, \, ^, _, ' ).

    5 Dígitos: 7s Segundos usando Força Bruta (Burra)
    6 Dígitos: 388s Segundos usando Força Bruta (Burra)

    Para quebrar uma senha com letras (a-z, A-Z) e números(0-9) .

    5 Dígitos: 14,2s Segundos usando Força Bruta (Inteligente)
    6 Dígitos: 887s Segundos(15 min) usando Força Bruta (Inteligente)

    Decidi não usar uma função burra nesse último teste porque prejudicaria muito o desempenho, mais ainda falta um teste com todos os caracteres da tabela ASCII que depois postarei aqui nesse mesmo tópico.

    Obs: eu tava pirando nesse tempo, entao deve ter muita coisa errada nesse código. Mass, talvez ajude alguém

    O link do código está logo abaixo:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Um link da tabela ASCII que usei para fazer o algoritmo :
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    //97 ao 122 usa só letras minúsculas
    //65 ao 90 usa só letras maiúsculas
    //48 ao 57 usa só numeros
    #define COMECO_CHAR 65
    #define FIM_CHAR 122
    #define MAX_SENHA 20
    
    void Forca_Int_Letras_Num(char *pass, int Range_1, int Range_2, int Range_3, int Range_4, int Range_5, int Range_6);
    void Forca_Bruta_Inteligente_Todas_Letras(char *pass, int Range_1, int Range_2, int Range_3, int Range_4);
    void Forca_Bruta_Todas_Letras(char *pass, int Range_1, int Range_4);
    void Verifica_Senha(char *forca, char *pass);
    
    int main() {
      char senha[MAX_SENHA] = "zzzzz";
    
      Forca_Int_Letras_Num( senha, 48, 57 , 65, 90, 97, 122);
      //Forca_Bruta_Inteligente_Todas_Letras( senha, 65, 90, 97, 122);
      //Forca_Bruta_Todas_Letras( senha, COMECO_CHAR, FIM_CHAR);
    
      return 0;
    }
    
    //Verifica e vai aumentando os digitos se não achar a senha...
    void Forca_Bruta_Inteligente_Todas_Letras(char *pass, int Range_1, int Range_2, int Range_3, int Range_4) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("%s", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_4; forca[0]++) {
        if (forca[0] > Range_2 && forca[0] < Range_2 + 2)
          forca[0] = Range_3;
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_4; forca[1]++) {
          if (forca[1] > Range_2 && forca[1] < Range_2 + 2)
            forca[1] = Range_3;
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_4; forca[2]++) {
            if (forca[2] > Range_2 && forca[2] < Range_2 + 2)
              forca[2] = Range_3;
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_4; forca[3]++) {
              if (forca[3] > Range_2 && forca[3] < Range_2 + 2)
                forca[3] = Range_3;
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_4; forca[4]++) {
                if (forca[4] > Range_2 && forca[4] < Range_2 + 2)
                  forca[4] = Range_3;
                if (tam <= 5){
                  if (tam == 5)
                    Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_4; forca[5]++) {
                  if (forca[5] > Range_2 && forca[5] < Range_2 + 2)
                    forca[5] = Range_3;
                  if (tam <= 6){
                    if (tam == 6)
                      Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_4; forca[6]++) {
                    if (forca[6] > Range_2 && forca[6] < Range_2 + 2)
                      forca[6] = Range_3;
                    if (tam <= 7){
                      if (tam == 7)
                        Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_4; forca[7]++) {
                      if (forca[7] > Range_2 && forca[7] < Range_2 + 2)
                        forca[7] = Range_3;
                      if (tam <= 8){
                        if (tam == 8)
                          Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_4; forca[8]++) {
                        if (forca[8] > Range_2 && forca[8] < Range_2 + 2)
                          forca[8] = Range_3;
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    void Forca_Int_Letras_Num(char *pass, int Range_1, int Range_2, int Range_3, int Range_4, int Range_5, int Range_6) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("Tentando descobrir a senha %s\n\n", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_6; forca[0]++) {
        if (forca[0] > Range_2  ){
          if ( forca[0] < Range_2 + 2)
            forca[0] = Range_3;
          else if ( forca[0] > Range_4 && forca[0] < Range_4 + 2)
            forca[0] = Range_5;
        }
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_6; forca[1]++) {
          if (forca[1] > Range_2  ){
            if ( forca[1] < Range_2 + 2)
              forca[1] = Range_3;
            else if ( forca[1] > Range_4 && forca[1] < Range_4 + 2)
              forca[1] = Range_5;
          }
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_6; forca[2]++) {
            if (forca[2] > Range_2  ){
              if ( forca[2] < Range_2 + 2)
              forca[2] = Range_3;
            else if ( forca[2] > Range_4 && forca[2] < Range_4 + 2)
              forca[2] = Range_5;
            }
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_6; forca[3]++) {
              if (forca[3] > Range_2  ){
                if ( forca[3] < Range_2 + 2)
                  forca[3] = Range_3;
                else if ( forca[3] > Range_4 && forca[3] < Range_4 + 2)
                  forca[3] = Range_5;
              }
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_6; forca[4]++) {
                if (forca[4] > Range_2  ){
                  if ( forca[4] < Range_2 + 2)
                    forca[4] = Range_3;
                  else if ( forca[4] > Range_4 && forca[4] < Range_4 + 2)
                    forca[4] = Range_5;
                }
                if (tam <= 5){
                  if (tam == 5)
                    Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_6; forca[5]++) {
                  if (forca[5] > Range_2  ){
                    if ( forca[5] < Range_2 + 2)
                      forca[5] = Range_3;
                    else if ( forca[5] > Range_4 && forca[5] < Range_4 + 2)
                      forca[5] = Range_5;
                  }
                  if (tam <= 6){
                    if (tam == 6)
                      Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_6; forca[6]++) {
                    if (forca[6] > Range_2  ){
                      if ( forca[6] < Range_2 + 2)
                        forca[6] = Range_3;
                      else if ( forca[6] > Range_4 && forca[6] < Range_4 + 2)
                        forca[6] = Range_5;
                    }
                    if (tam <= 7){
                      if (tam == 7)
                        Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_6; forca[7]++) {
                      if (forca[7] > Range_2  ){
                        if ( forca[7] < Range_2 + 2)
                          forca[7] = Range_3;
                        else if ( forca[7] > Range_4 && forca[7] < Range_4 + 2)
                          forca[7] = Range_5;
                      }
                      if (tam <= 8){
                        if (tam == 8)
                          Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_6; forca[8]++) {
                        if (forca[8] > Range_2  ){
                          if ( forca[8] < Range_2 + 2)
                            forca[8] = Range_3;
                          else if ( forca[8] > Range_4 && forca[8] < Range_4 + 2)
                            forca[8] = Range_5;
                        }
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    //Verifica e vai aumentando os digitos se não achar a senha...
    void Forca_Bruta_Todas_Letras(char *pass, int Range_1, int Range_4) {
      int i, tam;
      char forca[MAX_SENHA];
    
      tam = strlen(pass);
    
      for (i = 0;i < MAX_SENHA; i++)
        forca[i] = '\0';
    
      printf("%s", pass);
    
      for (forca[0] = Range_1; forca[0] <= Range_4 ; forca[0]++) {
        if (tam <= 1){
          if (tam == 1)
            Verifica_Senha( forca, pass);
        } else
        for (forca[1] = Range_1; forca[1] <= Range_4; forca[1]++) {
          if (tam <= 2){
            if (tam == 2)
              Verifica_Senha( forca, pass);
          } else
          for (forca[2] = Range_1; forca[2] <= Range_4; forca[2]++) {
            if (tam <= 3){
              if (tam == 3)
                Verifica_Senha( forca, pass);
            } else
            for (forca[3] = Range_1; forca[3] <= Range_4; forca[3]++) {
              if (tam <= 4){
                if (tam == 4)
                  Verifica_Senha( forca, pass);
              } else
              for (forca[4] = Range_1; forca[4] <= Range_4; forca[4]++) {
                if (tam <= 5){
                  if (tam == 5)
                  Verifica_Senha( forca, pass);
                } else
                for (forca[5] = Range_1; forca[5] <= Range_4; forca[5]++) {
                  if (tam <= 6){
                    if (tam == 6)
                    Verifica_Senha( forca, pass);
                  } else
                  for (forca[6] = Range_1; forca[6] <= Range_4; forca[6]++) {
                    if (tam <= 7){
                      if (tam == 7)
                      Verifica_Senha( forca, pass);
                    } else
                    for (forca[7] = Range_1; forca[7] <= Range_4; forca[7]++) {
                      if (tam <= 8){
                        if (tam == 8)
                        Verifica_Senha( forca, pass);
                      } else
                      for (forca[8] = Range_1; forca[8] <= Range_4; forca[8]++) {
                        if (tam <= 9){
                          if (tam == 9)
                          Verifica_Senha( forca, pass);
                        } else {
                          printf("\nSenha muito grande! > 9");
                          exit(1);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    
    
    void Verifica_Senha(char *forca, char *pass) {
    
      if ( !strcmp(forca, pass) ) {
        printf("\nSenha: %s", forca);
        printf("\nSenha em ascii: ");
        {
          int i;
          for (i = 0; forca[i] != '\0'; i++)
            printf("%d:", forca[i]);
        }
        exit(1);
        } //else// retire o else e o printf abaixo para ter mais desempenho!
          //printf("\n%s", forca);
    }




    como faço pra linkar esse codigo com as tentativas de wifi?

    Comment


    • Font Size
      #3
      Postado Originalmente por zepelinmdr Ver Post
      como faço pra linkar esse codigo com as tentativas de wifi?
      Rapaz, vou tentar te responder como um programador em geral, porque não programo em C/C++
      Você precisa de acesso aos arquivos do servidor e utilizar algo como o "fopen" que eu sei que existe no C++ e serve para trabalhar com os arquivos fazendo leitura ou escrita, com isso você lê o arquivo de wordlist (com as senhas wifi) e dispara requisições no servidor linha por linha ou como for de sua preferencia...

      Em PHP temos uma forma de chamada pros arquivos que é o "file_get_contents()", não sei como fazê-lo em C++

      Engenharia Social - Web Design - Programmer
      __________________________________________________ __________

      sigpic

      Comment

      X
      Working...
      X