domingo, 18 de dezembro de 2011

Algoritmo de força bruta feito em C parte 2

mais um dia se passa e decidi mecher um pouco mais no algoritmo, Fiz uma função para quebrar uma senha que contenha tanto letras minúsculas quanto maísculas,essa função pula do código ASCII '90' = "Z" para o '97'= "a", evitanto assim, 6 caracteres( ], [, \, ^, _, ' ), a mais na força bruta, reduzindo assim o tempo de execução da função. Tambem fiz uma mesma função, só que essa fiz um modo burro, usando tambem 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 especials( ], [, \, ^, _, ' ).

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)
  Descidi 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. 
  O link do código está logo abaixo:
http://www.4shared.com/file/a0R7mH7d/Forca_Bruta_2.html

Um link da tabela ASCII que usei para fazer o algoritmo :
http://equipe.nce.ufrj.br/adriano/c/apostila/tabascii.htm

Algoritmo de força bruta feito em C parte 2

mais um dia se passa e decidi mecher um pouco mais no algoritmo, Fiz uma função para quebrar uma senha que contenha tanto letras minúsculas quanto maísculas,essa função pula do código ASCII '90' = "Z" para o '97'= "a", evitanto assim, 6 caracteres( ], [, \, ^, _, ' ), a mais na força bruta, reduzindo assim o tempo de execução da função. Tambem fiz uma mesma função, só que essa fiz um modo burro, usando tambem 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 especials( ], [, \, ^, _, ' ).

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)
  Descidi 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. 
  O link do código está logo abaixo:
http://www.4shared.com/file/a0R7mH7d/Forca_Bruta_2.html

Um link da tabela ASCII que usei para fazer o algoritmo :
http://equipe.nce.ufrj.br/adriano/c/apostila/tabascii.htm

sábado, 17 de dezembro de 2011

Algoritmo de força bruta feito em C

    Fim de semana chegou! Nada pra fazer! Quando surgiu-me uma idéia! "Vou criar um algoritmo de força bruta pra ver se eu consigo descobrir a senha do servidor do FBI. Vou aproveitar e ver se eu estou sendo procurado e logo depois vou dominar o Mundo!"... kkkkk, claro que o verdadeiro motivo não foi esse, teve muita curiosidade e um pouco de tédio nisso.

    Bem, fiz um algoritimo na linguagem C/C++, nele eu testei uma maneira que descobrir uma senha de no máximo 9 dígitos,  na tentativa e erro (força bruta), nele tem duas funções, uma força bruta(normal) e outra força bruta(inteligente),  a diferença entre as duas funções é que na força bruta inteligente você não precisa controlar o tamanho da senha, já na força bruta normal, nescessita-se igualar o número de for's ao numero de caracteres da senha, algo simples mas chato para algmas pessoas, você deve estar se perguntando,  "por que ele não deixou apenas a função inteligente?", devido ao fato de ser um algoritmo para descobrir senhas, ele nescessita de um maior desempenho e apesar da diferença ser pequena usando apenas números, usando letras ou letras e números essa diferença aumenta muito. Queria também chamar a atenção sobre as impressões das senhas erradas na tela, atrasa muito o a execução do algoritimo, se estiver demorando pra achar a senha retire os printfs de senhas erradas. Vejamos alguns resultados dos testes que realizei em um Notebook Positivo sim+ 1455 Core2 duo 3gb Ram com Windows XP...

Para quebrar uma senha de 9 Dígitos(Apenas números)

    11.5s Segundos usando Força Bruta (Inteligente)
    8.5s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 6 Dígitos(Apenas letras minúsculas sem o Ç)

    3.3s Segundos usando Força Bruta (Inteligente)
    2.2s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 7 Dígitos(Apenas letras minúsculas sem o Ç)

    85.2s Segundos usando Força Bruta (Inteligente)
    56.6s   Segundos usando Força Bruta (Normal)

    Bem, chegou ao fim minha primeira postagem nesse blog, espero não ser a última. Vou disponibilizar o algoritimo feito em C/C++, compilado na IDE CodeBlocks para quem quiser testar, modificar e aprender ou até critica-lo :), A quem baixar comenta aí os resultados dos seus testes. Abaixo segue o link para o download do código e da IDE caso alguem nescessite.

Código em C/C++

IDE Codeblocks

Algoritmo de força bruta feito em C

    Fim de semana chegou! Nada pra fazer! Quando surgiu-me uma idéia! "Vou criar um algoritmo de força bruta pra ver se eu consigo descobrir a senha do servidor do FBI. Vou aproveitar e ver se eu estou sendo procurado e logo depois vou dominar o Mundo!"... kkkkk, claro que o verdadeiro motivo não foi esse, teve muita curiosidade e um pouco de tédio nisso.

    Bem, fiz um algoritimo na linguagem C/C++, nele eu testei uma maneira que descobrir uma senha de no máximo 9 dígitos,  na tentativa e erro (força bruta), nele tem duas funções, uma força bruta(normal) e outra força bruta(inteligente),  a diferença entre as duas funções é que na força bruta inteligente você não precisa controlar o tamanho da senha, já na força bruta normal, nescessita-se igualar o número de for's ao numero de caracteres da senha, algo simples mas chato para algmas pessoas, você deve estar se perguntando,  "por que ele não deixou apenas a função inteligente?", devido ao fato de ser um algoritmo para descobrir senhas, ele nescessita de um maior desempenho e apesar da diferença ser pequena usando apenas números, usando letras ou letras e números essa diferença aumenta muito. Queria também chamar a atenção sobre as impressões das senhas erradas na tela, atrasa muito o a execução do algoritimo, se estiver demorando pra achar a senha retire os printfs de senhas erradas. Vejamos alguns resultados dos testes que realizei em um Notebook Positivo sim+ 1455 Core2 duo 3gb Ram com Windows XP...

Para quebrar uma senha de 9 Dígitos(Apenas números)

    11.5s Segundos usando Força Bruta (Inteligente)
    8.5s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 6 Dígitos(Apenas letras minúsculas sem o Ç)

    3.3s Segundos usando Força Bruta (Inteligente)
    2.2s   Segundos usando Força Bruta (Normal)

Para quebrar uma senha de 7 Dígitos(Apenas letras minúsculas sem o Ç)

    85.2s Segundos usando Força Bruta (Inteligente)
    56.6s   Segundos usando Força Bruta (Normal)

    Bem, chegou ao fim minha primeira postagem nesse blog, espero não ser a última. Vou disponibilizar o algoritimo feito em C/C++, compilado na IDE CodeBlocks para quem quiser testar, modificar e aprender ou até critica-lo :), A quem baixar comenta aí os resultados dos seus testes. Abaixo segue o link para o download do código e da IDE caso alguem nescessite.

Código em C/C++

IDE Codeblocks