AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Brute force Beschleunigen

Ein Thema von ForestX · begonnen am 20. Jan 2008 · letzter Beitrag vom 23. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
ForestX

Registriert seit: 15. Nov 2007
6 Beiträge
 
#1

Brute force Beschleunigen

  Alt 20. Jan 2008, 15:32
also es ging darum ein passwort recovery (premutation von silben und buchstaben) algorythmus zu schreiben lalala.
hab mir gedanken gemacht und hab was geschrieben bloß bekloppt lahm wen jemand ne idee hat wie mann die ganze geschichte effizienter machen kann bidde melden
Delphi-Quellcode:
   

implementation
/////////////////////////// Premutation;
var wert :array of Integer;
var List : Tstringlist;
var i,i2,i3,Sum :integer;{$R *.dfm}
var b : Bool;
label ub ;
var bas :integer;
var s : string;
/////////////// ///// List wird mit den buchstabe ober silben geladen




procedure TForm1.Button1Click(Sender: TObject);
begin
gauge1.MaxValue := trunc(Power(list.count,strtofloat(edit1.text)))+1;


setlength(wert,strtoint(edit1.Text));
i := 0;
bas := list.Count; //// strtoint(edit2.Text);

///// zahl mit basis bas auf null setzen
while i <= length(wert)-1 do
begin
wert[i] := 0;
i := i+1;
end;



i2 := 0;
i :=0;
b := true;
s := '';


while b do
begin


wert[0] := wert[0]+1;
while i <= length(wert)-2 do //-2 ---> bei der lezten zahl muss der überschlag nichtmehr beachtet werden
begin
if wert[i] = bas then /// überschlag kommt moon happening;
begin
wert[i] := 0; //// zurüchseztung
Wert[i+1]:= wert[i+1]+1; //// überschlag
end;
I := i+1;
end;



////////////endstation wenn dies erreicht istist mn beim end angekommen
i3 := 0;
sum := 0;
while i3 <= length(wert)-1 do
begin
sum := sum +wert[i3]+1;
i3 := i3+1 ;
end;

if i3*bas = sum then
begin
b := false;
end;

//////////////////////


///////////////visual erstellung des strings
while i2 <= length(wert)-1 do
begin
s := s + list[wert[i2]];
i2 := i2+1;
end;

Gauge1.Progress := Gauge1.Progress +1;

Application.ProcessMessages;
label1.Caption:= s;
listbox1.Items.Add(s) ; ////// ihrgendeiner listbox hinzufügen
i2:=0;
i:=0;
s := '';

end;
end;



thX forestX
Mit allen Mitteln hat es die Monachie versucht die ersten republikanischen Erhebung zu verläumden.
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#2

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 15:40
Hallo, schau dir doch mal das an:
TBruteForce Komponente
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 15:41
hallo, es ist nicht böse gemeint aber wenn du den Quelltext ordentich einrückst schauen sich diesen bedeutend mehr leute an und du bekommst auch Hilfe. Ich wollte mir ihn grad anschauen und hab nach den ersten Zeilen aufgehört weil durch die fehlende Einrückung jegliche Übersicht fehlt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 16:27
Vielleicht suchst Du auch mal nach 'Permutation' hier in der DP... Ich meine, mich erinnern zu können, hier etwas darüber gelesen zu haben. Aber das Einrücken geht vor. Ganz klar.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 16:31
was mir bisher aufgefallen ist. Du rufst mehrfach Length auf anstelle dir das Ergebnis auf eine Variable zu speichern. Das ist ein geringer Geschwindigkeitsverlust. Das Hauptproblem sind aber Dinge wie:
stringvariable = stringvariable + irgendwas; Damit wird ständig im Speicher rum geschaufelt. Denn für den String wird speicher angefordert. Wenn du jetzt etwas hinzufügst muss wieder speicher angefordert werden (damit was neues dazu passt), der alte Inhalt muss in den neuen Bereich kopiert werden, das neue wird angehangen und der vorherige speicher wird frei gegeben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ForestX

Registriert seit: 15. Nov 2007
6 Beiträge
 
#6

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 16:42
Hab halt einen eigenwilligen Stiel. Ganz klar.
auf jeden die Geschichte mit dem stack habe ich noch garnicht bedacht -> vielen dank ich - binn immer für Anregungen offen
Mit allen Mitteln hat es die Monachie versucht die ersten republikanischen Erhebung zu verläumden.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#7

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 18:56
du könntest die stingvariable auf 100 begrenzen. dann wird der speicher nicht immer wieder erweitert. 100 zeichen sollten für ein password genügen. Falls es mehr sein solln wirst du mit brute-force jahrhunderte dran sitzen.

gruß snow
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#8

Re: Brute force Beschleunigen

  Alt 20. Jan 2008, 20:19
Zitat von ForestX:
Hab halt einen eigenwilligen Stiel. Ganz klar.
Nicht einrücken ist kein Stil sondern ein Verbrechen an denen, die sich da dann durcharbeiten müssen.
Florian Heft
  Mit Zitat antworten Zitat
ForestX

Registriert seit: 15. Nov 2007
6 Beiträge
 
#9

Re: Brute force Beschleunigen

  Alt 22. Jan 2008, 14:04
gehört nicht zu dem thema ob ich etwas ein Rücke oder nicht' nimand wieder gezwungen mein geschreibsel durch zu arbeiten' soweit bidde wieder zu eigentlichen thema zurück * wenn jemand will kann ich eine diskusion aufmachen ob ich es schön geschrieben habe oder ob ich noch ein paar blumen und baüme hätte hinzu malen sollen Thx(nur für ernsthafte Beiträge ) mfg Forest X
Mit allen Mitteln hat es die Monachie versucht die ersten republikanischen Erhebung zu verläumden.
  Mit Zitat antworten Zitat
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
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz