home *** CD-ROM | disk | FTP | other *** search
-
-
- From --
-
- <The Restaurant at the End of the Universe 609/921-1994 10 Megs/1200/2400>
-
-
- ____________________________________________________________________________
- / \
- | HOW TO WRITE A VIRUS PROGRAM |
- | by |
- | The Cheshire Cat |
- \ /
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- For people who have nothing else to do but cause unprecidented havoc
- on other peoples systems, this is something you should read. To begin
- with, I'd like to explain briefly to the ignorant readers of this, what
- exactly a virus program is. A virus program is in the genre of tapeworm,
- leech, and other such nasty programs. I will show clearly, one possible
- application of it, on an Apple system, and I will demonstrate how easily
- this little pest could lead to wiping out most of someone's important
- disks. Here we go!
-
- One day, while I had little else to do, I was reading an computing
- article in some obscure science magazine. As it happened, the article
- discussed a growing problem in the computer community about the danger
- of virus programs. Someone quoted in the article said that they wrote
- a very simple virus program and put it on the univerisity computer as
- a test. All the program did was look through the computers memory,
- and devices (tape drives, hard drives, etc...) for stored programs, and
- when it found one, it would search through the program for itself. If
- it didn't find anything, it would find an empty spot in the program, and
- implant itself. This may not sound too exciting, but this little program
- was actually part of another program (maybe a word processor, or spread-
- sheet, or maybe even zaxxon) and whenever someone ran that program, and
- executed the little virus stuck inside it, the virus would stop program
- execution (for a time period that even us humans wouldn't notice) and do
- its little job of infecting other programs with itself. This example
- of a virus was harmless, but even so, after only 4 hours the whole system
- had to be shutdown and the whole memory core dumped because the virus had
- begun to fill up too much space and it was using up all the mainframe's
- time. I don't think it would have been so easy if this professor had
- just done this experiment on his own and had not got permission or told
- anyone about it. Think of the havoc!!
- Well, that has taken up too much time discussing already, so I'll
- add only one more thing before we get down to business, that REAL
- viruses are extemely BAD. They usually are designed as time bombs that
- start erasing disks, memory, and maybe even backups or the operating
- system after they have been run so many times, or after a certain date
- is reached. Someone did this to a bank one time (and by the way he was
- never caught!) He was given the task of designing their operating system
- and security, and he decided he wasn't getting paid enough, so he devised
- his own method of compensation. Every so often, the computer would steal
- a certain amount of money from the bank (by just CREATING it electronic-
- ally) and would put it in an account that didn't exist as far as the bank
- or the IRS or anybody knew, and whenever this guy wanted, he went to
- the bank and withdrew some money. They aren't sure how he did it, but
- he probably visited the electronic teller as often as possible. As I
- said, the authorities still haven't found him, but after several years
- of his leech program being in service, it "expired." They assume that
- he set it up to destroy itself after so long, and when this little
- program was gone, the bank suddenly was missing several million dollars.
- Now, I wouldn't recommend doing this sort of thing, but then again, who
- said crime doesn't pay?
- Now to discuss the application of this to a Personal Computer is
- very simple. When I decided to do this, I figured it would be easiest
- to stick my program in the DOS, so that I would always know where to put
- another copy of my virus while it was reproducing itself, and that it
- would be easier to explain why the disk drive is running when it starts
- to initialize your disks. For those who have a copy of Beneath Apple DOS
- it would be easy to find the space to put in the program. If you don't,
- I tell you a few places that are not used (or where you can put it and
- it won't be noticed) but I'd recommend getting the book anyways - it's
- an excellent tool for doing these sort of things, and useful even if you
- don't. As suggestions for where to put it (if you choose to infect DOS),
- you could use BCDF-BCFF which is still unused, or BFD9-BFFF, which WAS
- unused, but has since been used in updates of DOS. Likewise, I would
- also suggest using space taken up by junk like LOCK or UNLOCK commands.
- Who the hell ever uses them? Think about it, when was the last time you
- used the lock command? Get real. If you don't like that, how about
- MAXFILES. I've only used that in a program once in my entire life. I
- know people who couldn't even tell you what it does. That would make me
- feel safe about sticking a virus there.
- But now comes the part that will be harder for the inexperienced,
- but easier as long as you know what you're doing. By the way, you've
- been TOTALLY wasting your time reading this if you don't understand
- assembly, because you HAVE TO in order to accomplish a task such as this.
- But, don't fret, you could insert a little BASIC code into some dumb
- utility (like an program whose only function is to initialize disks) that
- would put itself on the disk, as it initializes it (probably as the hello
- program) and would work from that aspect. Of course, it would be easier
- for a less experienced person to detect, but who really cares!
- As I was saying, however, you now have to write the code. If you
- work in an area where you are limited memorywise (like I did) it can get
- tough at times. The only way I got through it was by referring to
- documented listings of all of DOS that I got somewhere, and using bits
- and pieces of routines from other things as much as I could. When I
- was done, I had a copy of DOS that when it was booted into the computer,
- would work completely properly (except for maybe some bizarre circum-
- stances that I didn't bother testing for), but when someone CATALOGed a
- disk, it did a few different things. It would first load up the VTOC as
- usual, but then it would jump to MY routine. In this instance, it was
- very easy to use the VTOC which contains many unused bytes to house my
- counter. I would increment it, check if it was time to destroy the disk,
- and then execute an INIT, or just save the VTOC. Then it would save
- three more sectors to the disk. One was the place where DOS branched to
- my routines, the others were my actual routine. And thus was born a
- virus. I guarentee that if anyone has experienced a problem with their
- disks, it was not my fault because I have not yet implemented the virus.
- No one has pissed me off enough to warrant its use. Even worse is the
- fact that it could backfire (after being distributed across the country,
- I don't doubt I'd end up with it also) because not only was it very well
- planned, but you don't even notice any sort of a pause. The virus
- executes itself so fast that there is little more than a microsecond of
- a pause while the catalog is going on. I tried comparing it to a normal
- catalog, and found I couldn't tell the difference. The only way this
- thing wouldn't work is if the disk it was cataloging wasn't DOS 3.3, and
- if that happened, it would probably screw the disk anyways. I know
- there are people who will abuse this knowledge, so you may wonder why I
- even bothered writing it. The fact is that it isn't important to shield
- people from this knowledge, what is important is for people to know that
- can be done, and perhaps find a way to prevent it. Just consider what
- would happen if someone starting putting a virus in a DDD ][.2. First of
- all, everyone would get a copy of it and use it. Only a few would be
- that interested to check what these new updates to it were. And perhaps
- within a month, whenever you tried to unpack a program, it would instead
- initialize the disk with your file on it. So, like I said, beware of
- those that would jeapordize themselves and would do such a thing. Of
- course, I wouldn't hesitate to drop my "bomb" on a few leech friends of
- mine who don't have modems, but thats a different story. I don't have
- to worry too much about getting the "cold" back from them. They'll be
- too screwed up to worry about trading disks. Well, I've said too much
- already. Please keep my name on this file if you put it on your BBS,
- ect..., but I don't really care if you want to put your local AE line
- number, or whatever up at the beginning too, just give me credit where
- I'm due. Thank-you, and good luck, and, as I said before, be careful
- out there!!
-
- FROM -- THE CHESHIRE CAT
- written: 12/30/85
- =-=-=-= If you need to reach me for more information, try E-mail on =-=-=-=
- =-=-=-=-=-=-=-=-=-=-= OSB systems (215)-395-1291 =-=-=-=-=-=-=-=-=-=-=-=-=-
- =-=-=-= I may offer a listing of my virus's coding if there is =-=-=-=-=-=-
- =-=-=-= significant interest. But I leave you now, The Cheshire Cat -=-=-=
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
- L5>