16k - A Simple Passive Keystroke Logger

Description

There are several approaches to writing keystroke loggers (system wide hooks, kernel-based, passive monitoring). 16k demonstrates a simple passive approach to writing keystroke loggers for Windows based systems and is intended for educational purposes only. 16k logs pressed keys, mouse clicks, and the active window during that input event as well as time and state (key up or down) in an effort to correct common input issues. To compile 16k, you'll need a modern C++ compiler (I use mingw and msys), boost C++ libraries and a Windows PC. Compile and linking instructions are in the source code. 16k runs on Windows XP or newer Windows operating systems. 16k is distributed under the terms of the GNU General Public License.

Download


Cautions

Depending on your location, it may be illegal to use or store 16k on multi-user systems without the knowledge and consent of all users. And even then, it may still be illegal. If you have doubts about legality, consult a lawyer.

Notes

  • Several years ago, some keystroke detection software did not detect 16k. There was somewhat of an uproar over this. Some security companies sent complaints to Nearly Free Speech (my hosting provider) and black-listed my domain names and Authenticode signing certificates. Because of this, I removed 16k for several years. I recently (Feb 2013) put the source code back up, however, precompiled executables are no longer available for download.
  • There are only 470 lines of code in two source files. Most of that is the key map and the GPL preamble.