Esto te puede ayudar con el sistema "Brute Force"
Código Delphi
[-]
type
TCaracteresValidos = array of char;
var
parar : boolean;
procedure TFMMain.ButtonBuscarClick(Sender: TObject);
var
i1, i2, i3, i4, i5, i6, i7, i8: Integer;
IncrementarSiguiete: Boolean;
MyCaracteresValidos: TCaracteresValidos;
begin
MyCaracteresValidos := TCaracteresValidos.Create('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E',
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
Parar := False;
i1 := 0;
i2 := 0;
i3 := 0;
i4 := 0;
i5 := 0;
i6 := 0;
i7 := 0;
i8 := 0;
while ((EClave.Text <> 'ZZZZZZZZ') and (not Parar)) do
begin
EClave.Text := MyCaracteresValidos[i1] + MyCaracteresValidos[i2] + MyCaracteresValidos[i3] + MyCaracteresValidos[i4] +
MyCaracteresValidos[i5] + MyCaracteresValidos[i6] + MyCaracteresValidos[i7] + MyCaracteresValidos[i8];
Application.ProcessMessages;
Database.NombreDeUsuario := 'SYSDBA';
Database.Password := EClave.Text;
Database.Connect;
if (Database.Connected) then
begin
Parar := True;
ShowMessage('La clave es: '+ EClave.Text);
end;
if (i8 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i8 := 0;
if (i7 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i7 := 0;
if (i6 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i6 := 0;
if (i5 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i5 := 0;
if (i4 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i4 := 0;
if (i3 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
begin
i3 := 0;
if (i2 = High(MyCaracteresValidos)-Low(MyCaracteresValidos)) then
i2 := 0
else
inc(i2);
end
else
inc(i3);
end
else
inc(i4);
end
else
inc(i5);
end
else
inc(i6);
end
else
inc(i7);
end
else
inc(i8);
end;
end;
procedure TFMMain.ButtonPararClick(Sender: TObject);
begin
Parar := True;
end;
Ten en cuenta que en los caracteres válidos no he puesto signos (+-_/, etc)
De todos modos esto puede ser algo laaaaargo....