A monologue from a teenage computer virus writer

Source: Internet
Author: User

90 's your computer often crashes? Yes, I'm sorry.

When I was 17 years old, I had nothing to do, so I taught myself to program it. So I decided to write a virus myself.

Don't worry. I completed the two viruses leprosy and leprosy-b are for MS-DOS computers. They have nothing to do with the Internet, because they haven't. Now they are as extinct as smallpox.

I want to write these things that are bad for someone else's computer for a lot of reasons. First of all, like I said, I was 17 years old. In addition to fiddling with computers, my hobbies include using fireworks to fry phone booths. Can be written computer viruses are relatively good choice.

But the main reason is I was a bit arrogant, in the computer underground organization, I have a sense of existence. I just want to prove to other computer people, even the idiot who does not know how to program can write a virus.

Best time

That was 25 years ago, in 1990, the underground computer world was also dependent on the Electronic bulletin board system (BBSS). It's a social chat service and you'll need to dial it by modem. That was basically the case with families at that time. This means that the system can only allow one person to log on at the same time, and only pay more to increase the phone line.

At that time, the computer underground organization in many aspects are covered, and software piracy most attracted me. 17-year-olds have little money to buy software. At that time there were some people who stole the phone line, they like to find ways to make free long distance calls, some people are to transfer drugs through the telephone. Then there is the person who hangs the virus.

How hard can it be to write a computer virus? This is a small piece of real leprosy source code

Many computer underground organizations annoy me because it seems that they behave as if you have done something unusual. The words "leet" or "1337", or "elite", appeared around that time. But people who hang the virus are the ones who bother me most because they like to keep their tricks and secrets, like they invented Rosetta Stone, but the plan is for people to look at it.

My view is that if you have completed the entire spreadsheet system from scratch at 1.1, I would have thought it was amazing. But what these people can do is write programs to implement things like throwing stones at people's windows. If everyone can do it, I think I can.

So I did it.

A trick man.

I couldn't stand it any more when I met a virus called AIDS (which was rude). It works by locating the. COM files on your disk (executable programs) and overwriting them so that the next time you try to run them, you run the virus again, and so on. In the end, your entire system will crash. And every time a virus cheats you into running it, it prints out a message to laugh at how foolish you are.

That's what it does! Hide there invisibly and reinstall yourself when you want to remove it. It's scattered all over the corner of your disk waiting for you to run it wrong.

For me, the procedure is like a fart cushion. Worst of all, it was written in Borland Turbo Pascal, so it's 14KB large. At first they were not so big, but when it was done it became 14KB large, making these viruses easily discoverable.

And who wrote to laugh at everyone is a fool effect Ah!

So it became my job. I want to rewrite aids from scratch, only I can do it. I write in C, I will keep it within 666 bytes-a series of brilliant choices, because I am a young genius.

I decided to give my virus a name called leprosy, which is cool, at least better than not having the brain's AIDS. And there's another goal in my head.

Unlike some people who write viruses, they always want to make people jealous that they have invented the wheel-in my opinion it's nothing special-my virus will become open source software. Everyone has, including all of the source code.

I'm sorry, Peter Norton.

My first question is how to construct this thing. At that time my computer was an IBM PC XT with 10MHz of 8088CPU and 640KB RAM. Not a great machine, but more importantly, I really don't know how to program.

I have taught myself C language through books and computer magazines, but it is a universal, high-level way. I really don't know much about PC or MS-DOS. I used to be an Apple fan. We don't have C, we don't even interrupt.

Nevertheless, I have a secret weapon, which is a book called "Peter Norton IBM PC Programmer's Guide". Yes, "The book is like a pink T-shirt." "It tells me I need to know how to write a silent but annoying virus like AIDS.

But I have an extra challenge. I think this program is very small, only 666 bytes. My C compiler, at that time Borland Turbo C, although it allows you to write programs of various storage models, even the smallest executable file, has some overhead because of the startup code. When they start, they parse the command line arguments and do some other tasks. For my purposes, I really don't need these features.

Believe it or not, in those days you can often find a virus, just by searching for it to print out the text. I solved that problem.

The answer to my question, like many answers in those days, appeared in the form of computer magazines. Specifically, the December 26, 1989 issue of the PC Magazine, which printed the assembly language source code to start the program, you can reduce the size of your program to the lowest possible minimum (page No. 297). I didn't really understand it, but it solved my problem, so I used it.

I can also make the executable program smaller by using a bunch of inline assembly language to complete my code. But it's all very simple, just like I thought. And I'm going to add a comment to every line of code so that the novice programmer can see what I'm doing.

