The virus infects only program files with the extension COM, increasing the size of the programs by 498 bytes. Virus infects only files in the current directory - this means that if an infected program is executed from another directory with a full pathname, the virus will be able to travel from a directory to another.
For example, if mouse driver is executed from AUTOEXEC.BAT with line like C:\MOUSE\AMOUSE.COM, the virus will infect files in the root directory, because AUTOEXEC is executed from the root directory.
The virus will also infect files that have internal EXE-file structure, but have been renamed to COMs. This happens because the virus does not check the internal structure of the files at all. Such files are damaged by the virus and they will not execute normally after the infection.
When the virus is searching for a victim file to infect, it makes the following checks to the files:
o File must not be already infected. Virus will mark the infected
files by placing characters 'JSB' at the start of the file (in
offset 3 from the start of the file)
o The file must be larger than 15 bytes
o The file must be smaller than 64513 bytes - the virus checks
this in order to keep the infected files size smaller than the
upper size limit of COM files, which is 64 KB
When the virus has found a suitable victim file, it will be infected by changing the first 16 bytes of the file and appending the actual virus code. Next time the program is executed, it will spread the infection further. Virus will not stay resident in memory, but it will only spread when infected files are executed. Infected files can be transferred from a computer to another via any channel that allows the exchange of executable programs. These include floppy disks, networks and modem connections.
J.S. Bach -virus will also infect files that have been protected with DOS Hidden or Read- Only attributes. The virus will not update the date or time fields of the files. Virus includes the text strings 'J.S. Bach by TXQ', but this text is never displayed.
The virus does not contain a critical error handler. Due this, a write-protection error will be displayed, if the virus tries to infect a file on a write-protected floppy.
Every time the virus is executed, it will check the current date. If the year is 1993, and the day is above 20th of any month, the virus will activate. It will install a tiny routine to be resident in memory, and this routine will control all disk activities. If the year is not 1993, the virus will always activate.
This routine is installed to low DOS memory, and it overwrites a part of the interrupt vector table. The routine cannot be seen in memory with most memory mapping utilities, and it does not consume any DOS memory. The BIOS disk interrupt INT 13h will be redirected to this routine. Every time INT 13h is called, the virus will increment a counter.
One of every 200 disk access requests is redirected to point to first physical drive (typically floppy drive A:) instead of the original disk. This will cause the floppy drive A: to spin occasionally when the virus is active.
The damage caused by this routine is not easily estimated. A likely result of this routine is that a large amount of data on the hard disk gets corrupted. This happens, for example, when a program or DOS itself is reading the allocation info or the directory information, and the virus redirects the read request to the floppy drive instead of the hard drive. Later, information that is based on this wrong data is written to the hard disk, causing random corruption. A corruption like this is quite fatal, since one can not determine, which data is ok and which is corrupted. In most cases the backups are also corrupted.
The structure of the virus is quite simple, but destructive.