This type of virus infects EXE files. An EXE file is a binary
executable file. EXE files can be 16-bit and 32-bit. 16-bit
executable files contain for 16-bit operating systems such as DOS
and Windows 3.xx. The 32-bit executable files are used in modern
operating systems such as Windows. Both 16-bit and 32-bit
executable files have headers. A header is a data area that
preceedes an executable code and contains vital information about
a file (for example all headers contain entry point addresses -
the place where execution of a file starts).
An EXE infector can be prepending (writes itself before the
original file), appending (writes itself to the end of the
original file), overwriting (overwrites the original file with
its own code), inserting (inserts itself into gaps inside the
original file), companion (renames the original file and writes
itself with the original file's name) and cavity infector (writes
itself between file sections of 32-bit file). An EXE infector can
be memory resident and non-memory resident. Memory resident
viruses stay active in memory, trap one or more system functions
(usually interrupt 21h or Windows file system hooks) and infect
files while they are accessed. Non-memory resident viruses search
for EXE files on a hard disk and infect them.
An EXE infector can be non-encrypted, encrypted or polymorphic.
An encrypted or polymorphic virus consists of one or more
decryptors and a main code. A decryptor decrypts main virus code
before it could be started. Encrypted viruses usually use fixed
or variable key decryptors while polymorphic viruses have
decryptors that are randomly generated from processor
instructions and contain a lot of commands that are not used in
decryption process.
Writeup:
Alexey Podrezov, July 14th, 2003;
Description Updated:
Alexey Podrezov, May 24th, 2004;