Realmente, donde estas escribiendo es una caja de textos,
normal y corriente, con una propiedad, que es no mostrar el texto, para evitar
que si tienes a tu primo encima del hombro, no tenga ni idea de que estas
poniendo. Sin embargo, hay formas de conocer que has escrito, sin utilizar un
keylogger, simplemente pidiéndole al programa que lo muestre.
Quizá, nunca has visto como se comunican las aplicaciones
entre ellas, por lo que trataré de explicarlo. Tenemos una aplicación A que es
un login, y nos permite acceder, y una aplicación B, que se encarga de leer
bajo los asteriscos. Las conversación es así:
Aplicación A, te solicita que pongas tu contraseña, y
presiones OK al terminar.
Aplicación B: -¿Oye… tengo yo una duda por aquí… podrías
decirme en que cae el próximo jueves?
Aplicación A: -El próximo jueves, es día 5.
Aplicación B: -¡Por el cul…!
Aplicación A: -Tú siempre tan gracioso. ¿A ver, querías algo
de verdad?
Aplicación B: -Pues ahora que lo dices… Si el jueves es 5, y
le sumo 3…¿Qué día es? Bueno, a lo que vamos, necesito que me digas, para... emm... mis cosas... que es lo que ha escrito el tipo raro de bigote, ese que está entre la silla y el teclado... en la casilla esa que
no veo bien desde aquí.
Aplicación A: -No sé de que casilla me estas hablando, tengo
muchas. ¿Podrías especificar?
Aplicación B: -Sí, esa que pone justo al lado contraseña, y
debajo tiene un botón que dice OK.
Aplicación A: ¿Cuánto texto te doy, 1 letra, 2, o lo quieres
todo?
Aplicación B: Ponme cuarto y mitad… ¡Pues lo quiero todo…! Dame…
255 caracteres, más vale que sobre, que falte.
Aplicación A: Vale. ¿Dónde quieres que lo guarde, para que tú
lo puedas ver?
Aplicación B: Déjamele… En un post-it debajo del monitor que
eso creo que no lo hace casi nadie…
Aplicación B: -Muchas gracias, te debo una, bla bla bla
Como se puede ver, tienen un humor super original, pero las
aplicaciones se pueden comunicar, y pueden enviarse mensajitos, sin que tú te estés
dando cuenta –y no, esto no es cachondeo-
Para poder comunicarse, utilizan el sistema operativo, con
una API, que se llama: SendMessage. Y tiene unos parámetros. Handle, que le
indicaría a la aplicación A, a quien quieres preguntar, la casilla de texto de
la contraseña. El ordenador, para identificarla usa un número que es único.
Luego le envia el mensaje, indicando que lo que quiere saber es el texto. WM_GETTEXT.
Como hemos visto, le indica el número de caracteres que quiere recibir, 255 –incluso
hay forma de concretar, si es más largo o más corto- y por último, se le indica
en que variable guardar el texto.
Dejo al final del todo, un rar, con el proyecto. Y un ejecutable,
ya compilado, para que puedas probar. Todo el código está comentado, para
facilitar su entendimiento.
PD:¡Esta prohibido criticar mi código! –lo sé, parece hecho
por un equipo de 12 monos, pero no tengo dinero para contratar programadores, y
como jefe, tengo que delegar –