| Description:
|
Details
Ply.5175
This is a dangerous, non memory-resident parasitic virus. It searches for all EXE files in the current directory, then writes itself to the end of the file.
The virus is not encrypted, but it appears as polymorphic virus. Its codes in different infected files have very few constant bytes, and as a result, there is no constant scan-string to detect this virus. To do this, the virus uses a rather complex engine that "mixes" the code in the virus body.
The virus contains three blocks: the main code, data, and redirected calls.
+----------+
Main Code
----------
Data
----------
Redirected
Calls
+----------+
All assembler instructions in the main code are not more than 3 bytes in length, and all instructions occupy three bytes in the virus code. If the length of instruction is less than 3 bytes, free bytes contain NOP instructions. As a result, all instructions in the viruses occupy 3-bytes blocks.
While infecting a file, the virus "move" the instructions to the 3-bytes block, if there is a NOP command, then:
8C C8 MOV AX,CS <--> 90 NOP
90 NOP 8C C8 MOV AX,CS
There are also data that contain 6-byte blocks to copy the instructions to redirected calls and replace them with CALL or JMP commands:
Replaced with CALL Replaced with JMP Original code
------------------ ----------------- -------------
E8 xx xx CALL -+ <--> E9 xx xx JMP -+ <--> 90 NOP
all <----+ ... <----+ 8C C8 MOV AX,CS
... ...
... V ... V
8C C8 MOV AX,CS 8C C8 MOV AX,CS
90 NOP 90 NOP block<
C3 RET ---+ E9 xx xx JMP back -+
Therefore, any instruction can be shifted in the 3-byte blocks, it can be copied to a randomly selected address in the virus, and then replaced with a CALL or JMP command, and existing CALLs and JMPs redirectors can be replaced with the original code. No byte is encrypted, and there are very few constant bytes to detect the virus.
Such a complex engine is not bugs-free, and the virus often corrupts files while infecting them.
The virus checks the names of the files before infecting them, and do not infect the following files:
AVP AVPLITE AVPVE BAIT EICAR EMM386 F-PROT FV386 FV86 MSAV MVTOOL10 SCAN
TBSCAN TBAV TBCHECK TBCLEAN TBDISK TBDRIVER TBFILE TBGENSIG TBKEY TBLOG
TBMEM TBSETUP TBSCANX TBUTIL VALIDATE VIRSTOP VIRUS VPIC VSAFE
This virus deletes the NCDTREE file, if it exists. |