HLLC (High-Level Language Companion) is a category of viruses written in high level programming language, such as Pascal, C, C++ or Basic. These viruses do not overwrite any file, but they would create new files containing themselves so that the user might not notice.
HLLC viruses are usually not memory resident, they select a random file by capturing its filename on runtime, and then to place a file containing the virus. The users might not notice that it is a virus program and they might run them as usual.
For any two executable files sharing the same filename in MS-DOS, if the user does not specify which file to run by typing the extension, the DOS executable always run first.
For example, there are both BAR.COM and BAR.EXE in the same directory, if the user issues:
As a result, BAR.COM will run first.
The virus takes this advantage, so their target are EXE files instead of COM. By dropping itself into a new DOS executable file with the selected EXE file's name. When the user run that program, the virus would execute first, and then the host program.
Not every variant contains a payload.
There are 207 known variants under this category.
See separate article: List of HLLC viruses