In Progress

Modified Key Logger for Windows PCs (XP, Vista, Windows 7)

This project involves developing a kernel driver application to monitor the keystrokes typed on a PC (in any application) and apply decision rules to the key sequences for output to another program.

The general requirements are:

- Works on any Windows XP, Vista or Windows 7 machine

- Works with anti-virus/anti-spyware software installed (assume user or administrator will configure anti-virus/spyware software as needed)

- Captures identification information from PC (username, MAC address, or IP address)

- Collects keystrokes for processing according to specified rules (defined below)

- Processes keystrokes collected based on these rules

- Passes information to another program or device based on events that are derived from the rules

- Does not store the keystrokes typed except under specified rules

The program will keep track of up to 20 "monitoring threads" of key strokes, focused primarily on number keys. Each thread will start with one of 4 specific numbers and monitor up to the next 19 keys to see if the numbers fit a specific pattern. The keystrokes will be adjusted for corrections (for example, a backspace) so that the numbers being matched to the pattern are the keys the user intends to type. (For example, "34[backspace]56" = "356".

The threads will overlap. So, for example, if the numbers that start a thread are 1, 2 or 3, the following string contains 4 threads:

1435462564176887645 (the 1, 3, 2 and 1 each start a new thread).

These threads will be monitored until one of several conditions are reached:

1) the number count reaches 20

2) there are two or more alpha characters ("a", "b", "C", etc.) typed

3) a time duration is reached (for example, 30 seconds since the start of that thread)

4) the pattern is matched (Luhn algorithm - [url removed, login to view])

When the pattern is matched, the program sends the identity of the PC along with the time of the pattern matching and the values that match to another program.

Deliverables include the source code. Preferred languages are C and C++. You are welcome to use an open source key logger to start with as long as you identify the source so we can verify the license requirements.

The description above has some small details changed for security purposes. The actual details of the project will be provided once the project is awarded.

Once completed the code will also be modified to include other number patterns. The developer should structure the code to accommodate this and may be selected to adapt the program for this purpose in another project.

We will require an NDA as a condition of being awarded this bid.

Project is listed as "small project" so you can bid as low as you like, but bid what you think it will require.

We are modifying the requirements of this project as follows:

1) Kernel driver is not required. This can be a standard application as long as the processing demand on the PC is very light. There should be no impact on the performance of the PC.

2) Only one thread is to be tracked at a time. Essentially we are looking for strings of numbers typed by a user with some parameters (keys typed, mouse clicks, etc.) that separate the strings.

3) No pattern matching is required. Each time a string meets the criteria required, the program will output the string to another program for analysis.

4) Time tracking required. For each string of digits to be reported, the time of the first key typed, the interval between keys and the total interval from the start to the end of that string is to be reported.

5) Configuration requirements. We want the program to be configured to the circumstances in which it will operate. So the meaning of different keys, the number of keys of be tracked, certain time thresholds and the length of strings to be acted on will all be configurable. (Six variables in all right now.)

Feel free to adjust your bid according to these new requirements.

Skills: Algorithm, Windows Desktop

See more: key logger open source windows, what is string matching, what does algorithm, what algorithm, track deliverables, string processing in c, string processing algorithm, string pattern matching in c, string pattern matching algorithm, string pattern matching, string pattern match, string pattern, string matching in c, string matching algorithm, string match algorithm, string match, string algorithm, program algorithm example, pattern string, pattern matching string, pattern matching in string, pattern match algorithm, overlap algorithm, nda for software project, match string

About the Employer:
( 84 reviews ) Charlotte, United States

Project ID: #2444174

Awarded to:


Hello. Please check PM.

$750 USD in 10 days
(21 Reviews)

9 freelancers are bidding on average $1783 for this job


I have written it before,

$1500 USD in 25 days
(2 Reviews)

I can provide what you need, with quality and same features, if you are interested in my bid.

$5500 USD in 30 days
(6 Reviews)

i have over 12 years desktop C++ programming experience, i have a similar project on this site as well, the code will be delivered completely documented for any future programmer to understand, written from scratch for More

$1200 USD in 20 days
(0 Reviews)

Hello why do you need a device driver? I can provide you simpler but effective solution. I would like to talk.

$1000 USD in 8 days
(0 Reviews)

Ready to start.

$1500 USD in 20 days
(0 Reviews)


$2100 USD in 20 days
(1 Review)

Expert in software development and web technologies. Hope have great business together.

$1000 USD in 15 days
(0 Reviews)

You are basically asking us to write you a virus, which is not an easy task as it can be detected and reported to Kaspersky Labs. Nonetheless it can be done.

$1500 USD in 10 days
(0 Reviews)