So I was given the task of reading a Magnetic Card Reader (which uses the USB HID class) and it is recognized as some kind of keyboard (I swipe the card and the info goes to the active window, that works fine).
Now what I need to do is REGARDLESS of which window active I want my app to read those characters and manipulate them.
I've been reading about how Keyloggers work (reading /dev/input/event*) and about how to make a Keylogger (I figured that would help me out), however I've got to the point where I should ask for help. I tried a keylogger that works that way (reading the event) but it doesn't work very well. I've been reading about I can do it in User Space and in Kernel Space, and that's where I need help. Which one is easier? How to go about doing each one of those options? Is there any other way?? Will I have to deal with the USB Protocol??

Any suggestion, hint will be greatly appreciated and taken into account.

grail

03-29-2010 11:20 PM

How about we start with what you have already tried to see if it can be improved?
Maybe give example of keylogger code and tell us more about what "doesn't work very well"?

As for User and Kernel Space - generally something done in User Space will require lest changes to your overall system
and potentially have less side effects that you have to later work out. So I would place this in perhaps the easier pile
although have had experience that this is not always the case :(

As far as options for doing either, google is your friend.

e_pech

04-02-2010 04:03 PM

I'm on the way...

I'm sorry, what happened is, I was having issues with the USB on VMWare, so what I did is I installed Fedora Core 6 on my Hard Drive and I'm able to develop.

I'm working on reading the event of my USB Card Reader. I'm using LogKeys as a base for my work.