Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26
  1. #11
    Bugbear Wurm Avatar von Gaara
    Registriert seit
    01.01.2007
    Beiträge
    230

    Standard

    also für die hashs nehm ich die hashlib++, dass diese viel zeit braucht is mir eig. bewusst aber ich glaub nicht dass ich daran viel drehen kann da meine kenntniss dafür 1. nicht ausreichen und die 2. schon ziemlich ausgereift is.

    ein anderes problem das ich gerade hab is dieses:
    Code:
    char passwort[14]; //13 stelliged passwort+\0
    char valar[93];
        valar[0]="a";
        valar[1]="b";
        valar[2]="c";
        valar[3]="d";
        ......
        valar[88]="W";
        valar[89]="X";
        valar[90]="Y";
        valar[91]="Z";
        valar[92]="\0";
    strcat(passwort,valar[m]);
    hier spuckt mir der compiler ne fehler meldung aus weil valar vom typ const char* sein muss und ich hab um ehrlich zu sein ka wie ich das hinbekomm =/
    In§@N¡T¥

  2. #12
    Fortgeschrittener Avatar von The-God-of-all
    Registriert seit
    02.09.2007
    Beiträge
    46

    Standard

    Warum benutzt du dafür die Funktion strcat? Das ist ein unnötiger Aufruf und damit unnötige Performance einbusse. Weiterhin erwartet die Funktion strcat ein char Array was auch Null Terminiert sein muss. Die Funktion strcat ist also nicht dafür geeignet einen einzlnen char an ein char Array anzuhängen. Ich würde einfach immer mitzählen der wie viele Buchstabe es ist und dann direkt passwort[x] = valar[m]; machen. Am Ende dann passwort[x] = 0; und gut ist. x könnte natürlich gut eine int Variable sein die mit 0 initialisiert wird und jedes mal mit x++; erhöht wird wenn ein Buchstabe hinzugefügt wird. Also ungefähr so:
    Code:
    int x = 0;
    passwort[x++] = valar[m];
    passwort[x++] = valar[n];
    passwort[x] = 0;
    Geändert von The-God-of-all (13.06.2010 um 12:00 Uhr)
    "Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher."
    Albert Einstein

  3. #13
    Bugbear Wurm Avatar von Gaara
    Registriert seit
    01.01.2007
    Beiträge
    230

    Standard

    lol stimmt X_x ich seh den wald vor lauter bäumen nicht^^ danke schonmal für deine hilfe^^
    In§@N¡T¥

  4. #14
    Trojaner
    Registriert seit
    16.03.2009
    Beiträge
    91

    Standard

    Was mir spontan einfällt wäre dies:

    Sollte das Programm das erste mal gestartet werden, so legt es eine .txt an in der die ganzen berechneten Hashes liegen(so: HashW).
    Wenn du es nun ein zweites mal aufrufst brauchst du sie nicht mehr berechnen sondern suchst einfach die Datei nach dem passenden Hash durch.

    Ob dies schneller ist weiß ich nicht, denke aber schon.

    MfG Interceptor
    [S]/[B]:

  5. #15
    Fortgeschrittener Avatar von The-God-of-all
    Registriert seit
    02.09.2007
    Beiträge
    46

    Standard

    Zitat Zitat von Interceptor Beitrag anzeigen
    Sollte das Programm das erste mal gestartet werden, so legt es eine .txt an in der die ganzen berechneten Hashes liegen(so: HashW).
    Also wenn man das schon so machen will dann sollte man schon Rainbow Tables nehmen, wenn man nämlich bedenkt, dass er mit 96 Zeichen bis 13 Buchstaben machen will dann kommt man auf 96^13 Passwörter (Galube mir so viel kriegst du nicht auf die Festplatte). Abgesehen davon, dass die Datei zu groß wird (Wenn ich das richtig sehe mehr als 1 TB) dauert das schreiben auf die Festplatte sehr lange, damit kommt man dann sicher nicht mehr auf 8 Mio Hashs/s. Beim nächsten mal muss die Datei dann eingelesen werden. Wenn die Datei nicht nach Hash sortiert ist (was der Fall sein wird) dann geht keine Binäre Suche sprich es müsste in einer TB großen Datei nach einem Wert gesucht werden. Das dauert länger als der Bruteforce so würde ich mal so behaupten.
    "Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher."
    Albert Einstein

  6. #16
    Bugbear Wurm Avatar von Gaara
    Registriert seit
    01.01.2007
    Beiträge
    230

    Standard

    richtig... das wären ca. 33*10^24 passwörter X_x, die suche würde in dem fall sorgar in sql ewig dauern, ne txtdatei zu durchsuchen wäre unter umständen sorgar unmöglich... ich hab das jetzt alles auf char umgestellt, aber für meine 7,2mio berechnungen brauch ich immernoch 1:02 minuten >.< weis echt nicht was ich noch tun kann^^ das einzige was mir jetzt noch einfällt ist dass das hashen zu lange dauert wobei ich mich dann frage wie das die anderen cracker machen...
    In§@N¡T¥

  7. #17
    Trojaner
    Registriert seit
    16.03.2009
    Beiträge
    91

    Standard

    Stimmt das habe ich nicht bedacht, habe nicht gelesen dass er bis zu 13 Stellen haben will..

    MfG Interceptor
    [S]/[B]:

  8. #18
    Stanley Jobson Avatar von Bonkers
    Registriert seit
    01.02.2010
    Beiträge
    735

    Standard

    Also vielleicht ich stehe gerade massiv auf dem Schlauch, aber warum zum Teufel löst du das mit den ganzen For-Schleifen? Warum nicht einfach rekursiv?

    Code:
    void btf(int size, int pos, char curr[]) {
    char* charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
    int i;
    if(pos < size){
    for(i=0; i<strlen(charset);i++){
            char test[strlen(curr) + 2];
            strcpy(test, curr);
            int len = strlen(test);
            test[len] = charset[i];
            test[len+1] = '\0';
            btf(size, pos+1, test);
    }} else {
    	if(match(crackme, curr) == 1) {
    	printf("Your Hash has been Cracked. md5( %s ) == %s\n", curr, crackme);
    	exit(0);
    	}
    	}
    }
    Ist vielleicht auch nicht perfekt, aber berechnet auch alle Kombinationen aus dem gegebenen Charset.
    (Siehe http://free-hack.com/ansi-c-c-c/5623...5-cracker.html )

    Ich hoffe mal ich hab auch alles richtig verstanden, und hab jetzt nicht aus versehen Mist gepostet

    Blackberry: der eine typ ist danach gestorben
    Bonkers: Echt?
    Blackberry: jep

  9. #19
    Bugbear Wurm Avatar von Gaara
    Registriert seit
    01.01.2007
    Beiträge
    230

    Standard

    boah danke^^ genau danach hab ich gesucht... im ersten post sagte ich ja bereits dass mir meine funktion nicht gefällt weil 1. der aufruf scheiße ist und die 1000 if-bedingungen auch... wieso ich es nicht so gelöst hab is einfach... ich weis was rekursive funktionen sind und wie sie funzen, aber wie ich damit ein eigenes problem löse, das is mir atm noch etwas zuviel >.<
    jetzt werd ich mir das ganze mal anschaun, weil ich um ehrlich zu sein noch nicht alles versteh was in dieser funktion steht, und auf C&P steh ich nicht^^
    In§@N¡T¥

  10. #20
    Fortgeschrittener Avatar von The-God-of-all
    Registriert seit
    02.09.2007
    Beiträge
    46

    Standard

    Also Bonkers ich muss dir natürlich recht geben, dass die Art mit den vielen For Schleifen nicht so besonders schön ist (nicht flexibel, man kann nicht so ohne weiteres die Länge auswählen etc.). Aber der Code wie du ihn gepostet hast hat einige Nachteile was die Performance betrifft.
    1. Das charset wird innerhalb der Funktion die Rekursiv aufgerufen wird deklariert. Das bedeutet, dass bei jedem Aufruf ein neues char Array mit dem Charset als Inhalt erzeugt wird. Das ist nicht sonderlich performant. Das sollte eher als Parameter übergeben werden von der FUnktion die die Rekursive Funktion aufruft.
    2. Du rufst immer wieder die Funktion strlen auf. Einmal aufrufen und ab da dann immer übergeben und als feste Variable verwenden wäre wesentlich schneller.
    3. Du kopierst den String immer wieder. Auch das führt zu einem erheblichen Performance Verlust. Das ist bei Gaaras Source Code nicht der Fall. In der Hinsicht hin ist sein Source Code wesentlich perdormanter als deiner.
    "Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher."
    Albert Einstein

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Code Help! PLZ
    Von unna456654 im Forum (X)HTML & CSS
    Antworten: 1
    Letzter Beitrag: 21.12.2008, 13:36

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •