Einzelnen Beitrag anzeigen

Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Brute force Beschleunigen

  Alt 22. Jan 2008, 14:14
[ot]Ich mag Satzzeichen [/ot]

Ich kann auch die schon erwähnte TBruteforce empfehlen. Ist ziemlich schnell und trivial zu bedienen.

Ansonsten habe ich noch das in meiner Codeschnipsel.pas gefunden. Leider habe ich anscheinend bereits Kommentare zum Autor gelöscht, kann diesen also nicht mehr nennen, bitte verzeiht mir

Delphi-Quellcode:
function bruteforce(astring,substr:string;startlen,endlen:integer):boolean;
var
  //count variables
  i,n,x:integer;
  //current password
  npw:string;
label
  //used for looping
  step1;
begin
  //clear all stringlists
  hlplst.clear;
  cluster.clear;
  results.clear;

  //fill the helplist with the charrange
  for x:=1 to length(substr) do
    hlplst.add(substr[x]);

  //begin the loop
  step1:
  //start combining the letters in the charrange
  for i:=0 to hlplst.count-1 do
    for n:=1 to length(astring) do
      begin
        //combine one letter in the helplists with another
        npw:=hlplst.strings[i]+astring[i];
        //add it to the cluster
        cluster.add(npw);
        //if its longer then the startlength, then add it do the results
        if length(npw)>=startlen then results.add(npw);
      end;
  //clear the helplist
  hlplst.clear;
  //and fill it with the cluster
  hlplst.addstrings(cluster);
  //clear the cluster
  cluster.clear;
  //and repeat those steps if not all possible combinations have been added
  if length(npw)+1<=endlen then goto step1;
  //clear the helplist
  hlplst.clear;
  //(just for debugging)
  result:=true;
end;
Wird so aufgerufen:
bruteforce('abcd','abcd',2,6)
Frank Dumont
  Mit Zitat antworten Zitat