And I added some features to make leprosy more powerful than AIDS (brother, it's strange to say) I used a simple encryption of all the text strings, making them difficult to parse with a text editor. Nor is it mocking you, when you run it, it throws a seemingly legitimate system error message in the hope of letting you try to run it again. It will infect more than one file at a time. It knows how to jump to the directory on your disk once it has run out of uninfected files.

If you want to know what I did 25 years ago, really I don't remember, remember I mentioned that this is a public domain virus? I wish the people of the "1337" virus area could laugh at me and then give this software to everyone, and all the kids like me could learn. Whenever I finish writing the code, I'll double the code based on which concept.

I wrote a handbook: https://regmedia.co.uk/2015/09/02/leprosy-manual.txt

Outbreak

Confession time: I have never done anything to do bad things with the leprosy virus. The only person I have ever infected is myself. Because after all, I have to run it and see if it works, I don't? So the first thing I think about is, "Yes, it's working!" My idea is: "A minute later, I need to run it in the same directory as my compiler and all my tools." ”

Lesson. Sometimes they come too hard.

But I don't believe that when I write I never have any malicious intentions. For me it has become your BASIC programming project. I just want to see if I can pull it down. I don't have any enemies, or people I want to hurt. I have no reason to impose it on anyone.

So I gave it to the people who had done it.

Too many iron Maiden: For some reason, my virus only needs 666 bytes to run, which is important to me.

To make a long story short, I gave a guy what I call a forum person, and he doesn't agree with the notion that I'm a noble in the 1337 community. He thinks that leprosy is great, in fact, that no one makes it better. He thought he had a 0day virus in his hands, and he thought it meant he had the right to brag. The first thing he did was to upload an infected file to a forum.

Puppet

In the short term, he got the effect he wanted. The manager of the forum was terrified by his uploads, screaming, shouting, waving all the flags. For a while I did not know who was more excited, whether it was the person who uploaded my virus or the person I had never heard of but infected me with the virus. Both of them seem to think they are famous.

For a long time, of course, this means that in less than 24 hours every anti-virus vendor in the world has a signature leprosy virus. Therefore, it is useless. Died almost at the time of arrival. The source code and manuals are there for people to read and learn, but if you're lucky, you can infect anyone with it.

So I did what a responsible person should do: write another virus program.

Execute Plan B

I've been studying since I wrote the original leprosy, and I'm starting to become more ambitious. So there's leprosy strain B, I'm going to name it this time, instead of writing C, I chose 100% of the assembly language. This gives me more control and is easier to control within the size of section 666 (666 bytes is still important to me).

The first idea that comes to mind is that the original leprosy can be detected immediately because it is visible to everyone. What do we do? After all, I can't keep writing these things.

I decided to encrypt the virus itself, even in a relatively simple way. The method is to generate a random number and use it to xor its own value--a reversible binary operation, which makes the virus difficult to identify because each copy is different.

To be honest, this change may indeed be nothing. However, I imagined that even if part of the code was decrypted, the rest of it would still bring a huge mystery to the anti-virus program, making it difficult to crack it. This is a big challenge for me as a budding programmer, and I have multiplied my confidence by joining this feature.

I need a hobby, so I taught myself 8086 assembly language. Maybe I need a better hobby.

I give this function called "Cybernetic Mutation Technology™", mainly to despise a company called Omen technology, this is a communication software becomes important, but also a hobby registered trademark company. As I said, I was a little too conceited during that time.

So I wrote Leprosy-b, I released it, and the story got a little weird here, because that's when I lost interest in the whole thing. Who knows what distracts me from writing computer virus attention. Horror movie? Job? Or a girl? I lost the time and I didn't do anything since then.

Almost Famous

Since then I have not been aware of the relevant news, until a few years later, when my friend Thad went to college, he found on the Internet a computer virus on the electronic magazine called 40HEX.

The purpose of this "corrupt and dirty Electronic magazine" is to publish the source code of a computer virus so that people can learn more about the virus. In short, this is what happens in the viral community when I first started writing leprosy. And you will not know, the first release of the source code is Leprosy-b, perhaps I inspired them, who knows?

The 40HEX editor wrote: "Although this virus is not known as a magical invention, this simple encryption method is used by all subsequent viruses." ”

This sentence let me leng for two or three minutes, this is true? I don't know what else to do with the virus, because I couldn't see the source code of a virus. As for Leprosy-b, I just dreamed that by making it look a little different each time, my virus was hard to find.

Although this is not really necessary. After all, I'm an open source virus. I have released the source code. And to be sure, hackers around the world have developed dozens of or even hundreds of variants from it.

Some of them have added new features, and some have done even more than I had imagined for personal computers. Some change the text string so that the virus can leave a message for a girlfriend, or someone like a girlfriend, which I think is quite romantic.

The Wasted Youth

40HEX called my virus "not a great miracle" and it was really not, and was never intended to be. Already has the virus, it terminates and resides, infects the boot sector of the hard drive, and when your column directory is, it will disguise itself through a variety of other stealth tricks. However, I still think it cannot be compared with those who write the actual programs that are used to help people do their jobs and organize their lives.

When I wrote the virus in 1990, I never heard of Richard Stallman, the Free Software Foundation or the GNU General Public License (GPL). I learned about it when I left BBS and went online full time.

But a few years later, my Leprosy-b released, while the Finnish guy called Linus Torvalds to release the Linux kernel version 0.12 to the Internet, which, under the GPL, meant it was free software. The GNU project already has a lot of free tools, along this kernel, making it a complete UNIX operating system so you can get it for free. After that, the world began to change quickly.

I missed my chance to be a good and useful part of the world in just a few years. Instead, I'm a cyber-wreck. But ironically, when I started to do a public domain virus that was not known, where the code would be free and available to anyone who wanted it, I had a right idea.

So how did one waste his teenage years and throw stones at other people's computers to occupy the time of his adult life? I think it's obvious. He wrote down the above words for the register.

All-in-one programmer Exchange QQ Group 290551701, gather a lot of Internet elite, technical director, architect, Project Manager! Open source technology research, Welcome to the industry, Daniel and beginners are interested in engaging in IT industry personnel to enter!

A monologue from a teenage computer virus writer

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.