C++ Programm verknüpfen



  • Hallo,
    es ist lange her, dass ich was mit C++ gemacht habe. Aber nun hab ich was ganz lustiges programmiert. Hatte neben 2 Wochen Praktikum in der 9. Klasse Zeit wieder was zu machen.
    Ich habe So einen Brute Force Cracker geschrieben, der durch eine Schleife ein Zahlenpasswort finden kann. Nun mein eigentliches Problem ist, dass ich es mit WinRar oder 7zip verbinden möchte, um das jeweilige Passwort zu probieren.
    Geht das mit einem System-Call? Oder anders.
    Hier der Code:

    // Brute Force Programm
    // Christoph Petsch
    #include <iostream>
    using namespace std;
    
    // Variablen
    long int anfang=0;
    int counter=0; int x=0;
    long int ziel=0;
    int pwd=123456; // Zeile kann weggelassen werden, wenn man das in der Praxis anwenden will
    void ende();
    void nichterreicht();
    
    int main()
    {
            cout << "          Brute Force System 1.0\n";
            cout << endl;
            cout << "Bitte Beginn angeben:";
            cin >> anfang;
            cout << "Bitte Ende angeben:";
            cin >> ziel;
            cout << "Brute Force Hack Startet..." << endl;
            for(x=anfang;x<ziel+1;x++)
            {
                    cout << x << endl; // Ausgabe an welcher Stelle man sich befindet
                    // Testen ob Pwd mit Wert übereinstimmt
                    if(x==pwd) {
                               cout << "Passwort gefunden!" << endl;
                               ende();
                               }
                    if(x==ziel) {
                                nichterreicht();
                                }
            }
            system("exit");
    }
    
    void ende() {
         cout << "Passwort ist " << x << endl;
         system("pause");
    }
    
    void nichterreicht() {
         cout << "Das Passwort wurde nicht gefunden!" << endl;
         cout << "Setzen sie den Couter höher" << endl;
    }
    

    MfG



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Wenn es unbedingt streng standardkonformes C++ sein soll, dann geht das sicherlich, indem man das externe Programm über ein system-Kommando aufruft. Die haben sicherlich Kommandozeilenparamter, um ein Passwort zu übergeben.

    Aber system ist problematisch (zum Beispiel kommt man nicht an die Ausgabe) und langsam, über die betriebssystemeigenen Funktionen geht das viel besser, externe Programme aufzurufen. Wegen WinRAR nehme ich mal an, dass es für Windows sein soll und habe den Thread daher verschoben.



  • Bei einem Bruteforce Verfahren sollte der eigentliche Prüfprozess schon so schnell wie möglich ablaufen um auch irgendwann ans Ziel zu kommen. Ein externes Programm über Kommandozeile aufzurufen ist hier nicht empfehlenswert.

    Mein Tip: den QuellCode für 7zip und unrar lib runterladen und implementieren. Ist ein Haufen Aufwand, ich hab das schon mit der zlib und mini-zip-unzip gemacht um ähnliches für Zip-Files zurealisieren, aber es lohnt sich.

    Also mit deinen 3 Zeilen Code und dem Glauben "ich mach da mal schnell" ist's nicht getan.

    http://www.7-zip.de/download.html

    ftp://ftp.rarlabs.com/rar/


Anmelden zum Antworten