the Art of Virology 01h
backbone spilled these bits on November 28th 2006 @ 10:56 am

In this part we will discuss the basic framework of a computer virus… The basics of a virus consists of two elementary procedures (others will tell you three). These are:

  • a search routine
  • a infection routine
  • [anti-detection routines]

The search routine

This routine will have to be a more delicate one [but not hard to analyze at all], because as besides the search routine itself we will include file validation two, we will check within this routine if the file is read-only file, not as in some cases in which I saw that the virus search the file, found it and only when trying to infect it he realised that is read-only, and if no check done for it the virus would crash.

The infection routine

The trivial routine in a virus, because we do not need a search routine if we say for example we make a list of wanted to infect files, this routine (in COM viruses) will only write the whole virus in the host program and write a jump to it at the start of the file… simple don’t you think?

Pseudo-Code Virus

I know it’s the second article and what do you get? only a pseudo-code virus, but be pacient because I’m not so trustful to think that you have already read the book I recommended you in the first part… so wait until the 02h will be out; till then let’s check out our first virus:

virusName "infant-alfa"      
virusAuthor "backbone"     

begin
   SEARCH:
      if find_com_file is true then INFECT
      else SEARCH
   INFECT:
      if file_read_only then SEARCH
      else OPEN_WRITE
        OPEN_WRITE:
           write_virus from virusName to FINISH
           write jump to virusName at start_of_host_program

           //jump in machine-code = 0e9h

           if write_ok goto FINISH
           else SEARCH
   FINISH:
end

If you don’t like it in pseudo-code, maybe you’ll like it in Pascal, so dowload Dirty Nazi Virus Generator and create a virus to analyze… I didn’t try them out but in theory it should work fine… if you don’t have a pascal compiler you can try freepascal

What more do I need to know before actually starting to write viruses?

This is an excellent question because even if the actual search and infect routine are simple to build in assembly, the DTA (Disk Transfer Area) is a little hard to understand so i’ll give you a book which will jump in your help (I advice you to read only the DTA part because the rest of it and even more I’ll treat them myself)…

The Little Black Book Of Computer Viruses

Almost forgot to mention, the password to the archive is Ludwig with the big L.

Another bitter end…

So this second part of the Art of Virology which is a bit easier to diggest than the first one, has finally ended. See you next time and hope that by the next chapter you have learned asm and read about the DTA… till then take five…

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to StumbleUpon

Tags:  ,  ,  ,  ,  

rss Subscribe to Darknet RSS Feed rss

| 4,653 views |

comments are closed
  1. November 28th, 2006 | 5:28 pm

    Link doesn’t work.

  2. Full Stomach
    November 29th, 2006 | 2:11 am

    Hi,
    Thanks for the series, its greatly appreciated. The book looks interesting on initial glances.

  3. November 29th, 2006 | 5:05 pm

    hey hobot, have you ever heared of proxyes? :)

  4. this guy
    December 1st, 2006 | 5:10 am

    Not bad article just spend a little more time with the proof reading. grammer needs work and its not ‘pacient’ its patient.

  5. trackback

    Week’s Links…

    DNS Security and Threat Mitigation: An Overview of Domain Name System Threats and Strategies for Securing a BIND Name Server
    New and Improved Honeynet Tools availabilitythe Art of Virology 01hWriting Worms for Fun or ProfitModSecurity Blog Why So Man…

  6. December 15th, 2006 | 6:14 am

    I have fixed the links and hosted the files here.

Sitemap - ShaolinTiger - DigiSniper - Digital Photography
Shutter Asia Photography Forum - We Ate This