Keymash, the K stands for Kernel
Find a file
fef 827f5d3424
parameterize kernel directory
The directory for kernel headers can now be
overridden through the KERNEL_DIR variable
2023-08-10 03:11:18 +02:00
src fix build (yet again) for < 6.4 kernels 2023-07-26 17:54:24 +02:00
.gitignore initial commit uwu 2022-01-19 02:32:13 +01:00
dkms.conf add DKMS support 2022-01-19 17:02:52 +01:00
LICENSE add LICENSE 2022-04-24 02:35:25 +02:00
Makefile parameterize kernel directory 2023-08-10 03:11:18 +02:00
README.md add clarification for "cryptographic security" 2023-07-26 17:15:24 +02:00

/dev/keymash

Finally, it is here: The gay keymash device driver! It provides an endless supply of lowercase characters from the QWERTY home row in a cryptographically secure random order¹.

¹ Do not actually use this as a source for randomness, at least not for crypto purposes.

IMPORTANT!

The license already disclaims any warranty, but i would like to make it crystal clear that i literally have no idea how to use a computer. Assume this module will completely brick your system.

Building

You only need the linux headers for your current kernel in /lib/modules/$(uname -r)/build. If you install the linux-headers package (or something with similar name), you should be good. Just type

make
sudo insmod keymash.ko

to compile and load the module. If you have DKMS, you can also use that:

sudo dkms install .
sudo modprobe keymash

Loading the module will create the file /dev/keymash, which you can use for all sorts of stuff:

# print a keymash to the console
head -c20 /dev/keymash

# wipe your root partition and leave a message for the FBI
# (this won't ask for confirmation, don't do this)
sudo dd if=/dev/keymash of=$(mount | grep '/ ' | cut -d ' ' -f 1) bs=1M

# react to your girlfriend calling you cute
cat /dev/keymash | nc gay.wife 1337

License

Copyright (C) fef owo@fef.moe

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.