2022-01-19 02:33:39 +01:00
|
|
|
# `/dev/keymash`
|
|
|
|
|
|
|
|
Finally, it is here: The gay keymash device driver!
|
|
|
|
It provides an endless supply of lowercase characters from the
|
2023-07-26 17:15:24 +02:00
|
|
|
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.
|
2022-01-19 02:33:39 +01:00
|
|
|
|
2022-04-24 02:35:25 +02:00
|
|
|
## 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.
|
|
|
|
|
2022-01-19 02:33:39 +01:00
|
|
|
## 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.
|
2022-04-24 02:35:25 +02:00
|
|
|
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:
|
2022-01-19 02:33:39 +01:00
|
|
|
|
|
|
|
```sh
|
|
|
|
# print a keymash to the console
|
|
|
|
head -c20 /dev/keymash
|
|
|
|
|
2022-04-24 02:35:25 +02:00
|
|
|
# wipe your root partition and leave a message for the FBI
|
|
|
|
# (this won't ask for confirmation, don't do this)
|
2022-01-19 02:33:39 +01:00
|
|
|
sudo dd if=/dev/keymash of=$(mount | grep '/ ' | cut -d ' ' -f 1) bs=1M
|
|
|
|
|
2022-04-24 02:35:25 +02:00
|
|
|
# react to your girlfriend calling you cute
|
2022-01-19 02:33:39 +01:00
|
|
|
cat /dev/keymash | nc gay.wife 1337
|
|
|
|
```
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
2022-04-24 02:35:25 +02:00
|
|
|
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.
|