Need help with kernelroll?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

fpletz
203 Stars 23 Forks GNU General Public License v3.0 2 Commits 8 Opened issues

Description

linux kernel module for advanced rickrolling

Services available

!
?

Need anything else?

Contributors list

# 34,970
Common ...
sed
nixos
nix
2 commits

Putting rickrolling in kernel space

Kernelroll is a linux kernel module for advanced rickrolling.

It works by patching the open() system call to open a specified music file instead of other music files. Currently, it only checks if the file extension "mp3" is present and calls the original open() with the supplied path instead.

WARNING: There is probably a performance penalty and your kernel might crash at a very inappropriate time and cause data loss! You are responsible for the code you load into your kernel!

But most probably, it will be alright! ;)

Installation

You need the address of syscalltable in your kernel. Use

$ grep sys_call_table /boot/System.map-3.0.0-1-amd64
ffffffff81400300 R sys_call_table

on the respective System.map of your kernel to find out the address

Now fire up kernelroll.c and add yours:

void **sys_call_table = (void **)0xffffffff81400300;

This will probably be simplified in the future, but as syscalltable isn't exported anymore in 2.6 kernels, we have to use some tricks.

Compile with:

$ make

Load with:

$ insmod kernelroll.ko rollfile=/path/to/rickroll.mp3

Fire up a music player of your choice, play a song and consider yourself kernelrolled. ;)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.