Ergebnis 1 bis 8 von 8
  1. #1
    DateMake Dialer
    Registriert seit
    15.08.2007
    Beiträge
    103

    Standard *SOLVED* C# - Passwort Schutz

    Hallo
    Habe folgendes Problem: Ich möchte mein Programm mit einem Passwort schützen. Und zwar habe ich mir das ganze so vorgestellt wenn man die .exe Datei startet sucht sie in einer Datei nach einem string, wenn dieser enthalten ist öffnet sich ein Fenster das einem zum Passwort eingeben auffordert. Ist das Passwort richtig macht das Programm in der Program.cs Datei weiter und startet die Hauptanwendung. Ist es falsch schließt sich das Programm.
    Hier Auszüge aus dem Source

    Program.cs
    Code:
        static class Program
        {
    
            /// <summary>
            /// Der Haupteinstiegspunkt für die Anwendung.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                FileStream myFileStream = new FileStream(@"./settings.ini", FileMode.OpenOrCreate, FileAccess.Read);
                StreamReader myStreamReader = new StreamReader(myFileStream);
                string sEinstellungen = myStreamReader.ReadToEnd();
                myFileStream.Close();
    
                if (sEinstellungen.IndexOf("Passwort_Enabled = 1") > -1)
                {
                    // Legt ein neues Objekt von frmPasswort mit dem Namen myfrmPasswort an
                    frmPasswort myfrmPasswort = new frmPasswort();
                    // Zeigt das Fenster an
                    myfrmPasswort.ShowDialog();
                }
                  
                        Application.Run(new Hauptanwendung());
                    
            }
    
        }
    frmPasswort.cs
    Code:
    public partial class frmPasswort : Form
        {
            public frmPasswort()
            {
                InitializeComponent();
            }
    
            private void ok_Click(object sender, EventArgs e)
            {
                string EncryptedPasswort1 = "";
                string EncryptedPasswort2 = "";
                FileStream myFileStream = new FileStream(@"./settings.ini", FileMode.OpenOrCreate, FileAccess.Read);
                StreamReader myStreamReader = new StreamReader(myFileStream);
                // settings.ini Datei wird eingelesen
                EncryptedPasswort1 = myStreamReader.ReadToEnd();
                // Eingegebenes Passwort wird verschlüsselt und in EncryptedPasswort2 gespeichert
                EncryptedPasswort2 = Encrypt(Passwort.Text);
               // Es wird überprüft ob der verschlüsselte string in EncryptedPasswort1 enthalten ist
                if (EncryptedPasswort2.IndexOf(EncryptedPasswort1) > -1)
                {
                    
                }
                else
                {
                      Application.Exit();
                }
                
            }
       }
    Hoffe ihr könnt mir helfen
    MFG Viper.aT

  2. #2
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Deine .ini speichert das mit einem Hashalgorithmus gehashte Passwort. Du hashst die Eingabe und vergleichst dann beide Hashes, so kann man das richtige Passwort nicht aus dem Code lesen (wohl aber den Jump patchen).

    Weiß nicht genau, was dein Problem ist, hattest keine richtige Frage formuliert.
    I can haz RCE?

  3. #3
    DateMake Dialer
    Registriert seit
    15.08.2007
    Beiträge
    103

    Standard

    Ok sry^^ Mein Problem ist folgendes ich will wenn das Passwort übereinstimmt (auch wenn es das jetzt aus noch nicht tun sollte) er den code in der program.cs datei weiter ausführt und somit die Hauptanweudng startet. Wenn es falsch ist soll die Anwednung geschlossen werden.
    Gibt es da irgendeine Möglichkeite das durchzuführen
    Bin dankbar für alle Tipps

  4. #4
    Stanley Jobson
    Registriert seit
    08.08.2007
    Beiträge
    740

    Standard

    einfach eine Funktion reinhauhn mit einer IF abfrage??? oder ich hab deine Frage immer noch nicht verstanden

    mfg

  5. #5
    DateMake Dialer
    Registriert seit
    15.08.2007
    Beiträge
    103

    Standard

    *heul*^^ Ist es irgendwie möglich von der frmPasswort.cs in die Program.cs Datei z.B Variablen zu übergeben damit ich der Program.cs sagen kann was sie machen soll( Also Hauptanwendung starten oder das Programm beenden)?^^

  6. #6
    BackNine Wurm
    Registriert seit
    01.01.2007
    Beiträge
    302

    Standard

    Ja, Stichwort: DialogResult

    Du machst aus
    Code:
    myfrmPasswort.ShowDialog();
    Folgendes:
    Code:
    DialogResult Ergebnis = myfrmPasswort.ShowDialog();


    und aus
    Code:
    if (EncryptedPasswort2.IndexOf(EncryptedPasswort1) > -1)
                {
                   
                }
                else
                {
                      Application.Exit();
                }
    Folgendes:
    Code:
    if (EncryptedPasswort2.IndexOf(EncryptedPasswort1) > -1)
                {
                   this.DialogResult = DialogResult.Ok;
                }
                else
                {
                  this.DialogResult = DialogResult.Cancel;
    
                }

    Dann kannst du in Programm.cs abfragen:

    Code:
    if (Ergebnis == DialogResult.Ok)
    // TODO: StarteProgramm
    else
    // TODO: Beende Programm



    PS: Habe den Code nicht in der IDE geschrieben, sondern aus dem Kopf und ohne Intellisens im Forum-fenster. Könnten also Tipfehler drin sein.


    Zitat Zitat von roflcopterpilot
    danke, aber wo kann man denn hier bitte proxies checken? http://proxycheck.dl.am/

  7. #7
    Stanley Jobson
    Registriert seit
    08.08.2007
    Beiträge
    740

    Standard

    meinste vllt einfach sowas

    Code:
    Password.text1.text = Program.text2.text;
    so inner art sollte es auch mit Variablen gehen

  8. #8
    DateMake Dialer
    Registriert seit
    15.08.2007
    Beiträge
    103

    Standard

    Danke an alle Problem ist dankt Steav gelöst und an Darkraiser, dass funktioniert in diesem Falle leider nicht, trotzdem Danke
    MFG Viper.aT

Stichworte

Berechtigungen

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