Newbies Corner:

"You must touch it or you won't get good at it!"


	So you've found that you have an interest in writing viri.  You
are already to go except for one or two small details.  You don't know
how to program and you have no idea where to start.  The good news is,
since you are obviously reading this right now, you may find a clue or
two by the time you get to the end.  
	You should not feel to bad for not knowing what to do first.  It
is true that until someone tries something and then tells or shows
someone else how to do that something, the people who didn't try it in
the first place won't know what to do until they are shown the way.  Step
1 to becoming a cool hacker/virus writer/programmer/anything type person
is to try to be more and more like those who try it first.  Your mind was
probably in the gutter when you first read the title of this article, but
now you may be able to see where I am heading.  Don't be the guy in all
the news groups and chat rooms that is always asking, "How do I do this?"
and "What happens if I do that?".  Don't get me wrong.  It is alright to
ask for help.  The difference is trying and failing, researching and
failing, and testing and failing and then asking for help as opposed to
not even making an attempt at trying and then asking for help.  What you
will find is that after trying, researching, and/or testing, you will
often be the source of answers for your own questions.  There are even
variations on this.  I will give myself as an example.  I have a bad
habit of reading and researching and reading more and researching more. 
What this tends to do is overload my mind with information that doesn't
always stick to well because I have no experience that makes the
information meaningful. I read and read about how to use the group
pseudo-op in assembler in order to sort of mesh the data segment and code
segment into one segment.  That was all fine and good until I actually
tried to write something.  The good thing is, I made myself try it before
getting help from outside sources. I wound up figuring it out on my own. 
I learned quite a bit in the process too.  That is one of the wonderful
things about trying things on your own.  When you work to hit a goal, you
usually will pick up valuable information and/or experience on the way.
	There are a handful of ways to get started on programming viri. 
The avenue I took was to get a bunch of books and start reading.  Note:
If you start out this way, don't wait forever to start actually coding. 
I am trying to drill in you the point that you should get hands on
experience because it is that which will give you the most skill.  It is
good to read and research, but it is better to actually do it.  Both
together make for very good results. 
	Another way to get started is to join a good virus writing group
such as the Codebreakers.  Don't just join any old group.  Make sure to
read their mission statement so you can see what there goals are.  A
group like the Codebreakers will be one that is out to teach and make
available knowledge of much, but in this case, mostly information on how
to write viri.  You will find that some groups are out to cause
destruction and act with malicious intent.  Virus writing does not have
to mean writing code that will delete someone's files or be the cause of
loss of data.  It can be a way to gain a deeper understanding of how
computers work.  It can be a way to express yourself or be artistic. 
Some programmers do not see writing programs as a form of art or
expression, but I disagree.  A lot of virus writers use assembly to write
their programs.  It is very impressive to be able to tell people that you
program in assembly.  The only downside to that is some people
immediately associate you with malicious virus writers when they find out
that you work with assembly.  When you are part of a group of virus
writers, you tend to get exposed to different forms of virus writing and
programming.  You will likely see Word macro viri, assembly viri, C and
C++ viri, and basically anything you can program with.  I knew someone
who could write viri in dBASE.  The point here is that if you are part of
a good virus writing group, you have access to a well of knowledge.
	One of the first things you should do to get started on virus
writing is to look at other peoples code.  It is not dishonest as long as
you learn from it and don't pirate it.  It is possible for someone to be
experienced with programming and not have the first idea how to write a
virus.  The best way to get some ideas is to look at virus code.  The
more code that you can find with comments and explanations in it, the
better.  Code that is not commented won't tend to help you much until you
get a little experienced with virus writing.  If you are not used to
looking assembly code, you might as well be trying to read a foreign
language.  As a matter of fact, that is what assembly is to someone who
has not learned how to program with it.  Comments and description of code
is endlessly helpful in the beginning learning stages.  After a while,
you will learn to read the code without relying on comments and in some
cases, the comments will get in the way.  Whatever you do, don't run a
virus that you have downloaded.  It should be obvious why.
	If you are lucky enough to know someone who has experience
programming, they can help you a ton.  Even luckier than that, if you
know someone who has experience writing viri, you have got it made.  In
most cases though, this is not the case.  The best approach, above all,
is to combine your resources.  Get some literature, download virus code,
join a good virus writing group, and most importantly...touch it or you
won't get good at it. Finding virus code is easy.  You can basically use
your favorite search engine to locate virus links.  To find a good virus
writing group, you can do the same, but be sure to discriminate in order
to find the right group for you.  My intent for writing this article is
to help people find information, not to help them find a catalyst for
destruction.  To get started coding right away, you do not need to
purchase a compiler.  You can download a bunch of different compilers
from the net.  I like to use tasm, but other people like to use A86,
masm, or something of the like.  Again, you can find one that you like
simply by searching the web for assemblers.  As far as books go, if you
don't have a lot of money, don't be afraid to use the library.  I
personally did not have much luck finding good books on assembly, but I
think that may be because of the area I am in and the libraries that I
tried.  I was lucky enough to happen across a bunch of books that turned
out to be a great source of knowledge. Some good ones that you may want
to start off with are books by Peter Norton such as "Peter Norton's
Assembly Language Book for the IBM PC". He tends to lean towards .com
programs more than anything else from what I noticed.  Books from the
Waite Group tend to be real good about putting things in to context that
you can understand.  Especially if you can find ones written by Robert
Lafore like the "Assembly Language Primer for the IBM PC & XT.  He is
sort of the opposite of Norton in that he likes to show you how to write
.exe programs. A book that is really good for getting to know your PC and
learning good assembly code structure is the "Advanced MS DOS
Programming" book. It is a Fabulous resource. One other book I will
mention is "Advanced Assembly Language" by Allen L. Wyatt, Sr.  This book
is good for getting into TSR programming, drivers, and serial
communications.  Now go start coding.  Until next time... PLAY HARD! But,
be nice.

			by:  AmadEUS


