Bienvenidos.
En esta lección vamos a codificar nuestro primer Key Logger.
Aquí estamos Le Werth 3 es un proyecto de C++ de consola escrito en Microsoft Visual Studio.
Para ser que logging este programa utiliza la API de Windows gueras cinq, que stat.
Okey, empecemos.
La primera cosa que hacemos es llamar a esta función llamada bico.
Está a cargo de ocultar la consola del programa.
Sólo creamos un handler en esta variable ID.
Esta API fine Windows.
Va a encontrar Alejandre manejador buscandola por su nombre con solo Windows Klauss, esta app show
Windows va a ocultar la consola si ponemos 0 aquí.
Estamos hablando, por supuesto, de la consola de nuestro malware.
De esta manera hacemos un ocultamiento básico.
Luego estais cabez loco.
Esta función indica si la tecla Caps Lock está activada o no?
Elige Adquie State.
Extrae el estatus de la tecla virtual especificada.
Queremos saber si está activada o no..
Sentiamos de esta tecla virtual como virtual aquí CAPÍTOL.
Es del equivalente de Caves Loco.
Encontrarás las teclas virtuales en la Microsoft Documentation.
Esta es la página.
Puedes chequear las equivalencias.
Como ves, Becka Capitol equivale a cabez loc aquí.
Bien, volviendo a nuestro código, esto retornara unos y caps lock está activado y 0 si no lo está.
Vamos a continuar a la función récord de.
Esta función va a realizar el trabajo pesado primero en esta variable llamada aquí es donde vamos a
guardar temporalmente las pulsaciones de tecla robadas.
Luego tenemos este bucle infinito.
Esto significa que desde el momento que se ejecute el malware, este bucle se ejecutará indefinidamente.
Esto es altamente demandante para el CPU.
Algunos programadores usan una función sleep para ejecutarlo, por ejemplo, cada dos segundos.
Pero de esta manera tú pierdes pulsaciones de teclas.
De todas maneras, esto funciona y te recuerdo que esto es un malware.
Prueba de concepto.
Ahora este club responde a la tabla de caracteres chasqui estamos contando desde el carácter 8 A hasta
el doscientos veintidós.
Déjame mostrarte.
Tomaremos como referencia esta tabla, Oski.
Volvamos al código.
La API de Windows gueras inquie Stadt.
Determina si una tecla está presionada o no..
En esta instrucción está preguntando si presiona cualquier tecla del keyboard, está presionada.
Entra a este bloque if.
Esta línea crea el archivo para guardar las pulsaciones de teclas robadas.
El nombre del archivo es lov.
6 6 6 punto txt.
Esto indica que se debe añadir cada pulsación de tecla.
De otra manera estaría sobre escribiendo el archivo cada vez que se presiona una tecla.
Vamos a ver el caso para capturar los caracteres en minúscula.
La primera parte de este IF establece que la variable debe ir entre 65 y 90.
Por qué estos valores?
Bueno, para entenderlo, vamos, volvamos a nuestra tabla aquí.
Aquí estamos.
Estos valores de corresponden a los caracteres en mayúsculas de la A a la Z.
Ahora sé bien que lo que queríamos filtrar los caracteres en minúscula, pero esto tendrá más sentido
en las siguientes líneas de código.
Sólo un poco de paciencia.
Ok, y de nuevo en nuestro código.
Esto que estoy señalando significa Sí, Shift no está presionado.
Este hexadecimal es el equivalente de Shift.
Y luego de negamos la expresión usando este símbolo de exclamación, significa si Chip no está presionado.
Este es el valor hexadecimal.
Que equivale a gibt.
Finalmente, este excavas blog igual a cero significa si tu Tekla Caves blog no está activada.
Recuerda que Kaps Blog es la función que vimos al principio.
Poniéndolo todo junto se lee si la tecla presionada está entre los valores 65 y 90 y si no está presionado
y caves, lo está apagado, entonces haz esto.
Variable aquí más de igual.
32 Por qué 32 Veamoslo en nuestra tabla eski.
Si cuentas de la a mayúscula, la a minúscula va a dar treinta y dos, entonces siempre que esté dentro
de este if va a guardar en minúsculas.
Ahora, para capturar los caracteres en mayúscula, simplemente ponemos el rango acorde a nuestra tabla
aquí.
Ok, vamos a continuar, este switch sirve para capturar las teclas numéricas del teclado.
Vamos a ver, esto empieza en el 48.
Por qué?
Porque 48 corresponde a cero en nuestra tabla chasqui.
Veamos.
Aquí está.
48 igual a cero.
Ahora esto tiene más sentido, verdad?
Sabemos que esto hexadecimales shift luego si GB de está presionado, escribe paréntesis, caso contrario,
escribe 0.
Esto acorde a un teclado americano.
Entonces debemos hacer esto del 48 al 57, que es el equivalente a nuestros números del 0 al 9.
Así que, por ejemplo, el CAIS 49 es de esta tecla la que ves en la animación la 1.
El cincuentas de esta tecla la.
Y así con todas.
Finalmente tenemos más teclas importantes como back space, enter y Space.
Si quieres puedes ponerlas todas, sólo tienes que chequear los virtu alcores en la página de documentación
de Windows.
Si deseas aprender a analizar y desarrollar malware mucho más avanzados, visita a la sección Premium,
gracias y hasta pronto.