Fun with assembly
My first job was in the data center of a building company, who had a PDP-11 clone, running RSX-11. The data center team consisted of a number of data input operators, and a couple of IT guys that handled system administration, running the accounting and inventory suites, and sometimes writing some small custom programs for the data input people. Having too much time on my hands, I went and studied PDP-11 assembly and the OS system calls. I thus discovered that, when the ABO (ABORT) command is issued for a program, the OS calls a particular entry point into the program - and, using assembly, one could hook into the system call and return a code that rejected the abort.
The evil plan was thus hatched; I wrote a small program that wrapped the "Dungeon" game; when the wrapper was run, it started the real game, but remained resident. Every few minutes, the program would write a line to the console ("Hello, this is the teaser") and would beep. When the operator tried to abort the teaser, it would reply with an angry message and refuse to quit. I was still a nice guy then, so I added a solution: if the operator ran ABO three times, the teaser would exit (after complaining bitterly about feeling unloved).
I gave the tape with the Dungeon game and my wrapper to a friend in a sister company; he ran the wrapper, and ended up beeped every few minutes. He didn't discover the 3 times ABORT trick; instead he turned off the console and went to play the game on a different one. Other folks in the team (his team was bigger then ours) saw him playing Dungeon, and tried it too, with the same result - my friend told me the afternoon ended up with all consoles beeping randomly ("it was like birds singing", he said), and they finally rebooted the computer to get rid of all the teaser instances.