PyKL is a keylogger developed to run under Linux in x86 and AMD64 architectures.
PyKL was created to be a simple Python script that sniffs all keystrokes from
ioport 0x60 and translate to keymap file. It basically operates like
LKL (Linux Key Logger), but with the difference that works without
keystroke delay or mouse interference.
PyKL is recommended for users with problems caused by the execution of others keyloggers on their systems (especially using GUI).
PyKL is released under GPL version 2.
To run the PyKL, Python 2.6 or later must be installed.
In addition, it requires the additional installation of PortIO 0.4 package (included).
Advantages and Disadvantages
- Simple and light python script.
- Log of all users keystrokes.
- Catch data both from the GUI and the shell.
- Store all data as ASCII.
- Require run as superuser.
- Require PortIO installation.
If you download from the repository,
- Open a shell as superuser.
- Unpack the tarball in a directory.
# tar zvxf pykl.tar.gz
- Go to the PortIO directory and install it.
# cd pykl/portio
# python setup.py install
- Back to script and execute
How to Use
Just run the
pypkl.py as superuser and redirect the output to desired file.
# ./pypkl.py >> keylog.log
How to contribute
If you want to contribute to this project you can:
- Report me running bugs by mail firstname.lastname@example.org or
- Create a keymap file (
- test_keyboard.py: Use this script to know the numeric code of each key.
- make_keymap_brazil_EXAMPLE.py: This is the example file to generate
the keymap of BRAZIL layout. Based on this file, modify the dictionaries
keymap1(normal symbols) and
keymap2(shifted symbols). In line 184, modify the name