Special feature I was 17 years old, I had nothing to do, and I wanted to teach myself programming. So I decided to write a computer virus.
Don't worry. The two viruses that I ended up writing – Leprosy and Leprosy-B – were designed to infect MS-DOS computers. They knew nothing about the internet, because neither did I at the time, and these days they're as dead as smallpox.
My reasons for wanting to write software that trashed other people's PCs were manifold. For starters, as I said, I was 17. Besides computers, one of my other hobbies was blowing up public telephones with fireworks. Maybe sticking to computers was a better idea.
Perhaps the main reason, though, was that I was a bit full of myself and I wanted to do something about the arrogance that I felt existed in the underground computer scene at the time. I just wanted to prove to the scenesters that even an idiot who didn't really know how to program could write a virus.
This was 25 years ago, in 1990, and the underground computer scene lived on bulletin board systems (BBSs). These were social chat servers that you would login to by dialing a phone number with your modem. Most often they were run out of people's homes. That meant that probably only one person could be on the system at a time; only the posh ones paid for more than one phone line.
The underground at the time was interested in various things. Software piracy was a big one for me. A 17-year-old doesn't have a lot of money to buy software. Then there were the phone phreaks, who liked to find ways to make free long-distance phone calls. Some people just wanted to talk about drugs. And then there were the virus folks.
How hard could it be to write a computer virus? A snippet of the actual Leprosy source code
A lot of the computing underground bugged me, because they acted like if you were involved with this stuff it made you special. There was this term, "leet," or "1337" – meaning "elite" – that got thrown around a lot. But the virus folks bugged me the most, because they liked to hoard their little tricks and secrets like they'd personally discovered the Rosetta Stone and were planning to charge people just to look at it.
The way I saw it, if you wrote an entire spreadsheet system from scratch, I would be impressed. But all these people had done was write software that did the digital equivalent of throwing rocks through people's windows. Anybody could do that, I thought. I could do that.
And so I did.
Pranking the pranksters
The tipping point for me was when I came across a virus called (crassly enough) AIDS. The way it worked was it would find .COM files (executable programs) on your disk and write itself over them, so the next time you tried to run those programs you would actually run the virus again, and so on. Eventually your whole system would be trashed. And every time it tricked you into running it, the virus would print out a message taunting you about how stupid you were.
That's all it did! None of this stealthy business of hanging around and re-installing itself after you tried to remove it. It just blasted itself around your disk and waited for you to run it by mistake.
To me, it was the software equivalent of a whoopee cushion. The worst part was, it was written in Borland Turbo Pascal, so it was 14KB big. A lot of the .COM files it was trying to infect weren't 14KB to begin with, which meant they would grow to 14KB when it infected them, making the virus easy to spot.
And whoever wrote it had the nerve to call other people stupid!
So this became my project. I would rewrite AIDS from scratch, only I would do it properly. I would write it in C, and I would keep its size down to 666 bytes – a number chosen in advance, because the teenaged me was clever like that.
I decided to call my virus Leprosy, which I thought was way cooler than calling it something thoughtless like AIDS. And I had an additional goal in mind.
Unlike the virus folks who seemed to want you to envy them for having invented the wheel – when really, to my mind, they'd done nothing special – my virus was going to be public domain software. Anyone could have it, source code and all.