Programm Login.

  • Hallo Liebe Leute ;)
    Ich habe es alles nun auf eine anderen art und weiße gelöst , dass die Benutzer ihre Accounts erstellen können =)
    Würde nur gerne wissen wie Sie , sich nun damit einloggen können.

    Ich habe folgendes Problem.
    Username & E-mail , sind schon im Internet.
    Das Programm soll ledlich beim dem Login prüfen ob die Datein in Input 1 & 2 , mit denen auf den Servern gleich sind.
    Sagen wir ich gebe ein

    Klicke auf Login und es soll überpfrüft werden , ob es diese Sachen auf der Internet seite gibt.
    Wenn,
    Ja= Soll das Programm öffnen
    Nein= Soll MsgBox zeigen (Was es immer tut , weil ich es net hinbekomme :-P)

    Hier mal das script , hoffe auf Gute hilfe =)

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Inet.au3>

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

    $vVersion = "Ver. Beta 2.0"
    TraySetToolTip($vVersion)
    $FORM1 = GUICreate("Loading... " & $vVersion & " - by TuttiFrutti", 195, 15, -1, -1, $WS_POPUP, 0)
    GUISetBkColor(16777215)

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

    $Progress1 = GUICtrlCreateProgress(-1, -1, 198, 17)

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

    GUISetState(@SW_SHOW)
    For $i = 0 To 100 Step 5
    Sleep(60)
    GUICtrlSetData($Progress1, $i)

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

    Next
    ProgressOff()
    GUISetState(@SW_HIDE)

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

    #Region ### START Koda GUI section ### Form=
    $FORM1 = GUICreate("Form1", 282, 112, -1, -1)
    $Input1 = GUICtrlCreateInput("Username", 88, 24, 161, 21)
    $Input2 = GUICtrlCreateInput("E-mail", 88, 56, 161, 21)
    $Login = GUICtrlCreateButton("Login", 9, 80, 60, 20)

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

    $NameLabel = GUICtrlCreateLabel("Username :", 8, 24, 68, 16)
    GUICtrlSetFont(-1, 9, 400, 0, "Dotum")
    $Email = GUICtrlCreateLabel("E-Mail :", 18, 56, 50, 16)
    GUICtrlSetFont(-1, 9, 400, 0, "Dotum")
    $Group1 = GUICtrlCreateGroup("Group1", 80, 8, 185, 81)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Login
    _Login()

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

    EndSwitch
    WEnd

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

    Func _Login()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, 'Username:&nbsp;(.*?)<br>', 1)
    $sapfelversion3 = StringRegExp($source, 'E-Mail:&nbsp;(.*?)<br>', 1)
    ;Überprüfe Name + Passwort +++ Soll gucken ob Datein auf Server sind.
    EndIf
    If $Input1 & $Input2 = $sapfelversion2 & $sapfelversion3 Then
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(64, "Fehler", "Benutzername oder/und E-mail sind Falsch.")
    EndIf;### Tidy Error -> func is never closed in your script.
    EndFunc

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

    #cs
    Func _Look()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, 'Username:&nbsp;(.*?)<br>', 1)
    $sapfelversion3 = StringRegExp($source, 'E-Mail:&nbsp;(.*?)<br>', 1)
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(48, "Verbindungsfehler", "Es besteht entweder keine Verbindung zum Internet oder der Server ist momentan nicht erreichbar!")
    EndIf
    EndFunc ;==>_Look
    #ce

    [/autoit]
  • Vorab erstmal:
    Man geht auf die http://tuttifrutti.kilu.de/l33tm3.html Seite und kann direkt alle Daten sehen. D.h. man könnte den Login auch weglassen, da sich sowieso jeder die Daten aus dem Internet für den Login holen kann.

    Ich würde das ganze, wenn du es schon mit einer *.html Datei machst, verschlüsseln mit Md5. (Allerdings auch nicht der sicherste Weg)

    Dann stände in der *.html Datei z.B.:

    Username: Jautois
    Passwort: 8f13cce450224fabe393ebe2669f95c0 ("EinMd5String" als MD5)

    Den String aus dem Passwort-Input durch eine MD5-Funktion in Autoit jagen und nun beide Strings wie du es bereits hast, von der Seite laden und vergleichen.

    Md5 Funktion:

    Spoiler anzeigen
    [autoit]


    Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
    $_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
    $_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"

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

    Func _MD5($Data)
    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $_MD5Opcode)

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

    Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    DllStructSetData($Input, 1, $Data)

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

    Local $Digest = DllStructCreate("byte[16]")

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

    DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "ptr", DllStructGetPtr($Input), _
    "int", BinaryLen($Data), _
    "ptr", DllStructGetPtr($Digest), _
    "int", 0)

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

    Local $Ret = DllStructGetData($Digest, 1)
    $Input = 0
    $Digest = 0
    $CodeBuffer = 0
    Return StringLower(StringTrimLeft($Ret, 2))
    EndFunc ;==>_MD5

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

    Die sicherste Variante wird aber schätze ich eine MySql-DB sein, da diese nicht einsehbar ist. Wenn du zusätzlich in der DB noch die MD5-Werte nimmst -> Safe!

    Ich hoffe ich konnte helfen ....
    Jautois

  • Wenn man aber auf

    http://tuttifrutti.kilu.de geht , kann man dort garnicht die Seite rauslesen.
    Ich weiß schon , dass man die Daten so rauslesen kann.
    Ihr kennt nun die Seite , ich kann sie aber jeder Zeit ändern in z.B. 'a8j8an812n9c23nm8yxfmn2.html'

    xD Dort muss man auch erstmal drauf kommen. Wie sowas mit MySQL geht , weiß ich nicht habe ich nicht.
    Das mit dem MD5 ist mir zu kompliziert blicke ich net durch.
    (Könnte mir ja wer machen ^ ^)

    Trozdem danke xD Ich versuche morgen nomma ein versuch.

  • pass auf, tutti ;)
    ich bin mit der server geschichte ein wenig vertraut, wenn du deine Html umbenennst, aber in diesem ordner keine Index hast, zeigt der Apacheserver den inhalt des ordners, und man kann jederzeit auf die seite zugreifen

    Das mit dem inetgetsource würde ich immernoch lassen, wenns aber sein muss, werd ich mir des mal morgen anschauen

    Bis vorgestern!!

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • Also deine Fehler lassen sich beheben:

    In Zeile 58:
    If $Input1 & $Input2 = $sapfelversion2 & $sapfelversion3 Then
    Da darfst du nicht einfach die Variablen der Inputs nehmen, sondern musst den String im Input auslesen. Das funktioniert mit GuictrlRead($Input1) oder GuictrlRead($Input2)...

    Zudem kommt das die StringRegExp-Funktionen auf Zeile 54 und 55 ein Array zurückgeben. D.h. in $sapfelversion2[0] steht der String ($sapfelversion3[0]).

    Ein letzer Fehler liegt darin, das der ausgelesene Username von der Webseite, ein Leerzeichen vor und nach dem String enthält
    Ausgelesener Username & Email von der Seite: " 123 mralex@gmx.net"
    Zusammengesetzer Username & Email im Script: "123mralex@gmx.net"

    Das mit den Hashwerten (Md5) ist nicht schwer:

    Mal ein Beispiel:

    Spoiler anzeigen
    [autoit]


    ; Beispiel String -> MD5

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

    Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
    $_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
    $_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"

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

    $sInput = InputBox("Beispiel String in MD5","Geben Sie einen String ein:")

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

    MsgBox(64,"Md5 aus " & $sInput, _MD5($sInput))

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

    Func _MD5($Data)
    Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
    DllStructSetData($CodeBuffer, 1, $_MD5Opcode)

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

    Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
    DllStructSetData($Input, 1, $Data)

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

    Local $Digest = DllStructCreate("byte[16]")

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

    DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
    "ptr", DllStructGetPtr($Input), _
    "int", BinaryLen($Data), _
    "ptr", DllStructGetPtr($Digest), _
    "int", 0)

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

    Local $Ret = DllStructGetData($Digest, 1)
    $Input = 0
    $Digest = 0
    $CodeBuffer = 0
    Return StringLower(StringTrimLeft($Ret, 2))
    EndFunc ;==>_MD5

    [/autoit]


    Mfg

    2 Mal editiert, zuletzt von Jautois (25. August 2009 um 22:13)

    • Offizieller Beitrag

    So, es waren Fehler in den Pattern und beim Vergleich mußt du die Inputs natürlich auch auslesen. ;)

    [autoit]

    Func _Login()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, '(?:Benutzername:&nbsp;\s*)([\w\d]+)', 1)
    $sapfelversion3 = StringRegExp($source, '(?:E-Mail:&nbsp;\s*)([\w\d@.]+)', 1)
    ;Überprüfe Name + Passwort +++ Soll gucken ob Datein auf Server sind.
    EndIf
    If GUICtrlRead($Input1) & GUICtrlRead($Input2) = $sapfelversion2[0] & $sapfelversion3[0] Then
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(64, "Fehler", "Benutzername oder/und E-mail sind Falsch.")
    EndIf;### Tidy Error -> func is never closed in your script.
    EndFunc

    [/autoit]
  • Ist ja cool , nur Leider geht das nur bei

    Zitat

    Benutzername: asd
    Username: 123
    E-Mail: mralex@gmx.net

    Bei denen da drunter nicht.
    (Das ist der Oberster)

    Habe dafür auch ein Script woran ich immer schnell gucken kann.

    Spoiler anzeigen
    [autoit]

    #include <FTP.au3>
    #include <Inet.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    _IEErrorHandlerRegister ()

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

    $oIE = _IECreateEmbedded ()
    GUICreate("Server Client", 640, 580, -1, -1,$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $GUIActiveX = GUICtrlCreateObj($oIE, 5, 5, 630, 540)

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

    $GUI_Button_Home = GUICtrlCreateButton("Aktualisieren", 2, 550, 100, 30)

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

    GUISetState() ;Show GUI

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

    _IENavigate ($oIE, "http://tuttifrutti.kilu.de/l33tm3.html")

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

    ; Waiting for user to close the window
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $GUI_Button_Home
    _IENavigate ($oIE, "http://tuttifrutti.kilu.de/l33tm3.html")

    EndSelect
    WEnd

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

    GUIDelete()

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

    Exit

    [/autoit]


    Aber darum geht es nicht :D Es geht immer nur das oberste. Keine ahnung warum.
    ABer trozdem danke schomer dafür ;) Werde es mir morgen mal genauer anlucken.Muss nun erstmal schlafen.

    • Offizieller Beitrag

    Stimmt, hatte ich in dem Moment nicht bedacht. Nun gelöst.:

    Spoiler anzeigen
    [autoit]

    Func _Login()
    $source = _INetGetSource("http://tuttifrutti.kilu.de/l33tm3.html")
    If Not @error Then
    ;$sapfelversion1 = StringRegExp($source, '<br> Benutzername:&nbsp;(.*?)<br>', 1)
    $sapfelversion2 = StringRegExp($source, '(?:Benutzername:&nbsp;\s*)([\w\d]+)', 3)
    $sapfelversion3 = StringRegExp($source, '(?:E-Mail:&nbsp;\s*)([\w\d@.]+)', 3)
    ;Überprüfe Name + Passwort +++ Soll gucken ob Datein auf Server sind.
    EndIf
    $index = _ArraySearch($sapfelversion2, GUICtrlRead($Input1))
    If Not @error And $sapfelversion3[$index] = GUICtrlRead($Input2) Then
    ShellExecute("Server [Tutti].exe", "", @ScriptDir, "open")
    Else
    MsgBox(64, "Fehler", "Benutzername oder/und E-mail sind Falsch.")
    EndIf;### Tidy Error -> func is never closed in your script.
    EndFunc

    [/autoit]
  • Fehler :D

    Code
    $index = _ArraySearch($sapfelversion2, GUICtrlRead($Input1))
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    Wie ich das behebe weiß ich moment noch nicht.

  • Tutti die sache mit dem FTP kannst du ja so lassen. Im Prinzip ist es egal ob das jeder lesen kann oder nicht, solange du die Daten dort verschlüsselst.

  • Tutti die sache mit dem FTP kannst du ja so lassen. Im Prinzip ist es egal ob das jeder lesen kann oder nicht, solange du die Daten dort verschlüsselst.

    Meine Kumpels oder andere die das Programm nicht Dekompilieren (was eh verboten ist) Können die seite garnicht auslesen xD
    Also von daher , ist mir das egal.Mir ist es auch egal wenn dan jemand die seite hat.

  • Richtig. Mit Programmen wie z.b. WireShark oder WPEPro würde ich an diese Addresse immerwieder kommen.
    Und wenn man das "Call an Function of an RemoteProcess" beherrscht kann man das auch per OllyDbg machen.

    Edit: Da du die Benutzerkonten usw. in Variablen speicherst und mit nem FTP arbeitest, kann man auch ganz leicht mit nem Memorysearcher wie z.B. ArtMoney, TSearch oder CheatEngine dein Programm cracken.