If you use the KMDF version of the kbdfiltr example it shows you how to create a device object that the application can open. You can use this device object as a direct channel to the application but note that this is a custom solution and the app must be aware of how to open this device. Also note that the application will be getting raw scan codes, not translated VKs, so the application will have more work to do to process the right input. Furthermore, if it has a UI and text boxes, it gets more complicated b/c you will then have to fabricate input messages to these controls.
Note that a km key logger will still be able to thwart what you are doing. If an app can set a global hook, I am pretty sure it can do a lot more to you. Also, if there is a UM key logger it means it is in process and it could still thwart what you are trying to do. It could hook any file io functions (ReadFile, WriteFile, DeviceIoControl, CreateFile) and still thwart your “encryption”.
In the end, I do not think you will get any type of security using this type of solution
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Tuesday, February 26, 2008 9:28 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Keyboard filter and process context
Thank you very much Doron.
Actually i want to provide a safe channel for some applications.
The objective is to encrypt an input (say i will change ‘a’ to ‘b’ etc. in the driver) and then decrypt it in the application.
In this way even if someone installs a key logger using SetWindowsHookEx, it would get the enrypted input.
Is there a way to do this stuff?
Thank you.
Tushar.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer