Detect Date 11/20/2003
Class Virus
Platform DOS

This is a memory-resident stealth virus, 4096 (1000h) bytes long. It infects files upon execution or closing. Contamination of data-files is also possible. The virus completes its copy in such a way that the size of an infected file will grow exactly by 4096 bytes (see “Eddie.2000”). In infected files, the virus makes the time of the last modification increase by 100 years. In COM-files, it alters the first 6 bytes, and in EXE-files it alters the header.

Upon entering the files, “Frodo” uses the true values of interrupt vectors 13h and 21h, which it receives using the “Yankee”:algorithm. In addition to this, “Frodo” modifies the first 5 bytes of the INT 21h handler.

When creating its TSR-copy, the virus occupies the top addresses that results in infecting the COMMAND.COM file. “Frodo” sets the owner address in its MCB, coinciding with the address of the first MCB owner in the system, masking it in such a way as DOS. Later, the copy of the virus might move through the memory in the direction of lower addresses, allocating new memory areas and clearing old ones.

A genuine stealth virus: intercepts INT 21h, handles 20 (!) functions of it (FindFirst, FindNext, Read, Write, Lseek, Open, Create, Close, Exec etc.) and effectively masks itself. When DOS tries to access an infected file, the virus substitutes its original length and the last modification time. Upon reading or loading a file into the memory, it modifies the information read from the disk in such a way that the file appears as though it is uninfected. Upon opening an infected file for writing, the virus cures it (because writing to the file might delete part of the virus), and reinfects it upon closing.

The virus runs itself from September 22nd until December 31st every year. It is not known how the virus runs itself, because the corresponding area of the virus code happens to be deleted. It may be assumed that the virus deletes the Boot-sector of a floppy-disk and the MBR-sector of the hard disk, writing its own code there. Upon rebooting from such a disk, the screen displays (using pseudo-graphic symbols) the message “FRODO LIVES!” in large letters.