ayuda para keylogger

Iniciado por r1ghtz0, 15 Abril 2018, 02:04 AM

0 Miembros y 1 Visitante están viendo este tema.

r1ghtz0

Bueno es para saber si las librerias estan bien, saber porque no verifica el estado de la tecla y saber si esta bien poner getasynckeystate fuera del main.


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
//#define OK -32767

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int tecla;

   for(tecla=4 ; tecla<256 ; tecla++){
if(GetAsyncKeyState(tecla) > 0){
printf("Presiono la tecla %c", tecla);
}
}

/*
int main(int argc, char *argv[]) {


return 0;

}
*/



MAFUS

Todo código debe estar dentro de una función.

r1ghtz0

#2
Si lo pongo asi:


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define OK -32767

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void get(){

int tecla;

    for(tecla=4 ; tecla<256 ; tecla++){
if(GetAsyncKeyState(tecla) == OK){
printf("Presiono la tecla %c", tecla);
}
}
}

int main(int argc, char *argv[]) {

get();

return 0;
}



El preblema es que getasynckeystate() no funciona, el programa se habre pero no muestra ningun mensaje y no se si poner una constante diferente en el if().

engel lex

porque el programa corre una sola vez y está procesando otros mensajes probablemente... recomiendo antes de intentar hacer algo, aorender a programar bien en el lenguaje y entender todos los conceptos basicos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

r1ghtz0

#4
Bueno, gracias por la ayuda ya lo analice bastante y me fije que la funcion getasynckeystate() verifica el estado de las teclas internamente y que por tal motivo es imposible que muestre el mensaje cuando una tecla se pulsa, cuando el bucle se inicia getasynckeystate verfica que ninguna tecla fue pulsada luego salta y pasa a la siguiente iteraccion y asi va hasta que se termine el bucle.

BloodSharp

#5
Tendrías que aprender a programar primero antes de intentar hacer un keylogger, luego documentarte acerca de las APIs de Windows y recién ahí comenzar a armar tu programa deseado...

De todas formas te dejo la solución porque estaba aburrido... :silbar:

Código (cpp) [Seleccionar]
#include<windows.h>
#include<cstdio>

int main(){
   register int iTecla;
   BOOL bRun=TRUE;
   while(bRun){
       for(iTecla^=iTecla;iTecla<256;iTecla++){
           if(GetAsyncKeyState(iTecla)&1){
               if(iTecla==VK_ESCAPE)
                   bRun=FALSE;
               printf("La tecla virtual numero %i fue presionada...\n",iTecla);}}
       Sleep(17);}
   return 0;}



B#