Buscar

Força Bruta Recursiva para quebrar senhas

Código

{
Procedure desenvolvida para quebrar senha de banco de dados ou qualquer outra coisa do tipo recursivo. Basta colocar a string com os caracteres a serem utilizados na pesquisa e a quantidade de digitos que existirem no campo usuario e senha para que o programa tente quebrar por força bruta. Não e muito otimizada mas funciona legal tá 95% ...

para utilizar basta seguir o exemplo abaixo:

-> Force(letras+numeros,letras+numeros,9,9); <-

Simples de tudo !

Lincoln Mendonça Ferreira
}



{
Declare as constantes para utilizar no metodo.
}


const numeros='0123456789';
      letras='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
      caraster='-- !"#$%&''''()*+,-./:;<=>?@[ ]^_`{|}~¬A’A&A!Æ0`9RŽ''""o--Ü"a:S~x ¡¢£¤¥¦§¨©ª« ­®¯°±²³´µ ·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ';


{Procedure Força Bruta}
procedure TForm1.Force(strusua,strsenha:string; tfusua,tfsenha:integer);
var acho:boolean; qtd:int64; senha,usuario:string;

  {Procedure Usuario}
  procedure Force_usua(linha:string; tf:integer);
  var tl:integer;
    procedure Recursivo(quant,max:integer);
    var i:word;
    begin
     for i:=1 to length(linha) do
      begin
          usuario[quant]:=linha[i];
          if ((quant+1)<=max) then
           Recursivo(quant+1,max);
          inc(qtd);
         //Aqui coloca o metodo que tenta a conexao, aqui so exibe.
          ShowMessage('Usuario: '+usuario+#13+'Senha:'+senha+#13+'Quant: '+inttostr(qtd));
      end;
    end;
  begin
  usuario:=' ';
  tl:=1;
  while (tl<=tf) do
   begin
     Recursivo(1,tl);
     inc(tl);
     usuario:=usuario+' ';
   end;
  end;
  {Procedure Senha}
  procedure Force_senha(linha:string; tf:integer);
  var tl:integer;
    procedure Recursivo(quant,max:integer);
    var i:word;
    begin
     for i:=1 to length(linha) do
      begin
          senha[quant]:=linha[i];
          if ((quant+1)<=max) then
           Recursivo(quant+1,max);
          inc(qtd);
         //Aqui chama recursivo usuario.
          Force_usua(strusua,tfusua);
      end;
    end;
  begin
  senha:=' ';
  tl:=1;
  while (tl<=tf) do
   begin
     Recursivo(1,tl);
     inc(tl);
     senha:=senha+' ';
   end;
  end;

{Começo da Procedure}
begin
qtd:=0;
Force_senha(strsenha,tfsenha);
end;


 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 07/04/10
Por: Lincoln Mendonca Ferreira
Visualizada: 7763 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009