Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Citrusl en 24 Noviembre 2014, 01:12 am



Título: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: Citrusl en 24 Noviembre 2014, 01:12 am
Que tal... llevo un tiempo estudiando este tema del Keylogging y con tiempo fui aprendiendo lo necesario para crear el mio.

Como era de esperar... no me iba a conformar con los Keylogger normales que rondan por la web y decidí subir la apuesta.

Desafortunadamente mis conocimientos llegaron a su limite y no existe mucha información al respecto de lo que pienso hacer.

Puras frustraciones al ver códigos con ejemplos incompletos, mal explicados o muy específicos. Respuestas como "Buscalo en Google" o incluso al ver que mis profesores no podían responderme mis preguntas.

En fin aquí va lo que quiero hacer:

Quiero grabar en un archivo de texto los caracteres y símbolos ASCII+UNICODE completos cuando se presione la tecla específica. (mejor dicho la combinación).

Suena simple pero NO LO ES.

Las primeras problemáticas que surgieron fueron:

Me resulta imposible declarar todos los VK_ en "#defines" ya que no encuentro una tabla completa (0x31...) Lo que complica la impresión de los mismos.

Me resulta imposible crear una manera de obtener posibilidades infinitas... Es decir...
Seguramente pensaste en hacer un for de 0 a 255 pero Si alguien apretara la combinación ALT+9999999999999999999999999999999... etc, el programa no lo reconocería.

IMPORTANTE: No utilizo Hooks, uso el GetAsyncKeyState  y el Int main()



Yo entiendo todo, pero si me explican con código, entiendo mejor.





Título: Re: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: engel lex en 24 Noviembre 2014, 01:23 am
GetAsinc creo que  está limitado a ascii o a virtual keys, de todas formas si no tienes definido un vk, simplemente guardalo como 0x### y listo, tu sabes lo qie significa y con eso basta, no?


Título: Re: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: Citrusl en 24 Noviembre 2014, 01:47 am
Eh... no!

Sí o sí pide definirlos. No te deja imprimirlos así tan fácil.  (si no no estaría preguntando).

Pero suponiendo que declaro los 255 uno por uno en los "#defines"

Cómo hago para que tome una posibilidad de combinacionas Alt+cualquiernumero ?

Con un for() no se puede.





Título: Re: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: engel lex en 24 Noviembre 2014, 01:51 am
Analizas por independiente los codigos de alt, ctrl y shift, recuerdo que alguna vez hice un programa para macros y asi revisaba las combinaciones...o eso creo... creo que hay una funcion tambien, algo tipo getShift getAlt y akgo así


Título: Re: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: Citrusl en 24 Noviembre 2014, 01:57 am
Te referís a esto?
Código:

if(GetAsyncKeyState(VK_MENU) && GetAsyncKeyState(VK_1))
   
{
fprintf(txt,"%c",1);

}


Tengo una función que hace algo parecido... pero me devuelve un out de [ALT]+[numero 99999] así en letras por ejemplo. Pero no devuelve el Símbolo.

Intenté modificarle la impresión pero no pude hacer que me los imprimiera correctamente.

Código:
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); }



Título: Re: UNICODE ASCII C/C++ [Save in File] Ayuda ?
Publicado por: engel lex en 24 Noviembre 2014, 01:59 am
Sera ver si puedes obtener la distribucion del teclado, así lo sabrías