Problema con caracteres al utilizar Hooks (Keylogger)

Iniciado por darkaos, 24 Noviembre 2011, 18:02 PM

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

darkaos

Hola a todos, he comenzando a trabajar con Hooks para el diseño de un malware que contenga un keylogger, el caso es que quiero hacerlo funcionar con los acentos, pero al momento que ejecuto el modulo, y comienzo a escribir para hacer las pruebas correspondientes, deseo escribir "á" pero en vez de eso, me escribe "´´a". Para comprobar que no era un error de programación, codee algo simple para que me diera los valores correspondientes a la tecla en los distintos casos, lo hice en python, pero aclaro que en otros lenguajes ocurre lo mismo, y quisiera ser orientado para corregir este problema.

El código es:
Código (python) [Seleccionar]

# coding= utf-8
import pyHook, pythoncom

def AlPulsar(event):
    print 'MessageName:',event.MessageName
    print 'Ascii:', str(event.Ascii)
    print 'Key:', str(event.Key)
    print 'KeyID:', str(event.KeyID)
    print 'ScanCode:', str(event.ScanCode)
    print '--------------------------------\n'

hook = pyHook.HookManager()
hook.KeyDown = AlPulsar
hook.HookKeyboard()
pythoncom.PumpMessages()


Con este simple código, se puede apreciar el error, pero aclaro, si fuera por saber que letra quiere escribir el usuario, puedo hacerlo simplemente con formato condicional, pero al usuario le seguirá apareciendo "´´a", y eso es lo que no quiero. Necesito que al usuario le aparezca "á".

Espero haberme expresado bien, y muchas gracias a todos los que respondan.

PD: Fragmentos de código en otro lenguaje también me sirven, así que cualquier ayuda, ya sea teórica o practica, será muy bien agradecida.

fary

Lo que tienes que hacer es cuando se pulse la tecla "´"  ver si despues se pulsa una vocal, si se pulsa una vocal habrá querido escribir una tilde.

saludos.
Un byte a la izquierda.

darkaos

Eso solo serviría si lo quiero interpretar yo, pero si quiero que el usuario en vez de ver un "´´a" vea "á", eso no serviría, de todos modos muchas gracias

fary

Cita de: darkaos en 24 Noviembre 2011, 21:01 PM
Eso solo serviría si lo quiero interpretar yo, pero si quiero que el usuario en vez de ver un "´´a" vea "á", eso no serviría, de todos modos muchas gracias

Eso lo tienes que automatizar en tu código  :¬¬
Un byte a la izquierda.