Top Nav

the Art of Virology 01h

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:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

virusName"infant-alfa"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

virusAuthor"backbone"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

begin

SEARCH:

iffind_com_file istruethenINFECT

elseSEARCH

INFECT:

iffile_read_only thenSEARCH

elseOPEN_WRITE

OPEN_WRITE:

write_virus from virusName toFINISH

write jump tovirusName at start_of_host_program

//jump in machine-code = 0e9h

ifwrite_ok gotoFINISH

elseSEARCH

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)…

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…

Trackbacks/Pingbacks

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…