-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=                                                       =-=-=-=-
-=-=-=-=           The beginner viruswriter's toolbox          =-=-=-=-
-=-=-=-=                                                       =-=-=-=-
-=-=-=-=                       Kalkin/EViL                     =-=-=-=-
-=-=-=-=                                                       =-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Haven't seen any of those lately so here's one.
OK, that's what you as a beginner viruscoder need (purely my opinion):

- a computer (doesn't have to be your own, just one you can mess with).
  Perfect would be if it's a 2nd (or 3rd) machine which carries no
  important/expensive stuff. Should be equipped with a common OS (Win9x/2K/NT,
  Linux, even MacOS, just not DOS coz this one's dead) and a harddrive large
  enough to contain all the following stuff.
- a programming environment (NASM/ALINK, MASM, TASM32/TLINK32, Visual BASIC,
  Delphi, C++, HIEW (if you're an ASM guru), whatever, even Word or Excel)
- some material about the chosen programming language (Win32 API reference
  or 'how to write advanced HTML' for example).
- some material about the target format (description of PE/NE/LE/LX EXE,
  HTML, ARJ/RAR/ZIP/ACE/LZH archives, ELF, etc.).
- a good/fast text editor if you stick with ASM, VBS or HTML (or when you
  don't like the IDE of others).
- a debugger. As 'the virus' is a somewhat advanced piece of code (sortof)
  then you'll probably need to debug it a little bit to get it working the
  way you want it to (or if you want to test the virus' anti-debugger code).
  SoftICE is by far the best there is but it's somewhat hard to come by. A
  second choice could be TR for Win. If you stuck with DOS (against my
  advice) then use TR for DOS or DeGlucker.
- a dissembler is optional because most of the Win viruses are distributed
  as source code so there's no need to mess with the binaries. But if
  you really want then W32Dasm is quite popular. For DOS: the once famous
  Sourcer is really good.
- a good hex editor might come handy (I don't use Win so I can't recommend
  any  :(  but for DOS there're HIEW/BIEW/QVIEW).
- every piece of vx-zine you can get. Even in the lamest/smallest one you
  might find something useful/interesting/informative.
- every AV (might it be a TSR/VXD/runtime scanner, cleaner or blocker)
  for the target OS you can find. Firstly just to see how good is your virus
  generally compared to the AVs so you could improve it. And for second (in
  case you plan to spread your creation): you can never know that this dude
  who's exotic blocker stopped your virus wouldn't have infected another
  million computers. If you can find one then get your hands on a scanner
  which lets you add new signatures (for cases when your new virus breaks
  free in your own system or you want to impress a really nice girl  :)
- VSUM, AVPVE, Viren Bibel, F-Prot 2.x and every other virus encyclopedia.
  You might find some good ideas from them and take care that the name of
  your virus is unique.
- VDAT to get information about every group/mte/zine there is, was or will
  ever be...
- article 'Naming your virii'. I don't remember the author nor the zine where
  it was published but it lists the points which you should keep in mind
  when choosing the name for your creation (or don't you want AV and the
  rest of human kind to call your virus with the name YOU picked?)
- every source you still don't have after getting all those zines
- all compiled viruses you can find (you probably have your own viruses
  laying on the HD anyway so why not make them the first in your collection).
- if you decided to begin collecting then you need a virus sorting utility.
  VS2000 is not bad for this purpose. From own experiences I can recommend
  Tally's Virus Keeper 1 for virus maintaining.
- a backup program or archiver for your documents (if your programs are not
  on CDs then you'll need to backup them too), coz, quotation from 40hex,
  "We all fuck up sooner or later".
- a hex calculator (or the corresponding software) can be useful
- Internet access. It should actually have been the second (or even first)
  point, coz you can get everything else from the Net (even the computer  :)
- a brain (useful not only in virus coding) although it's not necessary  :)
- the will to learn, so you won't be a wannabe/ripping lamer till the end
  of your VX-career
- common sense to be careful so CIH 4000 (which you've just coded) wouldn't
  blow up your own computer or if it wipes the HD of every major server
  on the Net you won't get caught
- a sense of humor, so you wouldn't take it all to seriously and wouldn't
  'crash' just because some people think that you're the anti-Christ now
  or because you have a little more HD crashes (the last is optional  :)
  Humor also helps against thoughts to use viruses to destroy Pentagon or
  conquer the world  :)
- anything else which could be useful for creating a coding environment
  (Coca Cola, a sandwich, Marilyn Manson screaming through the speakers,
  Stargate SG-1 from TV or a broken TV, whatever...)