Verschlüsselten Text speichern

  • Hallo,
    wollte euch mal mein erstes (halbwegs sinnvolles) Script vorstellen:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    DirCreate ("C:\System")
    If FileExists("C:\System\Daten.ini") = 0 Then
    $pw = InputBox("Passworteingabe", "Bitte einmalig dein Passwort eingeben.","","x")
    $pw1 = _StringEncrypt(1, $pw, "lolator")
    IniWrite("C:\System\Daten.ini", "Sektion9", "pw", $pw1)
    EndIf
    Do
    $in = InputBox("Passwort", "Bitte Passwort eingeben","","x")
    $pw2 = IniRead("C:\System\Daten.ini", "Sektion9", "pw", "")
    $pw3 = _StringEncrypt(0, $pw2, "lolator")
    If $in = $pw3 Then
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Textspeicher", 490, 436, 192, 124)
    $Checkbox1 = GUICtrlCreateCheckbox("Sektion 2", 108, 8, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Sektion 1", 8, 8, 97, 17)
    $Button1 = GUICtrlCreateButton("Einlesen", 8, 368, 227, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Auslesen", 248, 368, 227, 25, $WS_GROUP)
    $Eingabefeld = GUICtrlCreateEdit("", 8, 32, 465, 321)
    GUICtrlSetData(-1, "Hier Daten eingeben! Bitte vorher eine Sektion auswählen, die benutzt werden soll.")
    $Checkbox3 = GUICtrlCreateCheckbox("Sektion 3", 208, 8, 97, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Sektion 4", 308, 8, 97, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("Sektion 5", 408, 8, 97, 17)
    $Button3 = GUICtrlCreateButton("Reset", 8, 400, 227, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Neues Passwort", 248, 400, 227, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    $sektion = ("1")
    Case $Checkbox2
    $sektion = ("2")
    Case $Checkbox3
    $sektion = ("3")
    Case $Checkbox4
    $sektion = ("4")
    Case $Checkbox5
    $sektion = ("5")
    Case $Button1
    $text = _StringEncrypt(1, GUICtrlRead($Eingabefeld), "galile463")
    IniWrite("C:\System\Daten.ini", "Sektion1", $sektion, $text)
    Case $Button2
    $data = IniRead("C:\System\Daten.ini", "Sektion1", $sektion, "")
    $rdata = _StringEncrypt(0, $data, "galile463")
    GUICtrlSetData($Eingabefeld, $rdata)
    Case $Button3
    Do
    $in = InputBox("Passwort", "Bitte Passwort eingeben.","","x")
    If $in = $pw3 Then
    FileDelete("C:\System\Daten.ini")
    Else
    MsgBox(0, "Achtung", "Passwort ist falsch!")
    EndIf
    Until $in = $pw3
    MsgBox (0,"Hinweis","Textspeicher wird jetzt neugestartet")
    Run ("Textspeicher.exe")
    Exit
    Case $Button4
    Do
    $in = InputBox("Passwort", "Bitte altes Passwort eingeben.","","x")
    If $in = $pw3 Then
    $pw = InputBox("Passworteingabe", "Bitte neues Passwort eingeben.","","x")
    $pw1 = _StringEncrypt(1, $pw, "lolator")
    IniWrite("C:\System\Daten.ini", "Sektion9", "pw", $pw1)
    Else
    MsgBox(0, "Achtung", "Passwort ist falsch!")
    EndIf
    Until $in = $pw3
    MsgBox (0,"Passwort","Passwort erfolgreich geändert.")
    EndSwitch
    WEnd
    Else
    MsgBox(0, "Achtung", "Passwort ist falsch!")
    EndIf
    Until $in = $pw3
    Exit

    [/autoit]

    Joa also damit kann man halt bestimmte Texte verschlüsselt in einer .ini Datei abspeichern.
    Mein Problem hab noch keinen richtigen Sinn dafür gefunden, vllt. könnt ihr mir ja helfen.

    Ich wies is nix besonderes aber man kanns ja mal zeigen. :huh:

    Lg

  • Ja, musste letztens auch ein Script rausnehmen, weil der FTP Zugang drin war...
    AutoIt und Sicherheit werden wohl leider nie auf einen Nenner kommen :(

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • kann das Passwort den auch aus eine .exe Datei ausgelesen werden?
    Welche Möglichkeiten gibt es es nicht anzeigen zu lassen?

  • 1. z.B. ein Decompiler
    2. gar keine

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Baue doch md5 ein ,da ist nicht so einfach zu entschlüsseln
    Ein weiteres problem an deinem script ist, mann kann die datei,in der das pwd gespeichert ist einfach löschen und danach über das programm ein neues setzen
    über die registry und vlt einen komischen name wäre die sicherheit etwas höher

    Mfg.Simon

  • meinst du nur das Passwort in der registry speichern oder die ganze Datei?

    Hab nämlich nicht wirklich nen Plan mit Registry könntest du mir erklären wie das geht?

    Mfg