Passwort Abfrage beim Schließen des Programmes



  • Hi Leute,

    ich würde gerne dem Benutzer ermöglich ein Passwort zu erstellen
    das eingegeben werden muss wenn das Programm geschloßen wird.

    Mein Problem ist jedoch, dass ich das Passwort logischerweiße irgendwo
    speichern muss damit der Benutzer nicht nach jedem Start das Passwort
    aufsneue eingeben muss.

    Natürlich kann ich das ganze verschlüsselt ablegen, aber das Problem
    ist nicht ob jemand das Passwort auslesen kann oder nicht, sondern
    man kann's einfach überschreiben und schon kann das Programm
    geschlossen werden ohne eine Passwort Eingabe.

    Wo und wie kann man also solch ein Passwort speichern das
    a. Das Passwort auch nach einem Neustart der Anwendung bestehen bleibt.
    b. Das Passwort auch nach einem neustart des Rechners bestehen bleibt.
    c. Das Passwort sich nicht einfach überschreiben lässt.

    Hoffe ihr könnt mir weiter helfen
    Mfg
    Jeg



  • schreib die datei einfach als administrator nach C:\datei.txt und fummel danach die schreibrechnte weg.

    falls der benutrzer, den du beschützen willst, aber selber admin ist, dann gehts nicht sinnvoll: schreibschutz haste auf einer CD. mußt nur auch das laufwerk zukleben.



  • Jeg_D schrieb:

    Hi Leute,

    ich würde gerne dem Benutzer ermöglich ein Passwort zu erstellen
    das eingegeben werden muss wenn das Programm geschloßen wird.

    Mein Problem ist jedoch, dass ich das Passwort logischerweiße irgendwo
    speichern muss damit der Benutzer nicht nach jedem Start das Passwort
    aufsneue eingeben muss.

    Natürlich kann ich das ganze verschlüsselt ablegen, aber das Problem
    ist nicht ob jemand das Passwort auslesen kann oder nicht, sondern
    man kann's einfach überschreiben und schon kann das Programm
    geschlossen werden ohne eine Passwort Eingabe.

    Wo und wie kann man also solch ein Passwort speichern das
    a. Das Passwort auch nach einem Neustart der Anwendung bestehen bleibt.
    b. Das Passwort auch nach einem neustart des Rechners bestehen bleibt.
    c. Das Passwort sich nicht einfach überschreiben lässt.

    Hoffe ihr könnt mir weiter helfen
    Mfg
    Jeg

    Dann speichere es verschlüsselt in deiner Textdatei ab und wenn du das Programmladen tus lese die Textdatei ein Entschlüssel es lege es zur laufzeit auf nee Variable und wenn du das Programm schliessen solltest dann kommt das Abfrage Fenster und vergleiche damit das gespeicherte Passwort mit dem Passwort was du eingibst entweder stimmt es dann geht es zu oder es stimmt nicht und Programm bleibt offen.

    Sollte ich es falsch aufgenommen haben deine Beschreibung dann Entschuldige 😃



  • Jeg_D schrieb:

    Wo und wie kann man also solch ein Passwort speichern das
    a. Das Passwort auch nach einem Neustart der Anwendung bestehen bleibt.
    b. Das Passwort auch nach einem neustart des Rechners bestehen bleibt.
    c. Das Passwort sich nicht einfach überschreiben lässt.

    Hi,

    Soetwas schreibt man in die Registry-Datenbank.
    Dafür gibt es eine Klasse nebst Funktionen...

    Edit: Natürlich verschlüsselt 😃

    mfg
    kpeter



  • Guck dir mal die Win32 Funktionen CryptProtectMemory und CryptUnprotectMemory an, damit solltest du schon ein gutes Stück weiterkommen. Das sind symmetrische Verschlüsselungsverfahren, wo du das Klartextpasswort per CryptProtectMemory in die Registry schreibst. Zum Entschlüsseln musst du das verschlüsselte Passwort aus der Registry lesen und mit CryptUnprotectMemory wieder entschlüsseln.
    Alternativ kannst du auch einen Hashing Algorithmus benutzen (zB MD5) und den Hash in der Registry ablegen. Wenn ein Benutzer jetzt auf die Idee kommt, dein Programm könnte den MD5 Hash benutzen und dort einen eigenen MD5 Hash ablegt hat er dein Sicherheitssystem überwunden.
    Daher würde ich das Klartextpasswort vorher noch irgendwie bearbeiten, zB mit einer Zahlenfolge exklusiv verodern, damit der Hash nicht direkt über das Klartextpasswort gebildet wird. Oder du benutzt den MD5 Hash des Klartextpassworts nochmal als Eingabe für den hashing Algorithmus und legst den Hash des Hashes in der Registry ab.



  • PS:
    Gegen das Beenden durch den Task Manager hilft auch kein Passwortschutz, was genau hast du eigentlich vor?



  • nur dazu: afaik kann man Programme auch als services deklarieren so dass sie nicht "so einfach" im TaskManager aufgeführt werden



  • Oder natürlich mit den Rechten eines anderen Benutzers starten.


Log in to reply