Passwort abfrage im GUI-Fenster

  • Hallo

    Wie kann ich es machen das er im gui fenster das passwort abfrägt und dann weiter macht habe nichts gefunden und schaff es nicht das mit msgbox abzuändern :(

    könnte mir jemand helfen das die pw abfrage im gui fenster kommt, so wie sie in der msgbox kommt würde es passen wanns so im gui kommen würde

    lg christian


    hier code mit msgbox


    Spoiler anzeigen
    [autoit]

    Local $myPw = "dein Passwort"
    Local $PW_OK = 0
    For $i = 3 To 1 Step -1
    If InputBox("Pw- Abfrage","Noch " &$i& " Versuche","","*") <> $myPw Then
    ContinueLoop
    Else
    $PW_OK = 1
    ExitLoop
    EndIf
    Next
    If $PW_OK = 0 Then Exit MsgBox(16, "Fehler", "Es wurde 3x das falsche Passwort eingegeben!" & @CRLF & "Das Programm wird beendet!")

    [/autoit] [autoit][/autoit] [autoit]

    ;weiteres Skript
    MsgBox(64, "Info", "Sie haben sich erfolgreich eingeloggt!")

    [/autoit]

    3 Mal editiert, zuletzt von SchrotterCh (25. September 2009 um 11:20)

  • Meinst du so

    Spoiler anzeigen
    [autoit]

    Local $myPw = "pwd"
    Local $PW_OK = 0
    For $i = 3 To 1 Step -1
    $pwd = InputBox("Pw- Abfrage","Noch " &$i& " Versuche","","*")
    If $pwd = $myPw Then
    $PW_OK = 1
    Exitloop
    EndIf
    Next
    If $PW_OK = 0 Then Exit MsgBox(16, "Fehler", "Es wurde 3x das falsche Passwort eingegeben!" & @CRLF & "Das Programm wird beendet!")

    [/autoit] [autoit][/autoit] [autoit]

    ;weiteres Skript
    GUICreate("GUI",300,300)
    GUICTRLCreatELabel("Erfolgreich eingelogt",10,10)
    GUISETSTATE()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGETMSG()
    Case -3
    Exit
    EndSwitch
    WEnd

    [/autoit]

    oder soll die gui an einer anderen stelle kommen

  • So lade ich das Programm im Memorydebugger und setze $PW_OK auf 1.. und schon ist aufs Passwort geschi... :huh:


  • So lade ich das Programm im Memorydebugger und setze $PW_OK auf 1.. und schon ist aufs Passwort geschi... :huh:


    Na dann sind wir mal gespannt auf deine Lösung ;)
    Mit Autoit bleibt das wohl ähnlich aussichtslos wie den Sourcecode zu schützen? ?(

    Edit\ Selbst wenn eF_Hacks jetzt was tolles aus dem Hut zaubert, die einfachste Lösung ist es zu dekomplilieren und die Passwortabfrage zu entfernen.
    Wirklich sicher wirds also meiner Meinung nach eh nicht.

  • Die einzig tolle Lösung wäre die Abfrage entweder in eine andere Sprache auszulagern oder nicht 1/0, True/False zu nehmen sondern diese Werte Indirekt zu verwenden.
    Wenn also z.B. das Passwort richtig ist wird der Wert zu XA0F8A.. andernfalls bleibt er 0. So kannst du die Variable schonmal nicht ohne weiteres im Memorydebugger ändern.. zummindest nicht auf True.

    Edit: So zum Beispiel kann man einen Bot knacken welcher zum Verkauf steht/stand und somit geschützt/angepasst ist.

    Stammt übrigens nicht von mir sondern aus Elitepvper's..;)

    Edit: Sollte das gegen irgendwelche Regel'n verstoßen bitte entfernen ! :huh:

  • Ah genau, die True/False Abfrage ist aber ja im Prinzip eh unnötig.

    [autoit]

    $myPw = "pwd"
    $pwd = InputBox("Pw- Abfrage","Noch " &$i& " Versuche","","*")
    If $pwd <> $myPw Then
    ;usw.

    [/autoit]


    Und die Variablen sieht man dann im Memorydebugger?
    Weil dann müsste man ja $myPw unveränderbar machen. :wacko:

    Sensible Daten zu schützen ist gar nicht so einfach. :whistling:

  • Dann kann man aber immernoch eine der beiden Variablen ändern. Es gab mal ein Spiel mit Login (Ich weiß nichtmehr welches), da gabs eine Variable die angab ob man eingeloggt ist oder nicht. Die hatte immer 1/0..Wenn man sie umgeschrieben hat war sie sofort wieder auf dem alten Wert.

    Nun hatte man 2 Möglichkeiten ->

    ->Entweder man hat die Programminterne Funktion zum einloggen aufgerufen
    ->Oder man hat die Variable "gefreezt", sprich in einer Schleife überschrieben..

    So konnte man sich ganz einfach ohne Passwort bei ANDEREN LEUTEN einloggen ;)

    Note: Das Spiel hat Geld gekostet :D

  • ich meinte es so das es nicht in einer msgbox kommt sonder in einem eigenen gui die pw abfrage kommt :)


    das die passwort abfrage in einem gui stattfindet und bei richtiger eingabe das gu auf hide oder geschlossen wird und das nächste gestartet wird

    2 Mal editiert, zuletzt von SchrotterCh (24. September 2009 um 12:35)

  • Achso
    dann mache doch eine gui mit einer input und einen button
    lese wen der button gedrücktwurde die input ein und vergleiche sie
    bsp:

    [autoit]

    GUICreate("Form1", 243, 101)
    GUICtrlCreateLabel("Bitte Pwd eingeben", 8, 8, 96, 17)
    $Input = GUICtrlCreateInput("", 8, 32, 225, 21)
    $Button = GUICtrlCreateButton("Button1", 8, 72, 75, 25)
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $Button
    If GUICTRLREAD($Input) = "pwd" Then
    GUISETSTATE(@SW_HIDE)
    MsgBox(0,"","Passwort Richtig")
    ExitLoop
    else
    MsgBox(0,"","Pwd falsch")
    Endif
    EndSwitch
    WEnd

    [/autoit]
  • Zitat

    Verpass der Inputbox noch den Passwort-Style :huh:

    wie meinst du das???

    wie mach ich das bzw wie schaut das dann aus ???

    das hab ich bis jetzt noch nie gehört bzw gelesen

  • Hallo SchrotterCh,

    [autoit]

    #include <EditConstants.au3>
    ...
    $Input = GUICtrlCreateInput("", 8, 32, 225, 21,$ES_PASSWORD)
    ...

    [/autoit]
    Zitat

    Auszug aus der Hilfe:
    $ES_PASSWORD | 0x0020 | Zeigt für jedes eingegebene Zeichen ein Sternchen (*) an.

    mfg (Auto)Bert

  • :thumbup: aso ok thx :D kann ich eh gebruachen danke für den tipp :D

    thx das funkzt supper :D

    Einmal editiert, zuletzt von SchrotterCh (25. September 2009 um 11:27)